On Fri, 31 Dec 2004, Michael Devore wrote: > At 01:22 AM 12/31/2004 -0800, 16BIT wrote: > > >Grub for DOS prints the following error message if I try and run it with > >FreeDOS: > > > >------------- > > > >Sorry! Currently supported DOS versions are: MS-DOS 3.30 and later; > >FreeDOS kernel build 2029 and, hopefully, 2032 and later. > > > >------------- > > > >A rather interesting error message don't you think? > > What do you bet that it's looking for the original FreeDOS versioning which > was recently changed to work around the Borland RTM bug?
$100000000000000 ;-) The GRUB code doesn't use int21/ah=30 at all. An extract from the patch in grub013.zip is below. It's far nastier. Very nasty. It's code that assumes that the binary code of FD-kernel's IRQ stack handling never changes, noone uses STACKS=0, and MS HIMEM may be loaded (int15 hooked by himem.exe not considered apparently). Note the use of the magic 0x3086 number... Your dog may eat this code for lunch. It seems to need this dirty technique to try to restore the BIOS IRQ vectors to their original values. Booting with STACKS=0 without HIMEM could avoid this hackery. (another note: remember that AT&T syntax reverses wrt Intel syntax for assembly). + /* check for FreeDOS (build 2029+) */ + + /* + * MS himem.sys takes over int 15, so check for the case. + */ + + xorw %ax, %ax + movw %ax, %es + movw %ax, %ds + movw $0x0054, %di + movl (%di), %eax /* int 15 vector in table */ + cmpl $0xc0000000, %eax /* is it a valid BIOS vector? */ + jnb 1f /* yes, do nothing */ + movw $0x3086, %si /* no, take one from himem */ + movl (%si), %eax + cmpl $0xe0000000, %eax /* is it a system BIOS vector? */ + jb failed_check_freedos /* no, do not continue */ +1: /* yes, continue */ + xorw %ax, %ax + movw %ax, %ds + movw $0x0020, %si /* DS:SI points to int 08 */ + lodsl + movl %eax, %ebx + movl %eax, %edx + movw $7, %cx +1: + lodsl + addw $6, %bx + jc failed_check_freedos (snip) Bart ------------------------------------------------------- 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