grub setup script, and added -march=i386 to CFLAGS
[3sys] / sys1 / kern / src / main.c
1 #include <stdio.h>
2 #include <string.h>
3 #include <stdint.h>
4 #include "vga.h"
5
6 void drawtext(int x, int y, const char *s)
7 {
8         while(*s) {
9                 vga_drawchar(x++, y, *s++);
10         }
11 }
12
13 void kmain(void)
14 {
15         int i, row;
16         int line, scroll;
17         char buf[64];
18         char twirl[] = "-\\|/";
19
20         vga_reset();
21
22         line = 0;
23         for(;;) {
24                 scroll = line <= 24 ? 0 : line - 24;
25                 row = line <= 24 ? line : 24;
26                 sprintf(buf, "line %d  (scroll %d [%d])", line, scroll, scroll % 25);
27                 vga_scroll(scroll);
28                 if(scroll) {
29                         vga_clearline(24);
30                 }
31                 vga_setcolor(VGA_YELLOW | VGA_BRIGHT, VGA_BLACK);
32                 drawtext(line & 7, row, buf);
33
34                 for(i=0; i<65536 * 4; i++) {
35                         buf[0] = twirl[(i >> 15) & 3];
36                         buf[1] = 0;
37                         vga_setcolor(VGA_WHITE, VGA_BLACK);
38                         drawtext(50, row, buf);
39                 }
40                 line++;
41         }
42 }