#include "lib.h" #include "console.h" #include "memory.h" #include "timer.h" #include "queue.h" #include "keyboard.h" extern void setupidt(); extern struct queue *kbd_buffer; void start(){ print("Brian's OS Version 0.01\n"); print("Total Memory: "); print(int2str(gettotalmem())); print("\n"); init_console(); init_timer(); init_keyboard(); setupidt(); outb(0x21,~(2|1)); outb(0xA1,~0); sti(); doint(0x20); print("Hello World From Brian's OS!\n"); for(;;){ /*volatile int x; for(x=0;x<0xfffff;x++) asm("nop");*/ while(!queue_empty(kbd_buffer)) conputc(queue_get(kbd_buffer)); } for(;;) hlt(); } void int20(){ print("Hello World from Int 0x20!\n"); }