Category: Main page » Computer

Atari-style joystick to PC joystick adapter


9 pin D-SUB male
9 pin D-SUB male connector  to the Atari joystick

Some games are easier to play with digital joystick instead of analogue type. Unfortunately PC has only analogue joystick connector, which makes it impossible to connect normal digital joystick to it. But with a little adapter circuit, it is possible to use Atari style digital joystick with IBM PC joystick interface. The circuit adapts the joystick connectors and converts digital joystick movement signals to analogue signals. The circuit can be used with any PC game to replace the original analogue joystick. The circuit also simulates also Gravis Gamepad operations except the extra buttons.

R1,R3,R4,R6 2.2 kohm
R2,R5 100 kohm
T1,R2 BC557
D1,D2 1N4148
P1,P2 100 kohm trimmer
Generally the circuit is not very sensitive to the component differences on diodes and transistors. Generally almost any small signal transisotr with Hfe on range of 100-500 should do the job. For the diode you can use almost any common diode, like very popular 1N4001 rectifying diode.

The circuit operation

The interface circuit directly connects the joystick buttons to the corresponding PC joystick connector pins because they operate similarly in both joystick types. Because PC need different resistances to X and Y inputs to know the joystick position, the circuit converter the four switch inputs form the Atari stick connector to the different X and Y resistance values which are the outputted to PC joystick port. The circuit gives the following resistance values from the 9 different positions an Atari-style joystick stick can have:

       ¦ x = 0 kohm   ¦  x = 50 kohm  ¦  x = 100 kohm ¦
       ¦ y = 0 kohm   ¦  y = 0 kohm   ¦  y = 0 kohm   ¦
 LEFT  ¦ x = 0 kohm   ¦  x = 50 kohm  ¦  x = 100 ohm  ¦  RIGHT
       ¦ y = 50 kohm  ¦  y = 50 kohm  ¦  y = 50 ohm   ¦
       ¦ x = 0 kohm   ¦  x = 50 kohm  ¦  x = 100 kohm ¦
       ¦ y = 100 kohm ¦  y = 100 kohm ¦  y = 100 kohm ¦
The resistance values are exactly the same as what is given by PC gamepad controllers (like Gravis Gamepad for PC) or what normal PC analogue joystick give out when it is in center position or in any extreme position (fully moved to one of the eight main directions).

The different resistance values are generating using following method (this example is for forward/back direction movevement):

  • When the digital joystick is in center position the current flows through R3, D1 and potentiometer. When potentiometer is tuned center position the PC joystick interface seen around 50 kohm resistance. No current flows through T1.
  • When the Forward switch is closed the point between R3 and D1 is grounded. Now the current can only go to PC joystick interface though the potentiometer, which give 100 kohm resistance.
  • When Forward switch is closed then current starts to flow from T1 emitter to base and then through R2 to forward switch. This base current causes that T1 starts to conduct from emitter to collector so the PC joystick interface sees very low resistance.

Left/Right movement conversion works in exactly the same way. Normal digital joystick button is wired to Button 1 input in PC joystick interface and one extra button in digital joystick connector is wired to the Button 2 in PC joystick interface.

NOTE: The transistors and and diodes are absolutely necessary for this circuit to work. You can"t avoid using active circuit elements if you want to to convert and unmodified Atari joystick to PC josytick port. I know that there are some simple circuits which use only few resistor to adapt joystick to PC, but those can"t be used with unmodified Atari joysticks. They require you to completely rewire internals of the joystick (which is not always possible as shown in their circuit diagrams). The intention of my circuit was to make the circuit general and avoid any changes needed inside the joystick.

Tuning the circuit

When you have built the interface, you have to set the trimmers to correct positions.The potentiometers must be set so that the circuit shows 50 kohm to joystick interface when the joystick is in the center position. So first align the potentiometers just to the center position. If you want to more accurate alignment, use a simple test program to align those more accurately. The aligning procedure is very simple: just urn tje joystick to left and right positions and calculate the average of those values the test program shows. The align the potentiometer so that the circuit gives the calculated value when joystick is in the center position. Do the same to the forward/back direction.

Modification idea: Getting more buttons to work

Because the use of extra buttons in joystick is not standarized, what pins are used on those depend on the computer, it is possible to make a circuit which works well with all kinds of button arrangement, you need to do some experimenting to get the second butotn to work. If for some reason the circuit as it is does not work, it might be possible that your joystick uses pin 9 for extra button, instead of pin 5, you must do a small modification to the circuit to get the system work. A simple modification is to move the wire going to pin 5 on 9 pin connector to pin 9 on the same connector.

Another idea which you can try is to keep the wire on pin 5, but add an extra wire which connects pin 5 and 9 together. This causes that all extra button (no matter are they connected to pin 5 or 9) are recognized as button 2 on PC joystick port.

Modification idea: Adding support for more buttons

15 pin D-SUB male
15 pin D-SUB male connector  to the PC

This page no comment. You can be the first.

Your name:
Your Email:

Type the characters: *