X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=3sys;a=blobdiff_plain;f=sys1%2Fkern%2Fsrc%2Fmain.c;h=00d3882b0cb59db2d39f3dae61272cdeb185f913;hp=f0441e587454a56bb320222b85721dfe0c03c55b;hb=a9ac2db02f009e086df85d25dc9b32452f259538;hpb=d49aa763f9b7c4ae66cf80f0cbfc3456789fc0ac diff --git a/sys1/kern/src/main.c b/sys1/kern/src/main.c index f0441e5..00d3882 100644 --- a/sys1/kern/src/main.c +++ b/sys1/kern/src/main.c @@ -12,11 +12,31 @@ void drawtext(int x, int y, const char *s) void kmain(void) { + int i, row; + int line, scroll; char buf[64]; + char twirl[] = "-\\|/"; vga_reset(); - vga_setcolor(VGA_YELLOW | VGA_BRIGHT, VGA_BLACK); - sprintf(buf, "kmain addr: %p", (void*)kmain); - drawtext(10, 5, buf); + line = 0; + for(;;) { + scroll = line <= 24 ? 0 : line - 24; + row = line <= 24 ? line : 24; + sprintf(buf, "line %d (scroll %d [%d])", line, scroll, scroll % 25); + vga_scroll(scroll); + if(scroll) { + vga_clearline(24); + } + vga_setcolor(VGA_YELLOW | VGA_BRIGHT, VGA_BLACK); + drawtext(line & 7, row, buf); + + for(i=0; i<65536 * 4; i++) { + buf[0] = twirl[(i >> 18) & 3]; + buf[1] = 0; + vga_setcolor(VGA_WHITE, VGA_BLACK); + drawtext(50, row, buf); + } + line++; + } }