DIY Joystick Splitter Project

So, what's a joystick splitter do?

If you own one of the original CPCs (i.e. not the Plus models), it will probably have come to your attention that, while some games have two-player options, your computer only has one joystick port. This was because, when the CPC was first released, there were joysticks for it made by Amstrad. The first one of these joysticks had a socket on the back which you could plug the second one into. Cynical marketing move by Amstrad to try and make CPCers buy their joysticks? Probably. And it might have worked, if only these sticks hadn't been complete and utter piles of steaming horse manure. Everyone bought real joysticks instead.

Luckily, it's possible to make a joystick splitter. This plugs into the joystick port and has two sockets coming out of it for your two joysticks. Hurrah!

How do I make one of these widgets, then?

This page will tell you what parts you need and how to wire it up. And it's not actually all that difficult. Read on! (after reading the unsettling disclaimer , of course)


OK, I'm reading on

If you've already read the page about the joystick port, then this bit of theory will already be familiar. But here's a brief recap: A CPC joystick is really just a set of switches - one for each direction and one for the fire button. When one of these switches is closed, it connects one of the pins of the joystick socket to the "Common" pin (it's called "common" because it's common to all the connections). As you can see from the diagram and table below, there are four direction pins and two fire pins.

Joystick Port Pin Diagram
Joystick port pin diagram
PinSignalPinSignalPinSignal
1Up4Right7Fire 1
2Down5Spare8Common
3Left6Fire 29Common 2

Actually, most joysticks only use one fire button. This is "Fire 2" (confusingly enough). The "Spare" pin is usually unconnected too. However, joypads on the CPC Plus did have two fire buttons, and the original CPC range also let you use the "Spare" pin as an additional input. For simplicity, this page assumes you're only interested in single-button joysticks.

Now, the first joystick has four direction switches and a fire switch. Each switch connects the relevant pin to the "Common" pin (pin 8). The second joystick works exactly the same, except that the switches have to connect to "Common 2" (pin 9) instead.

There's one more thing to take into account: if one player presses multiple joystick switches at once ("Up" and "Fire", for instance), those controls are effectively connected together via the "Common" pin. This means that if the second player presses any one of those controls, it'll be as if they'd pressed all of them (so if they pressed "fire", they would fire and move up). Nightmare! However, you can prevent this using diodes: small components that only let electrical signals pass in one direction. The 1N4148 diode is extremely cheap and easy to find, which is good because you'll need one for each control.

Aha, I'm getting the idea now

Maybe, having read that bit, inspiration will have come upon you like a lightning flash. If so, you should yell "Eureka!" and run wildly to your local electronics shop to buy the parts.

In case this has not occurred, I have included the rest of these instructions. What you are going to build will have a plug at one end for sticking into the joystick socket on your CPC. The other end will have two sockets, one for the first joystick and another for the second.

Below is a list of the parts you'll need. For small quantities of components such as these, your best bet is eBay or a hobbyist supplier such as Bitsbox, either of which should have them at reasonable prices.

QuantityPart
19-pin subminiature D-connector (female), solder type
29-pin subminiature D-connector (male), solder type
39-pin D-connector covers
101N4148 diodes
-Some wire
-Heat-shrink tubing (optional?), 2 to 3 mm diameter

If you have an old broken joystick lying around somewhere (you must have, everyone does), you can cut up the lead from that for the wire. This is a good idea, firstly because it saves cash and secondly because the wire used in joysticks is usually wonderful thin stuff that's rather excellent for hardware projects. If you have to buy the wire, you'll need the thinnest cable you can find with at least 6 wires in it. Or if you can get some of that ribbon cable which has each wire coloured differently, I think that would work really well.

The heat-shrink tubing is optional, but can make life easier by insulating the bare ends of wires where they're soldered to things, making it harder for accidental short-circuits to happen. You want a diameter that's wider than your wire, diodes, and solder connections on the back of the D-connectors, but also shrinks small enough not to slip off once it's there. Something around 2 or 3mm in diameter should be about right.

When using heat-shrink, remember to slip a piece of it onto the wire before you solder it to something (speaking from my own absent-mindedness here). Once it's in place, you can shrink it to fit using a hairdryer on its hottest setting. It's also possible to shrink it with a soldering iron tip or a cigarette lighter flame, but it's much harder to do it that way without scorching anything.

Terminology

Maybe, having read the parts list, you are wondering why connectors come in "male" and "female" varieties. Well, er, how can I put this...

Male connectors are the ones that have the pins sticking out. Female connectors have holes for the pins to push into. Male connectors "mate" with female connectors (yes, really). Are you getting the idea?

All this probably tells you a lot about electrical engineers.


Getting It Together

This is going to be the hardest bit for me to explain clearly. But I'll try.

Note on pin numbering: the 9-pin connectors usually have the pin numbers marked on them to make things easier, but it can be hard to read the very small numbers moulded into the plastic. If you're looking at the solder side of the connector, the female connector has pin 1 on the top left and pin 9 on the bottom right, while the male connectors have pin 1 on the top right and pin 9 on the bottom left.

We're now going to wire this thing up, step by step. There's a wiring diagram as well, in a pitiful attempt by me to make things clearer.

  1. You have read through the whole of this page before sitting down with your soldering iron to build this thing, haven't you? Thank goodness for that.
  2. Get that soldering iron nice and hot.
  3. Clip the legs of the diodes down to half a centimetre or so. Note that they have a band on them to tell you which way round they go. Solder one to each of pins 1, 2, 3, 4 and 6 on both of the male D-connectors, with the diodes' bands towards the connector pins.
  4. Get a length of cable and solder the following connections between the female connector and the unattached ends of the diodes on one of the male connectors: Pins 1, 2, 3, 4, and 6 on the female to pins 1, 2, 3, 4, and 6 respectively on the male. If using heat-shrink tubing, this is where you have to remember to slip a piece of tubing onto the wire before soldering it. Use a piece long enough to cover the bare end of the wire, the whole diode, and the solder connection on the back of the D-connector. Nice and neat!
  5. Now solder pin 8 on the female to pin 8 on the male. This is now the socket for the first joystick.
  6. Get a second bit of cable. Repeat step (iii) using the other male connector.
  7. Solder pin 9 of the female connector to pin 8 of the second male connector. This is now the socket for the second joystick.
  8. Cover up all the wiring by putting one of the covers on each of the connectors.
Joystick splitter wiring diagram Schematic with circuit symbols
Wiring diagram Schematic showing the wiring for joystick 1
in black and joystick 2 in purple

What you should have ended up with is a working joystick splitter. Now you can plug it into the CPC to test it. So grab a joystick, plug it into the splitter and give it a waggle. For the first joystick socket, you should get arrows appearing for the directions, and a cross when you press fire. The second joystick socket should give you letters and numbers instead.

If everything works perfectly, you are probably dreaming. No hardware project ever works properly first time.

If, due to your amazing prowess with a soldering iron, it really is working first time, a celebration is certainly in order! So brew up the coffee, invite another CPC nut over, and load up Silkworm, or Gauntlet, or Ikari Warriors, or whatever the heck your favourite two-player death-fest is. You can pat yourself on the back with the hand that isn't holding the joystick.


Damn. It doesn't work properly.

If you find that it doesn't work properly, do not despair! Hardware projects are notorious for not working first time. Well, mine are, anyway. These troubleshooting tips should help you on your way to that celebratory game of Operation Thunderbolt:

  • Check you have made each and every one of the connections described in the method.
  • Check you have connected the right wires to the right pins.
  • Check for short circuits. Stray strands of wire and blobs of solder can sometimes make a connection between two pins. A magnifying glass can be useful for checking for this.
  • Check your soldering! Re-solder any joints that could be causing the problem, particularly if any of them look cracked or otherwise suspicious.
  • If you can't see anything wrong, get a friend to check it.
  • Make sure it really is the splitter's fault, rather than a duff joystick.
  • It's just possible you have a broken bit of cable in the splitter. This is rather unlikely, particularly if you're using new cable. If you have a multimeter or continuity tester, you can check each wire in the cable with that. As an absolute last resort, try soldering in a new length of cable.

Further notes

The only problem I can foresee with this project is with fitting two cables into one D-connector cover, as will be necessary for this project. This is another reason for using the thinnest cable available, or ribbon cable. If there turns out to be a problem with this, you may be able to cut away a bit of the plastic cover with a sharp knife to allow both cables to enter.

The project as it stands does not connect any wires for the second joystick button. This is not really a problem, since virtually no CPC joysticks supported a second fire button, and very little software on the original CPC needed a second button.

However, the paddle controllers supplied with the CPC Plus range had two independent fire buttons. Should you want to use one of these on a normal CPC, and should you actually find a use for its second button, then you'll have to wire up the splitter to support it. You'll need extra wires (with a diode each) going from pin 7 of the female connector to pin 7 of each of the male connectors.

And Finally...

Good luck, and have fun!


Back to: