Changed the IDE status return on empty slave with non-empty master, fixes Award BIOS excess waits.

This commit is contained in:
OBattler
2023-08-18 23:43:08 +02:00
parent 29c153d287
commit 250b756af7

View File

@@ -1939,7 +1939,7 @@ ide_status(ide_t *ide, ide_t *ide_other, int ch)
if ((ide->type == IDE_NONE) && ((ide_other->type == IDE_NONE) || !(ch & 1)))
return 0x7f; /* Bit 7 pulled down, all other bits pulled up, per the spec. */
else if ((ide->type == IDE_NONE) && (ch & 1))
return 0x00; /* On real hardware, a slave with a present master always returns a status of 0x00. */
return 0x7f /*0x00*/; /* On real hardware, a slave with a present master always returns a status of 0x00. */
else if (ide->type == IDE_ATAPI)
return (ide->sc->status & ~DSC_STAT) | (ide->service ? SERVICE_STAT : 0);
else