summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/formats/ap2_dsk.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/formats/ap2_dsk.c')
-rw-r--r--src/lib/formats/ap2_dsk.c5
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, &sector_data[0x100], 4))
{
m_prodos_order = true;
+ } // check for CP/M disks in ProDOS order
+ else if (!memcmp(cpm22_block1, &sector_data[0x100], 8))
+ {
+ m_prodos_order = true;
}
}