1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 13:27:35 +00:00

Start working on virtual consoles/TTYs.

This is a mess right now, but I'd rather commit as I go.
This commit is contained in:
Andreas Kling 2018-10-30 13:59:29 +01:00
parent bd2b5327d0
commit 68739dc43e
22 changed files with 611 additions and 344 deletions

View file

@ -12,13 +12,23 @@ void vga_scroll_up()
{
InterruptDisabler disabler;
memcpy(vga_mem, vga_mem + 160, 160 * 24);
memset(vga_mem + (160 * 24), 0, 160);
vga_clear_row(24);
}
void vga_clear_row(word line)
{
InterruptDisabler disabler;
word* linemem = (word*)&vga_mem[line * 160];
for (word i = 0; i < 80; ++i) {
linemem[i] = 0x0720;
}
}
void vga_clear()
{
InterruptDisabler disabler;
memset(vga_mem, 0, 160 * 25);
for (word i = 0; i < 25; ++i)
vga_clear_row(i);
}
void vga_putch_at(byte row, byte column, byte ch)