X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fkmain.c;h=339d3e0e5bef9b9b53a9a9f07ed966450707a970;hb=094e9170ca5f9b59443c171967cdc78f1c07044c;hp=fab4e6f565f91e0091fa4cc6e2db425b31dd34be;hpb=11db15bb0f0f3d23aa9b2966c2f65a0379246813;p=bootcensus diff --git a/src/kmain.c b/src/kmain.c index fab4e6f..339d3e0 100644 --- a/src/kmain.c +++ b/src/kmain.c @@ -20,19 +20,13 @@ along with this program. If not, see . #include #include "segm.h" #include "intr.h" +#include "mem.h" #include "keyb.h" #include "timer.h" #include "contty.h" -#include "int86.h" +#include "video.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,8 +34,11 @@ void pcboot_main(void) { init_segm(); init_intr(); - kb_init(); + con_init(); + kb_init(); + + init_mem(); /* initialize the timer */ init_timer(); @@ -55,9 +52,16 @@ 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);