From 4ce97046e3a0ca5898732cf3d5b487b92c3b7f80 Mon Sep 17 00:00:00 2001 From: spikey Date: Sun, 18 Feb 2024 07:58:59 -0500 Subject: [PATCH 1/2] my changes --- sys/drv/vga/include/video.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/drv/vga/include/video.h b/sys/drv/vga/include/video.h index f3e663e..0dbf628 100644 --- a/sys/drv/vga/include/video.h +++ b/sys/drv/vga/include/video.h @@ -5,7 +5,7 @@ #define VGA_SIZE 4000 #define VGA_TEXT_SIZE 2000 -s32 unused = 0; +s16 unused = 0; s8 *vga_vidmem = (s8 *)0xb8000; s8 vga_unused = 0; From 83e976192570d524539db0f4ce99e07f709910bf Mon Sep 17 00:00:00 2001 From: spikey Date: Sun, 18 Feb 2024 08:39:13 -0500 Subject: [PATCH 2/2] VGA ORKSJREKWJFDCKLEJFK:JSDOIOIPIKJSLUDOU --- sys/sysinit.c | 42 ++++++++++++++++++++++++++++++++++++++++-- sys/video.c | 13 ++++++------- 2 files changed, 46 insertions(+), 9 deletions(-) diff --git a/sys/sysinit.c b/sys/sysinit.c index 07842e9..9771517 100644 --- a/sys/sysinit.c +++ b/sys/sysinit.c @@ -3,8 +3,46 @@ void sysinit(void) { - char *howdy = "Om Smart"; + char *howdy = "Om Smart."; + char *howday = "Om Smarter."; vga_clearscreen(); - vga_write(howdy, strlen(howdy), 0x1f); + /* + for (s16 i = 0; i < 100; i++) { + vga_write(howdy, strlen(howdy), 0x1f); + vga_write(howday, strlen(howday), 0x0f); + } + + vga_write("sid", 3, 0x07); + vga_write("did", 3, 0x07); + vga_write("fid", 3, 0x07); + */ + + vga_write( +"Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter." +"Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter." +"Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter." +"Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter." +"Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter." +"Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter." +"Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter." +"Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter." +"Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter." +"Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter." +"Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter." +"Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter." +"Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter." +"Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter." +"Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter." +"Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter." +"Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter." +"Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter." +"Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter." +"Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter." +"Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter." +"Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter." +"Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter." +"Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter." +"Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter.Om Smart.Om Smarter." +"bob", 2003, 0x0F); } diff --git a/sys/video.c b/sys/video.c index 93de120..07c8392 100644 --- a/sys/video.c +++ b/sys/video.c @@ -7,22 +7,21 @@ vga_write(s8 *sequence, s16 size, s8 flags) if (size > VGA_TEXT_SIZE) { s16 using_size = size - VGA_TEXT_SIZE; - for (s16 i = 0; i <= VGA_SIZE; i++) { - vga_vidmem[i] = sequence[using_size + i]; - vga_vidmem[++i] = flags; } + for (s16 i = 0; i < VGA_TEXT_SIZE; i++) { + vga_vidmem[i * 2] = sequence[using_size + i]; + vga_vidmem[i * 2 + 1] = flags; + } - unused = 4001; + unused = 4000; return; } - if (size * 2 + unused >= VGA_SIZE) { + if (size * 2 + unused > VGA_SIZE) { s16 needed_space = size * 2; for (s16 i = 0; i <= (unused = VGA_SIZE - needed_space); i++) { vga_vidmem[i] = vga_vidmem[needed_space + i]; } - unused--; - unused--; } for (s16 i = 0; i < size; i++) {