summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author arbee <rb6502@users.noreply.github.com>2021-04-10 13:45:08 -0400
committer arbee <rb6502@users.noreply.github.com>2021-04-10 13:45:08 -0400
commit6cea28b06639e7f748ea0761377d712009bffaf9 (patch)
tree84a15ec07042208539dfea9cb688f562fdeb8ec9
parente56f56d624e2ce4b5ef663eb9e78971a8ed1eee0 (diff)
ap_dsk35: Punt 1.44MB dc42 images to the PC MFM handler, which knows how to read them [R. Belmont]
-rw-r--r--src/lib/formats/ap_dsk35.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/lib/formats/ap_dsk35.cpp b/src/lib/formats/ap_dsk35.cpp
index d28d8a9ecb6..0fc1aafca32 100644
--- a/src/lib/formats/ap_dsk35.cpp
+++ b/src/lib/formats/ap_dsk35.cpp
@@ -1244,6 +1244,14 @@ int dc42_format::identify(io_generic *io, uint32_t form_factor, const std::vecto
uint32_t dsize = (h[0x40] << 24) | (h[0x41] << 16) | (h[0x42] << 8) | h[0x43];
uint32_t tsize = (h[0x44] << 24) | (h[0x45] << 16) | (h[0x46] << 8) | h[0x47];
+ uint8_t encoding = h[0x50];
+ uint8_t format = h[0x51];
+ // if it's a 1.44MB DC42 image, reject it so the generic PC MFM handler picks it up
+ if ((encoding == 0x03) && (format == 0x02))
+ {
+ return 0;
+ }
+
return size == 0x54+tsize+dsize && h[0] < 64 && h[0x52] == 1 && h[0x53] == 0 ? 100 : 0;
}