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).
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
(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: ￼
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. ￼
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
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.