Robert Morrison

Follow @robert on Micro.blog.

ZX Spectrum +3 Disk B

The ZX Spectrum +3 (and Amstrad CPC) “Disk B” expansion port is the same form factor as a 34-pin edge-connector for a 5.25" floppy disk drive that you’d find in an old PC, so we can use those cables without any other interfaces, and just a small modification.

The source for most of this information was Guide on how to connect a 3.5" drive to a CPC6128/664, and my thanks to kokkiklhs on the Spectrum Computing forums for their highly detailed post that got me up and running! After I published this post initially, Guesser reccommended another method for modifying the cable that better protects the Spectrum from damage.

As the CPCWiki article notes, such floppy drive ribbon cables don’t seem to be made any longer but they still come up for sale regularly on eBay (etc.). I’m not really familiar with PCs but the cables tend to come in 3- and 5-connector varieties, and usually with the distinctive twist at one end. The connectors will be a mixture of 5.25" type (i.e. card style connector) and 3.5" type (i.e. 34 pin socket). One edge of the ribbon will usually be marked in red, to signify pin one.

Connecting and configuring

For use with a Spectrum we need a cable with at least one of each type of connector with no twist in between.

In addition, if the cable has at least two of the 3.5" style connectors that’s handy—we can use the extra socket to add a 1N4148 signal diode short pins 33 and 34 together. This that asserts “drive ready” signal when for Disk B when that drive is selected. This isn’t needed for a Gotek since it does provide the Ready signal, but will probably be needed if you are using a real floppy drive from a PC.

Modern PC floppy drives do not provide a drive ready signal which the Spectrum requires. The diode is used to hold the Spectrum's READY line low whenever the external drive is selected. This is better than simply shorting the line to ground as it still allows the the system to detect that the internal drive is empty and therefore doesn't cause the +3 Loader to hang if there is no disk in drive A:. In other words, you can still load tapes from the menu loader without having to remove the cable or manually toggle a switch.

From External floppy drive cable for the Spectrum +3 by Guesser

Diode inserted between pins 12 (anode) 34 (cathode)

(For a more robust solution see that article for instructions on how to solder the diode in line with the cable).

Optionally, shorting pins 11 and 12 will allow the external drive to be treated as the primary drive (i.e. Disk A). In order to have the Spectrum swap the drives (so the extrnal one is considered to be Disk A) then a (non-trivial) internal modification is necessary.

The 5.25" card-edge connector is keyed so it can only be inserted one way up. This is connected directly to the Spectrum’s Disk B expansion port. The keying is reversed so effectively it’s upside down: 

ZX Spectrum +3 with floppy cable inserted

To account for the reversed keying, the floppy drive (in this case I’m using a Gotek floppy drive emulator) connector is fitted upside down. That is, the red stripe (usually pin 1) is actually oriented to pin 34. The locating notch points upwards. I’ve marked mine with “top” as a reminder.

The actual orientation will depend on how the PCB is mounted in your floppy drive (or Gotek). With the drive powered on, but the Spectrum powered off, the drive will complain that the cable “may be upside down” but once the Spectrum is powered on the drive will work correctly.

The Gotek jumper S1 should be set. All others (M0, S0 etc.) should be un-set. 

Gotek connector with jumper S1 set

Many of the disk images in ZXDB will work directly from the Gotek, but only if the drive has been designated the role of Disk A. To do that, we need to could short pins 11 and 12 but it is a much better idea to perform the internal switch instead. Once that’s done, the Spectrum will treat the Gotek as Disk A (and it seems Disk B as well); the internal drive will be ignored.

ZX Spectrum +3 with Gotek attached

Home made disks

A lot of commercial disk images, though available for download, will have copy protection that will make them difficult to transfer from Gotek to a real floppy. (This is discussed in much more detail in kokkiklhs' thread). They will run fine from the Gotek though.

On the other hand, 2015’s Castlevania: Spectral Interlude by SaNchez et al is available in +3 disk format. Similarly the 2019 game Redshift by World XXI Soft has an unprotected +3 disk image available. (Redshift is available to buy on cassette as well).

Using John Elliott’s DU54 I was able to write each game to either side of a real 3" floppy no problem. Castlevania has a really well implemented save-game system that automatically records your progress on the disk.

3-inch floppy disk with hand-drawn Castlevania logo