System console is back

This commit is contained in:
Eryn Wells 2016-02-28 22:49:45 -05:00
parent 945ad0e907
commit 94a8f74ada
3 changed files with 21 additions and 8 deletions

View file

@ -30,15 +30,19 @@ makeVGAEntry(char c,
}
/*
* Public
* Static
*/
Console::Console()
: mBase(reinterpret_cast<uint16_t *>(0xB8000)),
mCursor{0, 0},
mColor(makeVGAColor(Console::Color::LightGray, Console::Color::Black))
{ }
Console &
Console::systemConsole()
{
static Console sSystemConsole;
return sSystemConsole;
}
/*
* Public
*/
void
Console::clear()
@ -114,6 +118,13 @@ Console::setColor(Console::Color fg,
* Private
*/
Console::Console()
: mBase(reinterpret_cast<uint16_t *>(0xB8000)),
mCursor{0, 0},
mColor(makeVGAColor(Console::Color::LightGray, Console::Color::Black))
{ }
void
Console::putEntryAt(size_t x,
size_t y,

View file

@ -41,7 +41,7 @@ struct Console
static const size_t Width = 80;
static const size_t Height = 25;
Console();
static Console &systemConsole();
/** Clear the console to the provided color. */
void clear();
@ -60,6 +60,8 @@ private:
Cursor mCursor;
uint8_t mColor;
Console();
void putEntryAt(size_t x, size_t y, char c, uint8_t color);
void scroll(size_t lines = 1);
};

View file

@ -15,7 +15,7 @@ extern "C"
void
kearly()
{
kernel::Console console;
auto console = kernel::Console::systemConsole();
console.clear(kernel::Console::Color::Blue);
console.writeString("Loading system ...\n");