diff --git a/src/ide.c b/src/ide.c index 1ddbf39..c42ee7e 100644 --- a/src/ide.c +++ b/src/ide.c @@ -1093,6 +1093,14 @@ void writeide(int ide_board, uint16_t addr, uint8_t val) ide->atastat = ide_other->atastat = BUSY_STAT; // pclog("IDE Reset %i\n", ide_board); } + if (val & 4) + { + /*Drive held in reset*/ + timer_process(); + idecallback[ide_board] = 0; + timer_update_outstanding(); + ide->atastat = ide_other->atastat = BUSY_STAT; + } ide->fdisk = ide_other->fdisk = val; ide_irq_update(ide); return;