diff options
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 |
commit | 6cea28b06639e7f748ea0761377d712009bffaf9 (patch) | |
tree | 84a15ec07042208539dfea9cb688f562fdeb8ec9 | |
parent | e56f56d624e2ce4b5ef663eb9e78971a8ed1eee0 (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.cpp | 8 |
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; } |