From 51e2c71c75075e9b195a8f14d7be300a2e86e660 Mon Sep 17 00:00:00 2001 From: "R. Belmont" Date: Sun, 17 Aug 2014 04:02:13 +0000 Subject: [PATCH] (MESS) Support ProDOS-order Pascal 1.3 images [R. Belmont] --- src/lib/formats/ap2_dsk.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/lib/formats/ap2_dsk.c b/src/lib/formats/ap2_dsk.c index 5d3c1e141f8..20688af4ebc 100644 --- a/src/lib/formats/ap2_dsk.c +++ b/src/lib/formats/ap2_dsk.c @@ -611,6 +611,7 @@ bool a2_16sect_format::load(io_generic *io, UINT32 form_factor, floppy_image *im UINT8 sector_data[256*16]; int offset = 0; static const unsigned char pascal_block1[4] = { 0x08, 0xa5, 0x0f, 0x29 }; + static const unsigned char pascal2_block1[4] = { 0xff, 0xa2, 0x00, 0x8e }; 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 }; @@ -648,6 +649,10 @@ bool a2_16sect_format::load(io_generic *io, UINT32 form_factor, floppy_image *im } } // check for DOS 3.3 disks in ProDOS order else if (!memcmp(dos33_block1, §or_data[0x100], 4)) + { + m_prodos_order = true; + } // check for a later version of the Pascal boot block + else if (!memcmp(pascal2_block1, §or_data[0x100], 4)) { m_prodos_order = true; }