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!
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)
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.
Pin | Signal | Pin | Signal | Pin | Signal |
---|---|---|---|---|---|
1 | Up | 4 | Right | 7 | Fire 1 |
2 | Down | 5 | Spare | 8 | Common |
3 | Left | 6 | Fire 2 | 9 | Common 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.
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.
Quantity | Part |
---|---|
1 | 9-pin subminiature D-connector (female), solder type |
2 | 9-pin subminiature D-connector (male), solder type |
3 | 9-pin D-connector covers |
10 | 1N4148 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.
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.
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.
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.
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:
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.
Good luck, and have fun!
Back to: