Multiple Video Game Controller Adapters For Parallel Ports


Printer cable(s), video game console controller(s), soldering iron, some 22 AWG or 30 AWG copper wire, continuity tester/multimeter, a computer running MS-DOS/Windows 3.1/9x/NT/ME/2000/XP, driver software, wire strippers, electrical tape, solder, flux, flux remover/rubbing alcohol, side cutters, several 1N914 fast-switching diodes, one 200 KΩ resistor.


skull Warning skull

The controller's circuit board is very delicate. Handle with care. Take anti-static precautions before working on the board. Do not work on the board while it is plugged into any other device, especially when that device is giving power to the work piece. Store the board in a static free environment when not working on it. Do not work on the board while power is flowing through unless certain measurements are needed to be taken; if so, make sure proper precautions are taken to avoid shock.



These modifications are simple & can work on many old console controllers. All that needs to be done is some wire cutting & soldering.

This is known to work on Atari/Commodore based joysticks & spinner controllers, NES controllers, Sega Genesis controllers, Playstation controllers & NES Four Score multiplayer adapters. Some people have reported this technique to work on N64 controllers, but it is rudimentary at best. The best part about this project is that the controller can either be modified directly or a printer cable can be made into an adapter with the controller's particular connector, much like the XBox controller modification.

Note that the arrow-shaped forms found in the diagrams represent 1N914 fast-switching diodes. There are not really needed, but adding these diodes protect the controller from rare (but sometimes harsh) current kick-backs, where the controller's outgoing signal may come back & either prevent the controller's input from being read (which is the rare case for Atari, NES, Super NES & Sega Genesis controllers,) or may actually destroy the controller's circuitry (which is the rare case with Playstation & N64 Controllers).

In short, use diodes if the modified controller will be used frequently OR if the modified controller is a Playstation or an N64 controller.


How To Modify The Controller(s)

Here are the pin-out diagrams, showing how to connect each controller onto a parallel port (or a printer cable). Use the following diagram to understand the pin-outs of the parallel & serial connectors used on computers, Atari consoles, Commodore computers & Sega Genesis consoles:


For Atari-based joysticks (such as those used by Atari 2600 consoles & Commodore 64 computers):


For Atari-based spinner controllers (typically a miniature steering wheel used in certain games for Atari 2600 consoles):


For standard NES controllers (typically a gray, small, digital control pad):


For Four Score controller adapters (used with an NES to extend the number of players from two to four):


For Sega Genesis controllers:


For Super NES controllers:


For Playstation controllers:


The symbol with the word "200K" represents a 200 KΩ resistor.

Also note that in the diagrams depicting NES & Super NES controllers, there is one wire coming from the controller's connector, labelled "X." This is used for connecting multiple controllers (up to 5 in total) onto the same computer. That is, to say, if the computer has five parallel ports (each labelled 1, 2, 3, 4 & 5,) the controllers can be modified such that the computer detects them as controller 1, controller 2, controller 3, etc. This is done in the following way: controller 1 requires X to be connected to pin 10, controller 2 requires X to be connected to pin 12, controller 3 requires X to be connected to pin 13, controller 4 requires X to be connected to pin 15 & controller 5 requires X to be connected to pin 11. The Playstation controller, on the other hand, always requires X to be connected to pin 10 (because all the drivers ever made do not support multiplayer detection of Playstation controllers).

Lastly, note the wires labelled "X" & "Y" in the Four Score's diagram. These are used for connecting a maximum of two Four Score adapters on the same computer, as with the NES & Super NES controllers. In order to have the computer detect Four Score 1 & Four Score 2, Four Score 1 requires X & Y to be connected to pins 10 & 13 respectively, & Four Score 2 requires X & Y to be connected to pins 12 & 15 respectively.

Make sure that each connection has been done CORRECTLY, or else the controller may not work (or may even burn out when used with the parallel port drivers).


How To Get The Controller(s) To Work

This is even more simple than actually modifying the controller. To get the controller(s) working on a Windows NT-based computer, use PPJoy, available here & in the Downloads page. To get the controller(s) working on a Windows 9x-based computer or any computer based on MS-DOS, use SNESKey, available here & in the Downloads page. Install the driver program & read the documentation included with the downloaded file.

Once installed, choose the type of controller in use, & the computer will see it as a standard computer controller within both Windows & DOS, depending on the operating system & the installed driver. Note that, if a parallel port printer needs to be used, ALWAYS disconnect the controller or else it may burn out from the excess signals flowing through the parallel port.

In Windows, to check if the controller works, open the Control Panel & select Game Controllers. The controller should appear in the list & actually work when used & calibrated. If the controller does not appear (or if the computer sees a different controller,) there is something wrong with the driver setup. Read the documentation for each driver!!!!!

If the controller does appear but does NOT work, there is either a problem with the modification or with the controller itself. Check the cables for continuity & check the direction of the diodes. If that does not help, try changing the controller type in the driver setup. And if that still does not work, the controller is bad.

html css