dfitoimd: decoding Intel M2FM floppy flux images (was Re: Intel 432 floppy flux images for decoding)

Eric Smith spacewar at gmail.com
Sun Aug 7 23:52:18 CDT 2016

On Sat, Aug 6, 2016 at 5:12 PM, Eric Smith <spacewar at gmail.com> wrote:
> My ADPLL data separator has parameters to control the proportions of
> frequency adjustment and instantaneous phase adjustment that are done
> at each flux transition. I've experimented with the parameters quite a
> bit, but it's still not good enough to reliably recover all sectors
> from the disk images that started this thread. The default parameters
> are currently 0.5% frequency adjustment and 10% instantaneous phase
> adjustment. I was actually fairly surprised that I didn't get better
> results with more frequency adjustment and less instantaneous phase
> adjustment. It's entirely possible that my algorithm isn't very good.

Of the four Intel M2FM disk images I've tried, which are single-sided
77 track 52 sector 128 byte, for a total of 4004 sectors, I get 3990,
3981, 4004, and 3976 sectors read apparently correctly (without CRC
error). That's more than 99.3%, which isn't good enough.

Can anyone share a sample DiscFerret image (.dfi) of a normal
double-density (MFM) disk?  I don't think my data separator
performance should be much different for MFM vs. Intel M2FM, but it
would be nice to give it a try.

I've built my own floppy imager hardware, but I haven't yet written
firmware for it:
It's a daughterboard for an Artix 7 FPGA board that Emanuel Stiebler
made. The only thing wrong with his FPGA board is that it isn't
readily available.  The daughterboard just has SN7438 drivers and
SN74LS14 Schmitt triggers, terminators, and series resistors for 5V

There's also a SMC FDC92C39B data separator on the daughterboard, but
it's not actually in the floppy data path. All of its I/O signals go
to the FPGA. It's there to serve as a reference for comparison.

More information about the cctech mailing list