diff options
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 |
commit | b8cd4f01c4abf27d598404176f72ae56394f0a00 (patch) | |
tree | ee73af475caaf636c17ef61445a0d54a7ab7e3a3 /src/devices | |
parent | 7834d689bd27efdb80f4ee724bfd3daec30fdbf4 (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')
-rw-r--r-- | src/devices/machine/upd765.cpp | 6 |
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++; |