upd765: don't bail immediately when a sector address crc failure fixes ea interlock copy pro

This commit is contained in:
cracyc 2024-09-16 19:54:40 -05:00
parent df4c6d166b
commit 69c8c7a4c2

View File

@ -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",