summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/upd765.cpp
diff options
context:
space:
mode:
author cracyc <cracyc@users.noreply.github.com>2021-10-18 20:24:43 -0500
committer cracyc <cracyc@users.noreply.github.com>2021-10-18 20:24:43 -0500
commitb8cd4f01c4abf27d598404176f72ae56394f0a00 (patch)
treeee73af475caaf636c17ef61445a0d54a7ab7e3a3 /src/devices/machine/upd765.cpp
parent7834d689bd27efdb80f4ee724bfd3daec30fdbf4 (diff)
upd765: use the command sector size not the address size in read track and set the correct bit in st2 to indicate data crc error
Diffstat (limited to 'src/devices/machine/upd765.cpp')
-rw-r--r--src/devices/machine/upd765.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/devices/machine/upd765.cpp b/src/devices/machine/upd765.cpp
index 1ad53ec9ae0..64739ff5a6e 100644
--- a/src/devices/machine/upd765.cpp
+++ b/src/devices/machine/upd765.cpp
@@ -1885,7 +1885,7 @@ void upd765_family_device::read_data_continue(floppy_info &fi)
if(cur_live.crc) {
fi.st0 |= ST0_FAIL;
st1 |= ST1_DE;
- st2 |= ST2_CM;
+ st2 |= ST2_DD;
fi.sub_state = COMMAND_DONE;
break;
}
@@ -2213,7 +2213,7 @@ void upd765_family_device::read_track_continue(floppy_info &fi)
else
st1 &= ~ST1_ND;
- sector_size = calc_sector_size(cur_live.idbuf[3]);
+ sector_size = calc_sector_size(command[5]);
fifo_expect(sector_size, false);
fi.sub_state = SECTOR_READ;
LOGSTATE("SEARCH_ADDRESS_MARK_DATA\n");
@@ -2236,7 +2236,7 @@ void upd765_family_device::read_track_continue(floppy_info &fi)
}
if(cur_live.crc) {
st1 |= ST1_DE;
- st2 |= ST2_CM;
+ st2 |= ST2_DD;
}
bool done = tc_done;
sectors_read++;