Hi Bart! > It seems to need this dirty technique to try to restore the BIOS > IRQ vectors to their original values.
Interesting point... that reminds me of something which FreeDOS kernel should support and which would not be too hard to do: --------D-M00700100-------------------------- MEM 0070h:0100h - DOS 5+ - ORIGINAL INTERRUPT VECTORS 10h,13h,15h,19h,1Bh Size: 25 BYTEs Note: each value is stored as a BYTE for the interrupt number followed by a DWORD for the vector these values are restored on INT 19 by recent versions of DR/Novell/PC/MS-DOS (MS-DOS 3.x used this area to support HIMEM.SYS) > Booting with STACKS=0 without HIMEM > could avoid this hackery. STACKS=0,0 seems a perfectly acceptable solution - would GRUB detect that out of the box, or would the GRUB-check-for-FreeDOS spoil that simple workaround? For "grab int 15 back from HIMEM", please have a look at kill15 from: http://www.coli.uni-sb.de/~eric/memtest-1.27.zip Note that MKEYB hooks int 15 in a different way (int 15.4f keyboard intercept, can be detected by "JNC notme / cmp ah,4f / jnz notme / ...", so it is the carry flag that counts) and that different HIMEM versions will have different styles of intercepting int 15 and chaining on to the original handler. Still, I hope that the code can somehow inspire the GRUB people to get better compatibility with FreeDOS and DOS drivers. Eric ------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt _______________________________________________ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user