RFC: Floppy reader/writer project

Philip Pemberton classiccmp at philpem.me.uk
Sat Feb 16 11:35:32 CST 2008

Ray Arachelian wrote:
> I wish I had one of these right now.  Someone who has UniPlus Unix for 
> the Lisa dug up his disks for it and is attempting to make images of 
> them.  They are copy-protected, but worse yet, they've been stored in a 
> non-climate controlled garage, and some of them are unreadable.

Ouch! :(

> If it would be possible to add a way to grab the analog waves (digitized 
> to 8 bits?), in addition to the pulse-gap mode, it would help a bit too 
> in terms of data recovery for weaker disk areas.

The problem is, you'd have to modify the drive to do that. The read head 
amplifier on just about all floppy drives (certainly all modern drives) does 
some pulse-shaping on the signal as well.

What you'd have to do is find the amplified signal, then bring it into the 
range an A/D controller would accept, and digitise it. You'll probably want at 
least 20 megasamples/second to get a good amount of resolution out of the 
data, and for a revolution time of a second, you're talking 20 megabytes of 
data per track (assuming you use an 8-bit converter).

What you can do with the pulse-timed data is read it out, then look at it and 
analyse it based on the encoding rules. So you could throw away data pulses 
that are obviously too close to others, or adjust the timing window 
dynamically to compensate for motor speed variations.

One of the ideas I had for the Ext I/O inputs was a motor tachometer/position 
detector that constantly tracks the instantaneous speed or position of the 
motor spindle. Then you can look at the data from that, and adjust the timing 
values to get rid of motor speed induced errors. After that, all you're left 
with is the comparatively small error from the clock source (usually the 
crystal). This sort of thing probably wouldn't be too hard to add to the 
average 3.5" or 5.25" disc drive... the hard part would be getting the encoder 
wheel exactly centred on the spindle hub.

Phil.                         |  (\_/)  This is Bunny. Copy and paste Bunny
classiccmp at philpem.me.uk      | (='.'=) into your signature to help him gain
http://www.philpem.me.uk/     | (")_(") world domination.

More information about the cctalk mailing list