console cursor positioning
[3sys] / sys1 / kern / src / main.c
index b89a98b..3c93cab 100644 (file)
@@ -1,22 +1,34 @@
+#include <stdio.h>
 #include <string.h>
 #include <stdint.h>
+#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');
+       }
 }