Friday, 10 July 2009

Retro joypads for the original xbox

If you have done the tutorial here and wired up an old xbox pad to an output connector, then you can plug in old-skool joypads which have been internally wired up too!

Here's my slightly modified table from that site:





































































































































Xbox function


DB-15


Original controller


S-controller


Mega Drive function


SNES function


Up


1


TP13


TP13


Up


Up


Down


2


TP15


TP15


Down


Down


Left


3


TP16


TP16


Left


Left


Right


4


TP17


TP17


Right


Right


X


5


TP70


TP64


-


Y


Y


6


TP71


TP65


-


X


A


7


TP67


TP61


A


B


B


8


TP68


TP62


B


A


Back


9


TP19


near TP20


-


Select


Start


10


TP18


near C48


Start


Start


Left Trigger


11






-


Left Trigger


Right Trigger


12






-


Right Trigger


Ground


13






Ground


Ground


White


14


TP72


TP66


-


-


Black


15


TP69


TP63


C


-



This is what it looks like inside my original xbox pad:



The DB-15 plug thats in the memory slot of the pad which I removed off the pcb serves as a socket for the retro pads to plug in.

Mega Drive Control Pad

We'll start with the 3 button Megadrive pad. By the way, all the joypads are based on UK PAL ones.

What you'll need:

Open it up, desolder all components and wires off it. To remove the chip, it may be easier to melt blobs of solder all along the pins, then quickly rub with the solder to heat the legs and with tweezers lift each side a bit at a time. BE CAREFUL! Don't pull off the copper pads the pins are soldered on! It's also a good idea to clean the contact points where the rubber buttons press to be cleaned with a cotton bud soaked in isopropyl alcohol.

When all thats done, use this image to identify which solder point does what:

You can reuse the Mega Drives cable which has exactly the right number of wires which is handy! Just cut the plug end and strip it ready to solder to the DB-15 socket.

Check along the way with a multimeter that everythings as it should be.

Solder the wires to the DB-15 and check it corresponds to the chart mentioned here or mine at the beginning of this tut. Now you can assemble everything together and voila, a Mega Drive joypad ready for those old-skool emulator games!


SNES Controller Pad

Doing the SNES is pretty much the same. Except you'll need a 13 wire cable. So I'll just post the necessary images.

I should mention, the cable I used was a salvaged SCSI cable I found at a market for 50p! It had way more wires than 13, so I took them all out and cut the ones I wanted, then bought a 2m length of heat-shrink tubing. To twist the wires for a good fit, clamp down one end, and use a drill and slowly twist the wires for a nice tight thin cable. I actually got the 13 wire cable thinner than the SNES's original 5 wire cable!

And thats it folks! Award yourself a beer!

Huzzah for Super Mario World!

I plan to add the Amiga and Atari joysticks if I can find one cheap at a market, such as the Competition Pro 5000, Zipstick Super Pro or Atari CX40 like those listed here.

I've made a 9-pin to 15-pin adapter for them, but I dont know if it'll work as they might have components in the joystick that needs removing and if so, will require a rewire.


TIP: Run the gamepad.xbe which is from the XDK kit under \Samples\Xbox\Input\Gamepad\. This gives a real-time check on all the buttons!


UPDATE: I finally got a Competition Pro joystick and the adapter I made works great! Here are pictures of it and table for wiring.








































Male DB-9 (Joystick)


Female DB-15 (Xbox)


1 (Up)


1 (Up)


2 (Down)


2 (Down)


3 (Left)


3 (Left)


4 (Right)


4 (Right)


5 (N/A)


- (N/A)


6 (Button 1)


7 (A)


7 (+5v)


- (N/A)


8 (Ground)


13 (Ground)


9 (Button 2)


8 (Button B)


NB: There is no "Button 2" on the Competition Pro even though has 2 buttons on it. They both are Button 1. This is likely the same for the Zipstick.

The adapter should also work with the Zipstick and Atari joysticks without any modifications!!!