diff --git a/src/devices/machine/upd765.cpp b/src/devices/machine/upd765.cpp index 6c624134f4c..db8e1653191 100644 --- a/src/devices/machine/upd765.cpp +++ b/src/devices/machine/upd765.cpp @@ -1862,12 +1862,6 @@ void upd765_family_device::read_data_continue(floppy_info &fi) case SCAN_ID: LOGSTATE("SCAN_ID\n"); - if(cur_live.crc) { - fi.st0 |= ST0_FAIL; - st1 |= ST1_DE|ST1_ND; - fi.sub_state = COMMAND_DONE; - break; - } // MZ: This st1 handling ensures that both HX5102 floppy and the // Speedlock protection scheme are properly working. // a) HX5102 requires that the ND flag not be set when no address @@ -1889,6 +1883,13 @@ void upd765_family_device::read_data_continue(floppy_info &fi) live_start(fi, SEARCH_ADDRESS_MARK_HEADER); return; } + if(cur_live.crc) { + fi.st0 |= ST0_FAIL; + st1 |= ST1_DE; + st1 &= ~ST1_ND; + fi.sub_state = COMMAND_DONE; + break; + } st1 &= ~ST1_ND; st2 &= ~ST2_WC; LOGRW("reading sector %02x %02x %02x %02x\n",