summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/formats/dsk_dsk.cpp
diff options
context:
space:
mode:
author AmatCoder <AmatCoder@users.noreply.github.com>2018-09-19 13:18:09 +0200
committer GitHub <noreply@github.com>2018-09-19 13:18:09 +0200
commite07b1b467f316b8460dcc3b24ca24c686cde3e20 (patch)
tree5dca392bc03885974d0e89600efb6778846739c0 /src/lib/formats/dsk_dsk.cpp
parent59254bc5dea65da414003cb023800952565fb4fb (diff)
dsk_dsk.cpp: sectors must be read even if it contains Deleted Mark
FDC will read the data if SK bit is not set. Fixes MameTesters bug #07081
Diffstat (limited to 'src/lib/formats/dsk_dsk.cpp')
-rw-r--r--src/lib/formats/dsk_dsk.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/lib/formats/dsk_dsk.cpp b/src/lib/formats/dsk_dsk.cpp
index 463573ccc25..d661e1cd105 100644
--- a/src/lib/formats/dsk_dsk.cpp
+++ b/src/lib/formats/dsk_dsk.cpp
@@ -420,12 +420,12 @@ bool dsk_format::load(io_generic *io, uint32_t form_factor, floppy_image *image)
else
sects[j].actual_size = 128 << tr.sector_size_code;
- if (sector.fdc_status_reg1 == 0xb2 || (sector.fdc_status_reg2 & 0x40))
+ if (sector.fdc_status_reg2 & 0x40)
sects[j].deleted = 1;
- if (sector.fdc_status_reg1 == 0xb5 || (sector.fdc_status_reg2 & 0x20))
+ if ((sector.fdc_status_reg1 & 0x20) || (sector.fdc_status_reg2 & 0x20))
sects[j].bad_crc = 1;
- if(!sects[j].deleted) {
+ if(!(sector.fdc_status_reg1 & 0x04)) {
sects[j].data = sect_data + sdatapos;
io_generic_read(io, sects[j].data, pos, sects[j].actual_size);
sdatapos += sects[j].actual_size;