david/ipxe
david
/
ipxe
Archived
1
0
Fork 0

[int13] Catch INT 13,4b when no explicit drive number is present

This allows older versions of ELTORITO.SYS (such as the version found
on the FreeDOS installation CD-ROM) to use iPXE's emulated CD-ROM
drive.

Reported-by: Robin Smidsrød <robin@smidsrod.no>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown 2011-04-28 13:05:40 +01:00
parent 57e65d2c4d
commit 62c9635166
1 changed files with 7 additions and 2 deletions

View File

@ -1187,12 +1187,17 @@ static __asmcall void int13 ( struct i386_all_regs *ix86 ) {
bios_drive, int13->drive );
ix86->regs.dl = int13->drive;
return;
} else if ( ( ( bios_drive & 0x7f ) == 0x7f ) &&
( command == INT13_CDROM_STATUS_TERMINATE )
&& int13->is_cdrom ) {
/* Catch non-drive-specific CD-ROM calls */
} else {
continue;
}
continue;
}
DBGC2 ( int13, "INT13,%02x (%02x): ",
ix86->regs.ah, int13->drive );
ix86->regs.ah, bios_drive );
switch ( command ) {
case INT13_RESET: