rudimentary console
[3sys] / sys1 / kern / src / main.c
index 1a84caf..e45e929 100644 (file)
@@ -1,47 +1,29 @@
 #include <stdio.h>
 #include <string.h>
 #include <stdint.h>
+#include "con.h"
 #include "vga.h"
 #include "mem.h"
 #include "intr.h"
 
-void drawtext(int x, int y, const char *s)
-{
-       while(*s) {
-               vga_drawchar(x++, y, *s++);
-       }
-}
-
 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);
+               for(i=0; i<65536 * 128; i++) {
+                       if((i & 0x3ffff) == 0) {
+                               con_putchar('.');
+                       }
                }
-               line++;
+               con_putchar('\n');
        }
 }