Floppy disc reader – stage one complete!

Yes, I know, it’s been a while since I’ve posted anything here — a few days shy of two months in fact. Hopefully this little posting will make it worth the wait 🙂

Over the last couple of years, there’s been something of a resurgence of interest in ‘vintage’ computer platforms – the old BBC Micro, ZX Spectrum, et cetera, et cetera. A lot of the people involved in saving these machines from landfill (or ‘recycling’, i.e. chopping them up and melting the remains down to salvage the metal) have been trying to archive data from the discs – system software and boot discs especially. The problem is, these discs are – in some cases – over 20 years old, and well beyond their intended service life. Not only that, but the formatting is often rather odd and can’t be read by modern PC floppy disc controllers. There is a solution already – the Catweasel disc controller. Shame it’s so expensive and hard to get hold of, not to mention the fact you need a full sized PC to actually use it – totally impractical for ‘my friend has a copy of the PRIMOS master discs and I want to archive them, but he won’t let them out of his sight’ type situations.

So I’m attempting to come up with my own solution to the problem – a portable disc reader with a USB (or RS232) interface, capable of decoding just about any floppy disc format known to man.

So far the sum total of the work I’ve done on it is getting the data separator and synchronisation word detector working. I can’t make it archive discs yet, but what I’ve done is most of the ‘hard stuff’. The only stuff left to do now is the MCU interface (and firmware) and RAM interface for reading and writing. If I manage to do this in less than two XC9572XL gate array chips, I’ll consider it a miracle.

And without further ado, here are some pretty screenshots for you to look at:
Logic trace – data separator/sync detector locking onto an IAM on a 3.5″ DSDD (720K) floppy disc:

Logic analyser trace - syncing against 720K floppy


Logic trace – data separator/sync detector locking onto an IAM on a 3.5″ DSHD (1.4MB) floppy disc: