# Connecting PC Drives to the CPC

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.

### Notes

- The meanings of the pins on the CPC are explained in the document about the external connectors.
- Where the role of the Pin is prefixed with "/", this indicates this signal is "active low"

Numbered notes:

1. RDY used to tell the FDC that the drive is ready (logic board responding, door closed). Now on AT drives (or above), there is an ejection senser (Amiga-like, but not identical) that uses this pin.

   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.

2. The CPC used single-sided drives and AMSDOS will never try to use the second side. But this line is perfectly functional for an external 3.5"/5.25" drive and another DOS. See the side switch document for more details.
3. Although this signal is correctly generated on the CPC, all 3" drives will always start their motors as one even when they are not selected. This is a 3" drive peculiarity. On old 8" drives, the motor was always on, and I don't know what the function of this line was (who cares ?). Note that this line is generated by extra logic on the CPC board (the CPC FDC *is* an 8" FDC and has no Motor On output pin), hence the different I/O port (address bit 8 low for the drive motor).
4. In the old days when hard drives where unusual, people often needed up to 4 floppies (1 startup, 1 work, 1 back up...). Today (1995) PCs with only two floppies are exceptions so all the DS0-3 lines have been replaced by only two selection lines and two independant motor controls. To spare a few jumpers on the drives, they may also twist the ribbon cable so that the A and B lines from the FDC come on the same position on the two drives (which must then both believe they are drive B - those new drive can be identified because they have no DS jumpers, or only 2 position).

   The problems are:

   - when plugging a 3" drive 0 (DDI-1) in such a PC (in position of drive 1, before the twist), as explained in the FAQ, you'd better remove all other drives or they may be destroyed, because the 3" will interact badly with the new identification trick...It seems the DDI-1 short-circuits at least its DS0 and 2 lines (DS2 is not used on the CPC, but it's the pin the PC will use to activate the DDI-1 as B: and it works ! so they must be short-circuited) which means it also sends some garbage to drive A: (3.5" if left in place) with effect of selecting it too apparently ! Moreover, it means that the FDC is short-circuited (the pins 21 and 23, with output potentials 0 and +5V, are in contact) and destructions have been reported.
   - when plugging such a drive to a CPC:
     - if it is identified as drive A surprisingly it will catch the Selection signal correctly (SelA is on DS1 !!) but not the Motor On signal: you will have to connect pin 19 from the FDC to pin 25 of the drive.
     - if it is identified as drive B (or if it has no jumpers !): it will catch the Motor On signal correctly, but not the Selection signal (the new SelB is on DS2, not wired on the CPC): you have to twist part of the ribbon cable to swap lines 21 and 23 and have SelB match DS1.
5. The internal (0) drive selection is not wired externally on the CPC 664/6128, only to the internal drive. DS2 and 3 are not wired at all on any model, so a CPC cannot use more than two drives without modification.
6. The "In Use" line is not wired on the CPC (I don't know what it was meant for anyway). Some 2.88MB drives have an "Extra Density" detection somewhere, could be that nowadays. But they're so expensive you'll certainly not buy one for your CPC!
7. On some drives, seems to be a copy of pin 19 (Motor On). Not wired on CPC anyway.
8. Head Load was used on 8" drives to pull the head away from the disk, to minimize aging (those drives had their motors turning at all times). It is not wired on CPC, but some modern drives will require it to be +5V at all times (see note 9).
9. High density (HD) drives have affected this pin to the control of the intensity in the head (it must be decreased for HD coatings). If applied to a double density (DD) floppy, the reduced current will not write data in a correctly readable manner. And if the high current is applied to a HD floppy, you will not be able to write more than 900k on it (or the bits will "melt"). If you want later to use it to its full 1.44 MB, you may have to reformat it several times to remove the print.

   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.

### Last Important Notes:

For some strange analog reason, you need to have a "terminator resistor" somewhere on the last drive of a chain. Some drives have it built-in (then you may have to activate it with a jumper), some others have a socket for it (you must plug it in). If this resistor is not set up properly, you will have strange data errors with all your drives.

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.

### Recommended Drives

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)

### Important Notice:

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.