#include <ctype.h>
#include "segm.h"
#include "intr.h"
+#include "mem.h"
#include "keyb.h"
+#include "psaux.h"
#include "timer.h"
#include "contty.h"
-#include "int86.h"
+#include "video.h"
+#include "audio.h"
+#include "pci.h"
+#include "vbetest.h"
-static void set_mode13h(void)
-{
- struct int86regs regs;
-
- memset(®s, 0, sizeof regs);
- regs.eax = 0x13;
- int86(0x10, ®s);
-}
void logohack(void);
{
init_segm();
init_intr();
- kb_init();
+
con_init();
+ kb_init();
+ init_psaux();
+
+ init_mem();
+
+ init_pci();
/* initialize the timer */
init_timer();
+ audio_init();
+
enable_intr();
printf("PCBoot kernel initialized\n");
halt_cpu();
while((c = kb_getkey()) >= 0) {
- if(c >= KB_F1 && c <= KB_F12) {
- set_mode13h();
+ switch(c) {
+ case KB_F1:
+ set_vga_mode(0x13);
logohack();
+ set_vga_mode(3);
+ break;
+
+ case KB_F2:
+ vbetest();
+ break;
}
if(isprint(c)) {
- printf("key: %d '%c' \n", c, (char)c);
+ printf("key: %d '%c'\n", c, (char)c);
} else {
- printf("key: %d \n", c);
+ printf("key: %d\n", c);
}
}
if((nticks % 250) == 0) {
- printf("ticks: %ld\r", nticks);
+ con_printf(71, 0, "[%ld]", nticks);
}
}
}