#include <stdio.h>
#include <string.h>
#include <stdint.h>
+#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);
+ for(i=0; i<65536 * 128; i++) {
+ if((i & 0x3ffff) == 0) {
+ con_putchar('.');
+ }
}
- line++;
+ con_putchar('\n');
}
}