Saturday, July 22, 2017

Unintentional Floppy Drive Repair

In my quest to collect as much Amiga stuff as possible (not to annoy Mrs Crashed despite what she says), I acquired a box of used floppy drives. All but one have been sold and it is this last one that this post will focus on.

It's an RF-332C which, if I am remembering correctly, was a popular and well regarded model at the time. Well, this one has a problem. It doesn't work. The disks don't spin and there's no sign of life other than a sad little 'chunck' when the Amiga is turned on. I thought that it was beyond repair so I started to strip it down to have a look inside.

The case is easy to remove. Six screws undo and the drive unit slides out of the front of the main case and the controller slides out of the back.

Six Screws
Outer case removed
The drive unit has a metal cover held on by a single screw and a few clips.

Drive Unit Cover Removed

Next, I took out the two screws holding the upper head. This folded over nicely to reveal the bottom head. Both were surprisingly clean. It was at this point I realised I had made a minor error. My assumption had been that the drive didn't spin because the motor was dead.

Nope.

The drive didn't spin because the DRIVE BELT had perished. Yes, this unit has a drive belt. A bit of googling revealed a very useful youtube video which showed how to replace the belt but more importantly revealed that these belts are still available for a a couple of quid. Yay! A few days later the postman delivered an envelope containing said drive belt.

Dismantled - Awaiting new drive belt

Then the enormity of what I had done hit me. I had removed the top head.

Arse.

Floppy drives may seem primitive and a bit quaint in comparison to the storage options we have now but they are actually quite sophisticated bits of equipment. For example, the drive heads must be aligned correctly, to the merest fraction of a millimetre or they just won't read disks - or at least, disks written on other floppy drives including commercially produced disks. And I'd removed that carefully calibrated bit without a care in the world. No matter how hard I tried I was never going to get it back in the right, calibrated place. The drive belt was dead easy to fit without the top head being in place but that's not the point... Re-assembling the drive was also a piece of cake, just make sure everything goes back in the order it came off. Easy.

Does it now work?

No.

That's not quite true. The disks now spin as they should. The drive also attempts to read the disks but, rather unsurprisingly, doesn't.

In a previous post I detailed how I'd used the app by Tobias Richter to 'tune' the head of the floppy disk in the scarlet Amiga. Well, this time I used a combination of that, and X-Copy. It took a couple of hours to get the top head to read anything but then, all of a sudden, I found the spot where it just worked. Excellent.

This got me thinking. Although the slimline drive now works, I wondered if it would actually read all disks, including those formatted by another drive. Would disks formatted in this drive work in another one. Well, as it turns out, by accident I now have three re-tuned floppy drives and a calibration disk written from a known 'good' drive that I no longer have....

Are all three drives now correctly calibrated? Let's do some tests and we'll find out! It'll be fun!*

*Will not be that much fun.

First up, write an ADF file to the internal floppy drive. Then run X-Copy CHECKDISK+ on it. Note that an 'ADF' file is an exact copy of a 'real' floppy disk but held as one file. Using an app on the Amiga I can write these to a disk to give an exact reproduction of the original floppy disk. Here's the result of CHECKDISK+ on DF0: where green 'O's are correctly read data.

Written in DF0 - Checked in DF0.
No problem. Now lets see if this will be read in the slimline drive which is DF1:.

Written in DF0 - Checked in DF1
Again - no problemo!

And now, in the enormous Cumana drive that came with the scarlet Amiga.

Written in DF0 - Checked in DF2
Ah. Not perfect. There are three block checksum errors (the red '6's). Not too bad but still enough that the game may not load properly through DF2:.

So, let's try that again but this time I'll write the ADF using DF1: which, if you remember, is the slimline re-calibrated drive from above. First screenshot, checking the written disk in DF0:.


Written in DF1 - Checked in DF0
No errors. This is a good sign and means that the DF0: and DF1: drives are in a similar state. Next up, checking the disk in DF1 which has just written this disk:

Written in DF1 - Checked in DF1
As expected, no errors but then DF1: did just write this disk! Next is the same disk but checked in DF2, the humongous Cumana drive:

Written in DF1 - Checked in DF2
Oh. That does not look good. Because all of the errors are on the topside I can only assume the heads on DF1 are not in the best position to write the data in a way that can be read by DF2.

Let's move on. Time to write that ADF file to the same disk but now in drive DF2. First check in DF0: picture below:

Written in DF2 - Checked in DF0
Oh dear. Far more problems here than I would have expected. Checksum errors, sync errors, header checksum errors... DF0 does not like DF2 written disks.

Next is the same disk checked in DF1. Based on the results of DF0 I'm not holding out much hope.

Written in DF2 - Checked in DF1
Well, crap. That seems to confirm that DF1s top heads aren't in the best position and may need re-calibrating again. Although, DF0s issues all seemed to be on the top too. Hmmm.

Finally (well done if you made it this far), the same disk checked in DF2.

Written in DF2 - Checked in DF2
This should have been error free but for some reason DF2 says there's a checksum error on the topside. At least that's the only one.

So what have we learned from this? Basically, none of my drives appear to be calibrated correctly but DF0 and DF1 (internal A500+ drive and slimline drive) seem to play together better than DF2.

Any other suggestions welcomed below!