Open-source floppy reader: the data separator/sync-er works!

Jules Richardson julesrichardsonuk at
Tue Apr 10 03:24:45 CDT 2007

Chuck Guzis wrote:
> On 10 Apr 2007 at 0:13, Philip Pemberton wrote:
>>    I've got the first stage of my floppy disc reader working! Meaning, the 
>> data separator and synchroniser works - I have a circuit that outputs a pulse 
>> whenever the MFM 'magic sync sequence' (0x4489) is detected. In theory, I can 
>> use that to sync the reader against sector boundaries on IBM-format discs, or 
>> track boundaries on Amiga discs.
> Philip, it sounds like an interesting project.  However, I've got an 
> itch in my brain that I can't seem to scratch.  If you're doing bit 
> transition timings, why even bother to have an AM detector or data 
> separator?  You can do all of that in software.   Are you restricting 
> your design to MFM and FM encodings?

I suspect it's just to read disks that don't start the track at the index 
pulse (I'd wondered the same thing until his post about Amiga floppies).

Stitching bits of track buffer together is quite possibly impractical due to 
slight fluctuations in drive RPM and hardware delays when an index pulse is 
detected. I suspect the only way to reliably read such disks is to either do 
the "start of track" detection in hardware, or to sample the track from the 
first index pulse up to the third index pulse and decode in software.

It's an interesting problem, and not one I'd given any thought to: I'd made 
the assumption that start-of-data was always going to follow some sort of 
hardware-supplied pulse (either index alone or index + sector in the case of 
hard-sectored disks)



More information about the cctalk mailing list