Return IDE status as busy when drive is held in reset. Fixes hard drive issues on MegaPC.
This commit is contained in:
parent
c581b018a7
commit
4a36365044
1 changed files with 8 additions and 0 deletions
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in a new issue