Amstrad external floppy disk drive (FD-1) adventure
Before my Amstrad CPC 464 and CPC 6128 there was this (Figure 1): An Amstrad external floppy disk drive and interface. This boxed accessory was donated by a collector (thanks Ben) who was downsizing. At the time I didn't have any Amstrads but I always intended to get at least one of the models. I figured when that time came an external drive would come in handy. Besides, you don't look a gift horse in the mouth, right? (-:.
Figure 1. Boxed FD-1 (and tucked inside a DDI-1 too!)
In the last few months I had acquired a CPC 464 then unexpectedly a CPC 6128. With both units now working well, the FD-1's time had come.
Figure 2. The external floppy disk drive (FD-1) and disk drive interface (DDI-1)
The external drive itself is a rugged but attractive looking bit of kit. There is a built-in PSU, and the charcoal colour scheme matches the CPC computers. As it's designed for the latter, it takes those unusual 3-inch disks. Attached to the drive you can see a Disk Drive Interface (DDI-1). This is designed to be plugged into the floppy port of a CPC 464 as that model is lacking a drive controller. Later CPCs don't need the DDI-1 as the disk drive interface is built in.
Before inserting one of my newly unsealed 3-inch floppies into this untested drive of unknown history I wanted to clean the heads. Dirty, gunked up read/write heads will not only prevent data from flowing but can also carve grooves in the disks rendering them unusable! Six screws later the top was off (Figure 3) and the read/write head exposed (Figure 4).
Figure 3. Under the hood of an Amstrad FD-1
Figure 4. Drive head (dirty!)
The head did look to be somewhat grubby so it was a case of reaching for the isopropyl alcohol and a cotton bud (Q-tip to you North American folk), and giving it a good wipe. Once it was clean and shiny, I reassembled the drive, plugged it into my CPC 464 and tried to read a disk...
...without success. Hmm...in fact the disk didn't even seem to be spinning. Further disassembly revealed the reason why. As is often the case with belts in ancient drives, the former had completely perished. All that remained were the brittle remnants (Figure 5).
Figure 5. Drive belt (perished!)
Fortunately, I had anticipated this very issue. When I'd ordered the replacement write pin for my 6128 drive (from U. K.-based DataServe retro) I'd also ordered a couple of spare belts at the same time (Figure 6). Why not buy "might-need" spare parts and combine postage while I was at it, was my thinking.
Figure 6. Replacement drive belt (x2)
I found a handy Youtube video on how to replace these belts and soon I had a fresh one in place!
However, there were still issues. The drive was now spinning just fine but my software-stocked disks (prepared on my 6128) were exhibiting a lot of read errors. Some could not be read at all. The FD-1 could format and verify the drives OK though. It could also read the commercial disks I had, just not the ones formatted and written on my CPC 6128?
This led me to conclude it might be a speed issue. Given that the FD-1 could read commercially written disks, maybe my CPC 6128 internal drive was just too slow or too fast. Mind you, the 6128 could read the commercial disks too, but it was a different model drive (with a different motor) and maybe a little more tolerant?
Through this useful wiki on the CPC drives I found a disk drive speed testing program called RPM. I soon had this copied to an Amstrad disk. I'd used the 6128 internal drive to write this disk as I had with the others but RPM was only a short program and the FD-1 could read it in most times Sometimes it needed a couple of tries though!
Figure 7. Original drive speed on the Amstrad FD-1 (left) and the internal drive of my Amstrad 6128 (right)
Figure 7 shows the corresponding speeds over track 20, which is midway over the disk. The FD-1 was a little faster (2 RPM) than it should be. In contrast, the CPC 6128's drive was over 5 RPM slower than it should be. The difference therefore was about 8rpm which I figured was probably beyond tolerance in most cases. This was the reason for FD-1 read errors on disks formatted and written on the CPC 6128.
As mentioned earlier, the internal drive of the CPC 6128 and the FD-1 had different motors. I identified them as a QJN2-type and MMA-type respectively. That wiki article described how to alter the speed of these motors.
Ideally I wanted to get them both running at 300 RPM but there was a problem. The FD-1 drive's adjustment hole seemed to have a seal over it. Furthermore the aforementioned article notes that great care is needed adjusting the speed in this motor as it's easy to break the variable resistor off the circuit board. The CPC 6128's drive on the other hand had an easy-to-get-to adjustment slot. Given this was the drive that had deviated most from the standard speed of 300 RPM, I decided to just re-tune this one, and leave the other one as is (at 302 RPM). Hopefully, a difference between the two of just 2rpm is within tolerance and disks could be interchanged between the two drives without issues.
Figure 8. Drive motor adjustment windows. Amstrad PD-1 (left) and 6128 internal drive (right)
One final step
Now that the speeds were close there was still one thing I had to do. Re-copy all my software (about 10 disks) originally written at 294 RPM onto disks re-formatted and re-written at 300rpm. Thankfully my re-tuned CPC 6128's internal drive still could read the disks which were written to at a lower speed. After much reformatting and copying I had a set of disks written at the correct speed. These were checked for loading errors on both the CPC 6128's internal drive and the FD-1 to ensure software could be loaded from all disks (including the commercial disks) on both drives without a hitch. It could. Sweet!
Figure 9. The Amstrad CPC 464 now working well with the DDI-1 and FD-1
FD-1 and DDI-1 on the CPC 464
Figure 9 shows the CPC 464 with the DDI-1 and FD-1 attached. It takes up some space width-wise and the cassette is redundant in this situation (unless compiling a tape library) but doesn't the colour scheme look funky and cool!
FD-1 on the CPC 6128
The FD-1 also worked well on the C 6128 as a second drive but with some changes. The drive cable shown above appeared to be hard-wired into the DDI-1. No problem. I found that the cable I'd made up for the 3.5 inch external floppy drive used to compile my Amstrad disk library, worked just fine as a replacement (Figure 10).
Figure 10. Cable from the Amstrad CPC 6128 to the FD-1
However, another modification was needed to use the FD-1 on the CPC 6128 and this involved opening the drive case. Strangely, the DDI-1 interface is powered from the FD-1, not the CPC 464 itself. This means there is 5 volts on the disk cable. In the absence of a DDI-1 (as in this case) there was a risk that voltage could suddenly feed into the CPC6128's disk controller where it's not suppose to, particularly if the cable is plugged in the wrong way around! As that voltage feed is not needed when an FD-1 is plugged into a CPC 6128 I unplugged the 5 volt feed from the cable interface board in the drive (Figure 11). Better be safe than sorry!
Figure 11. Five volt lead unplugged from the FD-1 circuit board feeding the drive cable signals.
Figure 12 shows the CPC 6128 running CP/M+ with a two drive setup. Actually, apart from CP/M, most Amstrad disk software is designed for just a single disk drive system so, unless lots of disk copying is going on, two drives are not needed. It's good to know I can do things on a reliable 2-drive CP/M system if I want to though (-:
Figure 12. Amstrad CPC 6128 with the FD-1 showing CP/M directory a: and b:
The last few months have seen me working almost exclusively with Amstrad projects. From knowing very little about these machines at the beginning of the year, I now know quite a lot. I've mostly been impressed!
8th October, 2015