diff --git a/sys/drv/vga/include/video.h b/sys/drv/vga/include/video.h index 9cc28b1..6e9b501 100644 --- a/sys/drv/vga/include/video.h +++ b/sys/drv/vga/include/video.h @@ -4,6 +4,7 @@ #include #define VGA_SIZE 4000 +#define VGA_TEXT_SIZE 2000 s32 unused = 0; s8 *vga_vidmem = (s8 *)0xb8000; diff --git a/sys/drv/vga/video.c b/sys/drv/vga/video.c index 50c52a4..d4a0d69 100644 --- a/sys/drv/vga/video.c +++ b/sys/drv/vga/video.c @@ -4,17 +4,18 @@ void vga_write(s8 *sequence, s32 size, s8 flags) { - if (size > VGA_SIZE) { + if (size > VGA_TEXT_SIZE) { s32 using_size = size - VGA_SIZE; for (s32 i = 0; i <= VGA_SIZE; i++) { vga_vidmem[i] = sequence[using_size + i]; + vga_vidmem[++i] = flags; } + unused = 4001; return; } - while (*sequence != '\0') { vga_vidmem[unused++] = *sequence; *sequence++; diff --git a/sys/include/memory.h b/sys/include/memory.h index 88a31a7..715c7fd 100644 --- a/sys/include/memory.h +++ b/sys/include/memory.h @@ -1,4 +1,4 @@ -#ifndef MEMORY_H +8 ifndef MEMORY_H #define MEMORY_H #include diff --git a/sys/sysinit.c b/sys/sysinit.c index 9d57aa0..e900b88 100644 --- a/sys/sysinit.c +++ b/sys/sysinit.c @@ -2,5 +2,6 @@ void sysinit(void) { vga_clearscreen(); - vga_write("Om Smart.", 0x0F); + vga_write("Om Smart.", 9, 0x0F); + vga_write("Om Smarter.", 11, 0x0F); }