AT/IDE drive status has ready set in between sector transfers in multi-sector
reads. Fixes some early AMI BIOSes.
This commit is contained in:
parent
53291432e8
commit
c93a4eb295
2 changed files with 2 additions and 2 deletions
|
|
@ -766,7 +766,7 @@ uint16_t readidew(int ide_board)
|
||||||
if (ide->secount)
|
if (ide->secount)
|
||||||
{
|
{
|
||||||
ide_next_sector(ide);
|
ide_next_sector(ide);
|
||||||
ide->atastat = BUSY_STAT;
|
ide->atastat = BUSY_STAT | READY_STAT | DSC_STAT;
|
||||||
if (ide->command == WIN_READ_MULTIPLE)
|
if (ide->command == WIN_READ_MULTIPLE)
|
||||||
callbackide(ide_board);
|
callbackide(ide_board);
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -389,7 +389,7 @@ uint16_t mfm_readw(uint16_t port, void *p)
|
||||||
if (mfm->secount)
|
if (mfm->secount)
|
||||||
{
|
{
|
||||||
mfm_next_sector(mfm);
|
mfm_next_sector(mfm);
|
||||||
mfm->status = STAT_BUSY;
|
mfm->status = STAT_BUSY | STAT_READY | STAT_DSC;
|
||||||
timer_set_delay_u64(&mfm->callback_timer, SECTOR_TIME);
|
timer_set_delay_u64(&mfm->callback_timer, SECTOR_TIME);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue