X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=sys1%2Fkern%2Fsrc%2Fmain.c;h=3c93cab9380c3aba7926f5266dc0a67be60794e9;hb=b1333cb9e35058191b43df84269bd5ee5823310f;hp=b89a98bedd89733077833cbd7a81943987448711;hpb=570cc7602962c08b173754d25af50c43b75c2f2f;p=3sys diff --git a/sys1/kern/src/main.c b/sys1/kern/src/main.c index b89a98b..3c93cab 100644 --- a/sys1/kern/src/main.c +++ b/sys1/kern/src/main.c @@ -1,22 +1,34 @@ +#include #include #include +#include "con.h" +#include "vga.h" +#include "mem.h" +#include "intr.h" -void clearscr(void) +void kmain(void) { - memset((void*)0xb8000, 0, 80 * 25 * 2); -} + int i, line; -void drawtext(int x, int y, const char *s) -{ - uint16_t *vptr = (uint16_t*)0xb8000 + y * 80 + x; + con_init(); - while(*s) { - *vptr++ = 0x0c00 | *s++; - } -} + mem_init(); + intr_init(); -void kmain(void) -{ - clearscr(); - drawtext(10, 5, "3sys kernel 1"); + line = 0; + for(;;) { + printf("line %d", line++); + + 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('>'); + } + } + con_setcolor(VGA_WHITE, VGA_BLACK); + con_popcur(); + con_putchar('\n'); + } }