diff options
author | 2020-06-01 08:18:28 +0300 | |
---|---|---|
committer | 2020-06-01 08:18:28 +0300 | |
commit | 49873e3b142b72327802c9d95ebffa4b90c1cc5f (patch) | |
tree | e3bf931c3dfc0e2df1a5d9e8b5cba1c949a33a70 | |
parent | 4c67903fb1ed1ef141817791ddd83ce09cb0678e (diff) |
wd_fdc.cpp do not delay SEEK with no Verify flag
-rw-r--r-- | src/devices/machine/wd_fdc.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/devices/machine/wd_fdc.cpp b/src/devices/machine/wd_fdc.cpp index d18c3e639c8..94bd7a1cdb7 100644 --- a/src/devices/machine/wd_fdc.cpp +++ b/src/devices/machine/wd_fdc.cpp @@ -326,8 +326,14 @@ void wd_fdc_device_base::seek_continue() } if(main_state == SEEK && track == data) { - sub_state = SEEK_WAIT_STABILIZATION_TIME; - delay_cycles(t_gen, 30000); + if (command & 0x04) { + set_hld(); + sub_state = SEEK_WAIT_STABILIZATION_TIME; + delay_cycles(t_gen, 30000); + return; + } + else + sub_state = SEEK_DONE; } if(sub_state == SPINUP_DONE) { @@ -396,8 +402,7 @@ void wd_fdc_device_base::seek_continue() case SEEK_WAIT_STABILIZATION_TIME_DONE: LOGSTATE("SEEK_WAIT_STABILIZATION_TIME_DONE\n"); - if (command & 0x04) - set_hld(); + // TODO: here should be HLT wait sub_state = SEEK_DONE; break; |