diff options
author | arbee <rb6502@users.noreply.github.com> | 2015-01-31 22:26:30 -0500 |
---|---|---|
committer | arbee <rb6502@users.noreply.github.com> | 2015-01-31 22:26:30 -0500 |
commit | 0d5783fd8562e1b2c5f797f0453a3ae3783b0349 (patch) | |
tree | 762966f8e543fbe67169d26648b50632b59c4c33 | |
parent | 4a18ab8682c722bca364de67787bd471d04d6d72 (diff) |
apple2: properly handle ProDOS-order Microsoft CP/M boot disk [R. Belmont]
-rw-r--r-- | src/lib/formats/ap2_dsk.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lib/formats/ap2_dsk.c b/src/lib/formats/ap2_dsk.c index 056fe05aebc..5e66b601e42 100644 --- a/src/lib/formats/ap2_dsk.c +++ b/src/lib/formats/ap2_dsk.c @@ -615,6 +615,7 @@ bool a2_16sect_format::load(io_generic *io, UINT32 form_factor, floppy_image *im static const unsigned char dos33_block1[4] = { 0xa2, 0x02, 0x8e, 0x52 }; static const unsigned char sos_block1[4] = { 0xc9, 0x20, 0xf0, 0x3e }; static const unsigned char a3a2emul_block1[6] = { 0x8d, 0xd0, 0x03, 0x4c, 0xc7, 0xa4 }; + static const unsigned char cpm22_block1[8] = { 0xa2, 0x55, 0xa9, 0x00, 0x9d, 0x00, 0x0d, 0xca }; io_generic_read(io, sector_data, fpos, 256*16); @@ -658,6 +659,10 @@ bool a2_16sect_format::load(io_generic *io, UINT32 form_factor, floppy_image *im else if (!memcmp(pascal2_block1, §or_data[0x100], 4)) { m_prodos_order = true; + } // check for CP/M disks in ProDOS order + else if (!memcmp(cpm22_block1, §or_data[0x100], 8)) + { + m_prodos_order = true; } } |