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;
|
ide->atastat = ide_other->atastat = BUSY_STAT;
|
||||||
// pclog("IDE Reset %i\n", ide_board);
|
// 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->fdisk = ide_other->fdisk = val;
|
||||||
ide_irq_update(ide);
|
ide_irq_update(ide);
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue