Drive letters vs drive numbers

The external disk drive connector of the +3 and +3B allows you to easily connect a common 3.5″ drive and use double density diskettes. This drive (Drive 1) normally appears as logical drive 'B', while the internal 3″ drive (Drive 0) is logical drive 'A'. The drive letters can be remapped in software but this only affects high level disk operations going via the +3DOS filesystem calls.

CP/M and many copy protection routines bypass the ROM and control the floppy drive directly. This effectively prevents loading from anything but the internal drive.

It is possible to force the Spectrum to use the external drive by shorting out the drive select line on the external drive ribbon cable, cables are even available from eBay with switches fitted, however this is really bad practice. Not only does it prevent automatic drive selection, it also shorts out a logic gate.
IC18 which is shorted out is a 74HCT type so doesn't immediately fail when shorted out, but will potentially be damaged by continued abuse.

A much better (though more invasive) way to switch the physical drives is to swap the drive select lines. I used a 2×2 header and pair or jumpers but a DPDT toggle switch wired as a changeover would work just as well.


The N_DRIVE_1 and N_DRIVE_0 (see +2A/+3 schematic) traces are both cut, and wires taken to a 2×2 header which is wired in such a way that by turning the jumpers 90 degrees the signals are crossed over. This means that drive accesses to Drive 0 instead activate the external drive and vice versa.

I bodged together this little board to create internal drive swap jumpers using the plastic part of a 2×2 header and four pins pulled from right angle header strip. Sliding the right angle pins into the plastic part and soldering them surface mount style to a small peice of prototyping board. This board was then affixed with a small amount of hot melt glue to the Spectrum motherboard and wired in across the cut PCB traces as described with some fine enamelled wire.

Important notes

The drive selects should only be swapped when the Spectrum is powered off so that the system gets initialised in a sensible state. If you switch the drives while the computer is running you are likely to have all sorts of strange behaviour, which can include the internal 3″ drive crashing and jamming up its head assembly

The drives should also only be swapped when an external drive is actually present. If the Spectrum is booted with the drive selects swapped and no external drive connected it will only be able to access the internal drive as "B:" i.e. +3DOS will not allow you to copy between two disks in the same drive.

When the drive select lines are switched the activity LED on the internal drive will remain fully lit continuously.