|
@@ -1187,12 +1187,17 @@ static __asmcall void int13 ( struct i386_all_regs *ix86 ) {
|
1187
|
1187
|
bios_drive, int13->drive );
|
1188
|
1188
|
ix86->regs.dl = int13->drive;
|
1189
|
1189
|
return;
|
|
1190
|
+ } else if ( ( ( bios_drive & 0x7f ) == 0x7f ) &&
|
|
1191
|
+ ( command == INT13_CDROM_STATUS_TERMINATE )
|
|
1192
|
+ && int13->is_cdrom ) {
|
|
1193
|
+ /* Catch non-drive-specific CD-ROM calls */
|
|
1194
|
+ } else {
|
|
1195
|
+ continue;
|
1190
|
1196
|
}
|
1191
|
|
- continue;
|
1192
|
1197
|
}
|
1193
|
1198
|
|
1194
|
1199
|
DBGC2 ( int13, "INT13,%02x (%02x): ",
|
1195
|
|
- ix86->regs.ah, int13->drive );
|
|
1200
|
+ ix86->regs.ah, bios_drive );
|
1196
|
1201
|
|
1197
|
1202
|
switch ( command ) {
|
1198
|
1203
|
case INT13_RESET:
|