wd_fdc.cpp do not delay SEEK with no Verify flag

This commit is contained in:
MetalliC 2020-06-01 08:18:28 +03:00
parent 4c67903fb1
commit 49873e3b14

View File

@ -326,8 +326,14 @@ void wd_fdc_device_base::seek_continue()
} }
if(main_state == SEEK && track == data) { if(main_state == SEEK && track == data) {
if (command & 0x04) {
set_hld();
sub_state = SEEK_WAIT_STABILIZATION_TIME; sub_state = SEEK_WAIT_STABILIZATION_TIME;
delay_cycles(t_gen, 30000); delay_cycles(t_gen, 30000);
return;
}
else
sub_state = SEEK_DONE;
} }
if(sub_state == SPINUP_DONE) { if(sub_state == SPINUP_DONE) {
@ -396,8 +402,7 @@ void wd_fdc_device_base::seek_continue()
case SEEK_WAIT_STABILIZATION_TIME_DONE: case SEEK_WAIT_STABILIZATION_TIME_DONE:
LOGSTATE("SEEK_WAIT_STABILIZATION_TIME_DONE\n"); LOGSTATE("SEEK_WAIT_STABILIZATION_TIME_DONE\n");
if (command & 0x04) // TODO: here should be HLT wait
set_hld();
sub_state = SEEK_DONE; sub_state = SEEK_DONE;
break; break;