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!!!

5 comments:

  1. Hello sir, and thank you for this awesome tutorial on how to mod an Xbox controller, with various old school controllers.

    But i was wondering if you could help me out with a question or two. Im would like to mod a NES controller, so that i can plug it into my xbox controller. But couldent i just use the existing NES cable, juat like you did with your Mega drive controller..? Because i really would like to avoid using a thick VGA cable..

    Thanks in advance
    Daniel

    ReplyDelete
  2. @Daniel: I dont see why not. The NES is probably the same complexity as a megadrive or snes. I dont what the internals look like, but all you need to make sure is u remove any resistors on the board and have a wire direct to the button. I didnt use VGA cable either as was too thick, was lucky the megadrive cable had the right number of wires already. For the snes pad, I created a cable by twisting the wires then heat shrinking it. Hope this helps. Let me know how you get on.

    ReplyDelete
  3. @Daniel: Looking at this picture: http://media.photobucket.com/image/nes%20internal%20controller/kevdog00/nes_board.jpg

    It looks like you need 10 wire cable. Unfortunately the nes cable uses 8 including ground). Follow this to make one: http://www.evilmadscientist.com/article.php/twistedwire
    I then heat shrink the whole thing with heatshrink tubing. Works well!

    ReplyDelete
  4. Awesome Tutorial, I'm just in the process of gathering up the bits needed.
    Curious to know, what size bolts did you use for securing the female DB15 connector to the xbox pad?

    Thanks

    ReplyDelete
    Replies
    1. They are a nut and bolt set. About 2 mm in diameter and about 30mm long. They were some spare I had lying around. Easy to get from a hardware store.

      Best of luck!

      Delete