X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=sys1%2Fkern%2Fsrc%2Fmain.c;h=3c93cab9380c3aba7926f5266dc0a67be60794e9;hb=b1333cb9e35058191b43df84269bd5ee5823310f;hp=8426a661dd1ad2d5ccefe357a714d41fcd154a6b;hpb=aac04321fda4094e8623a10ed39d2916ada40ccf;p=3sys diff --git a/sys1/kern/src/main.c b/sys1/kern/src/main.c index 8426a66..3c93cab 100644 --- a/sys1/kern/src/main.c +++ b/sys1/kern/src/main.c @@ -1,46 +1,34 @@ #include #include #include +#include "con.h" #include "vga.h" #include "mem.h" - -void drawtext(int x, int y, const char *s) -{ - while(*s) { - vga_drawchar(x++, y, *s++); - } -} +#include "intr.h" void kmain(void) { - int i, row; - int line, scroll; - char buf[64]; - char twirl[] = "-\\|/"; + int i, line; - vga_reset(); + con_init(); mem_init(); intr_init(); 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); + printf("line %d", line++); - for(i=0; i<65536 * 16; i++) { - buf[0] = twirl[(i >> 15) & 3]; - buf[1] = 0; - vga_setcolor(VGA_WHITE, VGA_BLACK); - drawtext(50, row, buf); + con_pushcur(); + con_setcur(30, 0); + for(i=0; i<65536 * 300; i++) { + if((i & 0xfffff) == 0) { + con_setcolor(VGA_BRIGHT | (line & 7), VGA_BLACK); + con_putchar('>'); + } } - line++; + con_setcolor(VGA_WHITE, VGA_BLACK); + con_popcur(); + con_putchar('\n'); } }