SlackFest 2007

Ok, I’ll admit it.  I’ve been slacking like the best of them.

I’m not horribly unsatisified with my progress, especially this year.  The first four months of this year I achieved the following:

* Whole first ADF written January 29th
* Much cleaner hardware, single circuit board February 14th

* Data is now byte-sync’d, transferred sectors in order Februrary 17th

* Working Java client March 26th
As far as next steps go, I’ve got to

1> get error correction and retries working in the java client

2> clean up the gui and set up a “save config file” option, selecting serial ports, etc

3> clean up the java code

4> start testing it under Ubuntu

I’m very interested in error recovery, and I have been putting a decent amount of thought into it.  I’m really fascinated by the fact that Amiga floppy disks have tons and tons of structure.  First, the MFM is output in such a precise and predictable way, ie we know that no two 1’s are found back to back, no more than three consecutive zeros, etc.  We also know about the way clock bits are inserted.  And because of this fact, only certain bytes are possible when made up of these certain bit patterns.  In fact, only 32 are possible.  With the help of a checksum, I think it would be possible to brute-force a certain number of bad bytes.  Now I do think that the checksum is particularly unhelpful for this (XOR, I think), something like MD5 would be da bomb.  No false chance of duplicates yielding the same checksum.  I don’t understand or appreciate the (math-based) ramifications of using XOR though.  It’s certainly used everyplace within encryption, so this is might be better than I think.

My read routines are no longer raw, although I’m probably going to go back and add a raw read function.

I’ve tossed around the idea of simplifying this project even further by eliminating the FRAM memory and adding real-time functionality which I know the emulator crowd wants.  This is further down the line, and honestly, I don’t even know if its possible (or at least, not sure how I would do it)

I’ve still been managing between 12,000 and 20,000 hits per month (about 10,000 unique visitors), and so I really appreciate the continued interest people have shown.  This is really a fun project, and I’m looking forward to expanding it and making it better and more useful.



Amateur Electronics Design Engineer and Hacker


  • I think this project looks really promising!
    I really want to build or buy one of these when it’s ready.

    When will the hardware be finished?

  • Well the hardware isn’t far from being finished.

    The project is in a constant state of flux, constantly being improved, so the hardware is likely to change in the future. Namely, a custom PCB, and so on.

    I wouldn’t expect any MATERIAL changes in the hardware aspect.

    The Parallax SX28 is plenty fast enough, the FRAM memory can hold two tracks, the USB2SER serial adapter is pretty stable, and so on. So there won’t be many hardware changes to the key components.

    Even the wiring is pretty easy, basically just connecting some stuff to ground, some stuff to +5v, and the other pins to the microcontroller leads.

    The hardware as-is supports writing disks as well, as though there is zero support for it in software.

    I’ve got to get the basic client working reliably, and then I’ll go on from there.

    I really have no plan to sell it assembled, so it will be a very much DIY project. I am looking to streamline the hardware as much as possible to avoid any complicated aspects…..