summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Olivier Galibert <galibert@pobox.com>2014-10-31 12:10:10 +0100
committer Olivier Galibert <galibert@pobox.com>2014-10-31 12:08:49 +0100
commit2bac99ca3fcd2a8a66a8a800883e278e7566e854 (patch)
tree3164ba07c5dfc6d9877c5f45814492583e30ff99
parenta729656807d82434e1c3d159dde0917727a22eb9 (diff)
d88_dsk: Support some incorrect images [O. Galibert]
-rw-r--r--src/lib/formats/d88_dsk.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/lib/formats/d88_dsk.c b/src/lib/formats/d88_dsk.c
index 658205e97ba..1df91cc94c9 100644
--- a/src/lib/formats/d88_dsk.c
+++ b/src/lib/formats/d88_dsk.c
@@ -492,8 +492,12 @@ bool d88_format::load(io_generic *io, UINT32 form_factor, floppy_image *image)
pos += 16;
UINT16 size = LITTLE_ENDIANIZE_INT16(*(UINT16 *)(hs+14));
- if(i == 0)
+ if(i == 0) {
sector_count = LITTLE_ENDIANIZE_INT16(*(UINT16 *)(hs+4));
+ // Support broken vfman converter
+ if(sector_count == 0x1000)
+ sector_count = 0x10;
+ }
sects[i].track = hs[0];
sects[i].head = hs[1];