]> Joshua Wise's Git repositories - netwatch.git/blobdiff - aseg/counter.c
Add realmode warm booter
[netwatch.git] / aseg / counter.c
index de82574dc50fac9245e3ee564feb3569d174ea04..8f807aae231f371ab7ed540f2679773d7dc9b4e6 100644 (file)
@@ -25,7 +25,7 @@ unsigned char vgaread(unsigned char idx)
 
 void strblit(char *src)
 {
-       char *destp = (char*)(0xB8000 | (vgaread(0xC) << 5) | (vgaread(0xD) << 1));
+       char *destp = (char*)(0xB8000UL | (((unsigned int)vgaread(0xC)) << 9) | (((unsigned int)vgaread(0xD)) << 1));
        while (*src)
        {
                *(destp++) = *(src++);
@@ -52,5 +52,10 @@ void __start (void)
        
        outl(0xCF8, pcisave);
        outb(0x3D4, vgasave);
+       
+       outb(0x834, 0x40);      // ack the periodic IRQ
+       outb(0x830, (inb(0x830) | 0x2) & ~0x40);
+       outb(0x830, inb(0x830) | 0x40);
+       
 }
 
This page took 0.026172 seconds and 4 git commands to generate.