X-Git-Url: http://git.joshuawise.com/netwatch.git/blobdiff_plain/035d7af7dd4727735ec57f8195a4842e31ffc997..d56898ee77b960cfe7f1d75bca2725d9d5337553:/aseg/counter.c?ds=sidebyside diff --git a/aseg/counter.c b/aseg/counter.c index de82574..8f807aa 100644 --- a/aseg/counter.c +++ b/aseg/counter.c @@ -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); + }