From c93a4eb29527fc7ee5c949864556fa07a5e3568c Mon Sep 17 00:00:00 2001 From: SarahW Date: Sun, 1 Mar 2020 17:19:43 +0000 Subject: [PATCH] AT/IDE drive status has ready set in between sector transfers in multi-sector reads. Fixes some early AMI BIOSes. --- src/ide.c | 2 +- src/mfm_at.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ide.c b/src/ide.c index 552aa16..468a809 100644 --- a/src/ide.c +++ b/src/ide.c @@ -766,7 +766,7 @@ uint16_t readidew(int ide_board) if (ide->secount) { ide_next_sector(ide); - ide->atastat = BUSY_STAT; + ide->atastat = BUSY_STAT | READY_STAT | DSC_STAT; if (ide->command == WIN_READ_MULTIPLE) callbackide(ide_board); else diff --git a/src/mfm_at.c b/src/mfm_at.c index cccd1c9..9293f18 100644 --- a/src/mfm_at.c +++ b/src/mfm_at.c @@ -389,7 +389,7 @@ uint16_t mfm_readw(uint16_t port, void *p) if (mfm->secount) { 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); } }