X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fkmain.c;h=8af7cc37fa4a090d90b9a4d74f0db3d98a78eea3;hb=1e2ddab65ead32350d8ff87a6de74168e429666b;hp=fab4e6f565f91e0091fa4cc6e2db425b31dd34be;hpb=11db15bb0f0f3d23aa9b2966c2f65a0379246813;p=bootcensus
diff --git a/src/kmain.c b/src/kmain.c
index fab4e6f..8af7cc3 100644
--- a/src/kmain.c
+++ b/src/kmain.c
@@ -20,19 +20,16 @@ along with this program. If not, see .
#include
#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);
@@ -40,12 +37,20 @@ void pcboot_main(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");
@@ -55,18 +60,25 @@ void pcboot_main(void)
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);
}
}
}