summaryrefslogtreecommitdiffstats
path: root/arch/x86/io
diff options
context:
space:
mode:
authorAlexey Gavrilov <90127298+rebovas@users.noreply.github.com>2024-04-10 13:12:08 +0700
committerGitHub <noreply@github.com>2024-04-10 13:12:08 +0700
commit0a50b1758fd3da118408fd724825d0a50a9ecf17 (patch)
tree783ed019c87c3c9624a1a13f68c7bafc4c146dfb /arch/x86/io
parent9ad5b9b6a1f8d641ac13f7c004afd6ea9bff50ee (diff)
parent0c56a0300b7ffbab787a4c974bc164d9a2a57ad2 (diff)
Merge pull request #8 from rebovas/msr
Msr + interrupts implement + crude implementation of IDT filling
Diffstat (limited to 'arch/x86/io')
-rw-r--r--arch/x86/io/VGADisplay.cpp9
-rw-r--r--arch/x86/io/VGADisplay.h2
2 files changed, 10 insertions, 1 deletions
diff --git a/arch/x86/io/VGADisplay.cpp b/arch/x86/io/VGADisplay.cpp
index ceb4862..7246102 100644
--- a/arch/x86/io/VGADisplay.cpp
+++ b/arch/x86/io/VGADisplay.cpp
@@ -137,3 +137,12 @@ bool VGADisplay::printChar(const char &c)
}
}
};
+
+void VGADisplay::clearScreen()
+{
+ xCurr = yCurr = 0;
+ videoMem = (dchar *)VGADisplayInfo::videoMemAddr;
+ uint16 maxPos = VGADisplayInfo::height * VGADisplayInfo::width * 2;
+
+ for(uint16 pos = 0; pos < maxPos; pos++) *this << ' ';
+};
diff --git a/arch/x86/io/VGADisplay.h b/arch/x86/io/VGADisplay.h
index 326ae95..562b1ae 100644
--- a/arch/x86/io/VGADisplay.h
+++ b/arch/x86/io/VGADisplay.h
@@ -35,10 +35,10 @@ class VGADisplay
void setColor(char colorAttr);
void setBlink(bool blinkAttr);
void setBright(bool brigthAttr);
+ void clearScreen();
};
// Global variables
-
namespace out
{
extern VGADisplay display;