Makestation

Full Version: [Tutorial] DIY controller to parallel port adapter.
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I'm going to keep this brief because while straight forward it's still fairly tedius.

you're going to need the following.

  • A joystick/gamepad/controller port of the type the console uses (either from a for parts console or from your own)
  • a wiring diagram/pin layout for the controller... or a multimeter and time to work it out for yourself.
  • a parallel port with Enhanced Capability mode (either via an add on PCI/PCI-E card or on your motherboard if it's an old system)
  • a parallel port cable or connector of the right type to connect to your computer.
  • lots of spare wire.
  • a soldering iron
  • hot glue (optional)
  • electrical tape and or heat shrink wire sheath.
  • an electronics screwdriver kit (for removing connectors, opening cable covers, etc.)
  • 7 1N4148 diodes (for genesis controller adapter, your parts type may vary depending on console and controller)

ok step one is to either reverse engineer your joystick or find a wiring diagram, for this tutorial I will use the wiring diagram for the sega genesis controller, this also works for ATARI 2600/5800/etc, commodore 64, and similar 9 pin trapazoid controller plugs on various consoles.

[Image: gen_diagram2.jpg]\

the thing to remember is that each of those traces goes to a pin on the connector for the controller, each button has a wire basically, and the parallel port will be interpreting that as data on multiple pins of said port and converting it to joystick inputs, this is very much old school but a good way to practice basic mods with little to no consequences.
also remember there are 2 types of controllers, the 3 button and 6 button gamepads, the number of pins in use will vary but the layout should be the same regardless.

also if you can find them... to save time on soldering and such look for DB9 and parallel port connectors like these.
[Image: db9.jpg?w=225] 
with those you just insert the wires and screw them in place removing the need to solder anything other than the diodes.

step two is to wiring things up as shown in these schematics

[Image: esquema_md1.gif]

pins 3 through 9 are the diodes and all connect to DB9 pin 5.
the rest should be attached as shown.

[Image: db251.gif]
[Image: db9-macho1.gif]

the colored pins are the one's you'll be using.

You'll also need a piece of software called PPJoy, this allows you to use the parallel port for joysticks and program them.

http://ppjoy.blogspot.com/2009/11/finall...rsion.html

follow this alternate pinout if you want to put 2 genesis controller ports instead of 1 on your adapter.

[Image: FS1AFYPFU0HZ2ZH.LARGE.gif]

and yeah just run the wires as shown, the triangles being the diodes connecting the appropriate number socket on the DB9 port/'s to the DB25 connector.

do this correctly and install your driver and you should be able to just plug your joystick into the DB9 connector, run PPjoy and play whatever game.
windows will read this as a generic USB controller so any game that supports this should work, alternately find one that converts this into an Xbox 360 controller type device like key 2 joy for games that support only that controller.

and that's all there really is to it, other controller adapters are similar, just be warned that this will take a few hours to do and patience is key!

modify instructions to suit whatever controller you're adapting, so far the following works that I've tried.

Playstation Dual shock 1
Super Nintendo
Sega Gensis
Sega Saturn
Nintendo Entertainment system (NES)

I'll do a different tutorial on the OG Xbox as that one's basically a USB controller you need to mod for the standard connector.

SNES
[Image: snes-to-parallel%20circuit.png]

PS1
[Image: esquema_psx-2pads.gif]


NES
[Image: nes.gif]

if you have any further questions feel free to post them below.

Edit: I'll be sure to post a picture of my setup as soon as I get the chance, work's been busy along with life but the adaptors are easy to make  Wink
Glad to see there's a use for the parallel port nowadays. I hardly ever see it used anymore... Tongue

Very nice tutorial, thanks for posting! Big Grin
(June 21st, 2018 at 3:48 AM)Darth-Apple Wrote: [ -> ]Glad to see there's a use for the parallel port nowadays. I hardly ever see it used anymore... Tongue

Very nice tutorial, thanks for posting! Big Grin

thanks! yeah the parallel port can be used for all sorts of adapters and conversions, it's especially useful for EEPROM flashing and can be effectively used like a GPIO with some programming.

this trick here is probably around 15 or so years old but the latency can't be beat as far as button to command reaction time and it's far cheaper than USB mods/adapters.
How much data throughput can you generally get out of a parallel port? I know it has far more pins than just about anything else, but being that the interface is very outdated... Finna
actually... quite a lot, you can run it as 9 bi-directional serial connections if you want at 1.5mbps per lane with 8 bit data transfer.

I know that doesn't seem like a lot but parallel EEPROM programmers are still some of the fastest out there as far as time to flash the EEPROM chips vs maybe dedicated rigs and Lan based setups.

you can go up to 12 bi-directional connections with a single ground wire as well if you really wanted to push it but that takes a lot of custom work... and that's if you're doing a parallel to parallel Null Modem connection.
Great tutorial, thanks for sharing! Big Grin Complete jargon to me but looks great. Something my friend would be interested in as he likes tinkering with electrics.
Those shortcuts I posted like the Solder-less Connector parts should help for people who don't have the experience since you really only need to solder the Diodes which are for effectively emulating something the console does to check the operational status of the controller, and as far as the wires and diodes go if you really want you can get away with getting a small bread board and using that so you can go completely solderless.
(June 21st, 2018 at 6:28 AM)SpookyZalost Wrote: [ -> ]Solder-less Connector parts should help. Diodes. check the operational status of the controller small bread board. completely solderless. Blush

The bold bit is the extent of what I understood from that. The quoted text is how the whole thing sounded in my head. Shy