From 4a3636504480821aa955c0032dcf1956a37df5c4 Mon Sep 17 00:00:00 2001 From: SarahW Date: Wed, 1 Feb 2017 19:59:57 +0000 Subject: [PATCH] Return IDE status as busy when drive is held in reset. Fixes hard drive issues on MegaPC. --- src/ide.c | 8 ++++++++ 1 file changed, 8 insertions(+) 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;