From fe28eca130b1d3bd0daf3a1c89a89b169dfcb82f Mon Sep 17 00:00:00 2001 From: mahlemiut Date: Thu, 26 Jun 2014 07:26:11 +0000 Subject: [PATCH] flex_dsk: add workaround for Gimix Flex 3.6 expecting tracks 1 and 2 to be MFM. It will now also boot. (no whatsnew) --- src/lib/formats/flex_dsk.c | 5 ++++- src/lib/formats/flex_dsk.h | 2 -- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/lib/formats/flex_dsk.c b/src/lib/formats/flex_dsk.c index 4691822ff08..69522315af1 100644 --- a/src/lib/formats/flex_dsk.c +++ b/src/lib/formats/flex_dsk.c @@ -87,7 +87,10 @@ bool flex_format::load(io_generic *io, UINT32 form_factor, floppy_image *image) sdatapos += bps; } // gap sizes unverified - build_wd_track_fm(track, head, image, cell_count, spt, sects, 24, 16, 11); + if(total_tracks == 35 && spt == 18 && (track >= 1 && track <= 2)) // handle Gimix Flex 3.6 disk image, which the boot sector loads tracks 1 and 2 as MFM + build_wd_track_mfm(track, head, image, cell_count*2, spt, sects, 50, 32, 22); + else + build_wd_track_fm(track, head, image, cell_count, spt, sects, 24, 16, 11); } return true; } diff --git a/src/lib/formats/flex_dsk.h b/src/lib/formats/flex_dsk.h index 17718a8c59f..056f53ea9e7 100644 --- a/src/lib/formats/flex_dsk.h +++ b/src/lib/formats/flex_dsk.h @@ -20,8 +20,6 @@ public: virtual int identify(io_generic *io, UINT32 form_factor); virtual bool load(io_generic *io, UINT32 form_factor, floppy_image *image); private: -// static const format formats[]; - struct sysinfo_sector { UINT8 unused1[16];