diff --git a/src/emu/machine/wd_fdc.c b/src/emu/machine/wd_fdc.c index 4e922aa..8f5c4bb 100644 --- a/src/emu/machine/wd_fdc.c +++ b/src/emu/machine/wd_fdc.c @@ -961,10 +961,18 @@ void wd_fdc_t::do_generic() { switch(sub_state) { case IDLE: - case SCAN_ID: case SECTOR_READ: break; + case SPINUP_WAIT: + case SCAN_ID: + case SEEK_WAIT_STEP_TIME_DONE: + case SEEK_WAIT_STABILIZATION_TIME_DONE: + if (command & 4) + status |= S_RNF; + command_end(); + break; + case SETTLE_WAIT: sub_state = SETTLE_DONE; break; @@ -1226,6 +1234,7 @@ void wd_fdc_t::spinup() else { sub_state = SPINUP_WAIT; counter = 0; + t_gen->adjust(attotime::from_seconds(1)); } status |= S_MON|S_SPIN;