The Disk drive connectors on the CPC or the DDI-1 are pretty compliant with 1985 PC standards. However, the affectation of some pins, along with the microcode ROM of FDCs, have been redefined to match new industry needs. The table below summarizes these evolutions:
Pin # | Prehistorical time (8") | CPC era (5.25" and 3.5") | Modern Drives (3.5") | |||
---|---|---|---|---|---|---|
Role | Dirn. | Role | CPC notes | Role | notes | |
1 | /RDY | ->FDC | (unchanged) | - | /Dsk Ch | Note 1 |
3 | /Side 1 | FDC-> | (unchanged) | Note 2 | (unchanged) | - |
5 | /D Read | ->FDC | (unchanged) | - | (unchanged) | - |
7 * | /W Prot | ->FDC | (unchanged) | - | (unchanged) | - |
9 * | /Track 0 | ->FDC | (unchanged) | - | (unchanged) | - |
11 | /W Gate | FDC-> | (unchanged) | - | (unchanged) | - |
13 | /W Data | FDC-> | (unchanged) | - | (unchanged) | - |
15 * | /Step | FDC-> | (unchanged) | - | (unchanged) | - |
17 * | /Dir Sel | FDC-> | (unchanged) | - | (unchanged) | - |
19 | ??? | FDC-> | /Mot On | Note 3 | /Motor B | Note 4 |
21 | /DS2 | FDC-> | (unchanged) | Not wired | /Select B | Note 4 |
23 | /DS1 | FDC-> | (unchanged) | - | /Select A | Note 4 |
25 | /DS0 | FDC-> | (unchanged) | Note 5 | /Motor A | Note 4 |
27 | /Index | ->FDC | (unchanged) | - | (unchanged) | - |
29 | /In Use | ->FDC | ??? | Note 6 | obsolete | - |
31 | /DS3 | FDC-> | (unchanged) | Not Wired | obsolete | Note 7 |
33 | /Head Load | FDC-> | unused | Note 8 | HD/DD | Note 9 |
Pins with a * have a second function at some periods of drive operation. These functions are:
pin 7: | Two Sides (the drive tells how many heads are available) |
pin 9: | Fault (the drive has a mechanical fault) |
pin 15: | FR (error Flip flop Reset) some drives will not recover from a fault until the FDC tells them to, with this pin |
pin 17: | LCT (low current) reduce the write current for inner track where bit density is higher. |
Numbered notes:
The CPC requires a RDY signal, and if you don't have it you will have to add extra logic to simulate it cleanly (like in some external Amiga drives), or at least put it to 0V (I have reports that this works well !).
If you are lucky, your drive will have a backward compatibility jumper, that will turn back this line to the old RDY function without soldering.
The problems are:
The consequence for the CPC user, is that HD-able drives will not write correctly on DD floppies unless you feed +5V in this pin (= don't reduce current, in inverted logic). But it may not require any soldering, as some drives have a jumper that will do the job for you: once configured, they use the internal senser to set the current automatically, and don't trust the advice from the user.
There is yet another problem you may have: this one is very trivial, it's the shape difference between the connectors. DDI-1 cables have stop-pins on one side, but that's exactly the wrong side ! (this may be a "feature", not a mistake, to keep customers captive) Also, when plugging a 3" in a PC, you may have to file the edges of the connector (files and cutters are the best solutions to these problems, but be careful not to cut the cable itself or the wrong pin).
At last, there is a bug in the AMSDOS ROM, that shows up at least on the 6128: it is unable to access the second drive if there is no disk in the first one (it will report "Drive B: Disk Missing").
Your 3.5" drive may have a mixture of the characteristics above (e.g High Density with old DS lines) so it is important that you check the specs and the wirings of the machine where you took it (if it's a 2nd hand) before you rush on your CPC. I have tried (and destroyed) a couple of drives before succeeding.
My "recommended" choice (the one I got to work) is the Epson SMD-300, which exists in both DD and HD versions. It can be found in *many* PCs and also in some external Amiga drives (with glue logic). I used the old-way DSx with clear jumpers, it has a built-in automatic terminator resistor, and the HD version comes preconfigured for automatic current selection. The pin #1 of its connector is the upper right one (don't trust the labels on the board) and it's a RDY with the factory jumper settings.
Finally, this drive only requires +5V, which can be obtained very easily by soldering a single wire between its connector and the power switch inside your CPC (yes, you must open it, but you've already done that before, right ?) (Connecting the power in this way is not recommended. The CPC power supply is not powerful enough to drive a lot of peripherals. It is best to use an external power supply. - Kev)
These pinouts apply only to FM/MFM PC drives. They have nothing to do with the pinouts of (true) Amiga drives (caution: these have power supplied in the connector, and software data encoding) or Macintosh drives (power supplied, variable spin speed for DD, GCR data encoding, plus MFM too for HD, and automatic ejection).
I don't think it is possible to connect a Macintosh drive to the CPC, or vice versa, unless you build your own new disk controller !
Amigas and Amiga drives are closer to the PC in functionality (drives from Amiga Tech are now actually PC drives) so they could be used if you completely rewired your own cable (never tested this myself).
(I believe that Amiga drives are identical to old PC drives. They must have a RDY line and a disk In-Out detect signal to be compatible with Amiga OS and games. The only other problem is that the Amiga uses the motor line and RDY line to detect the drive type and to identify it is present. Incidentally, a bit of topic here, the same 3.5" used for the CPC is used on the Amiga too.
I had to make sure the motor was always on, so that the drive was always recognised on boot-up. The only downer is that you must have a disc in the drive too!)
Written by Pierre Guerrier.