Welcome to Xerxes3rd.net
 | Contribute | Web Resources | Past Polls | Calendar | Advanced Search | Site Statistics | My Downloads | Forum
Welcome to Xerxes3rd dot net Friday, January 27 2012 @ 06:16 PM EST
Main Menu
Home
Let the Crowbars Fly! 2005
   Information
   Items to Bring
   Games to be Played
   Directions
Photo Gallery
Resume
Wedding

Topics
Home
Bargains (5/0)
Tutorials (0/0)
Development (0/0)
Humor (4/0)
Games (0/0)
LAN Party (3/0)
Blog (5/0)
General News (8/0)
GeekLog (1/0)

User Functions
Username:

Password:

Don't have an account yet? Sign up as a New User

Friends
Aaron's Blog
Johan's Blog
Johan's Site
Yehuda's Blog
Yehuda World

Older Stories
Wednesday 22-Dec
  • Forums! The Forums Are Here! (0)

  • Monday 20-Dec
  • Quite a Chill (0)

  • Thursday 16-Dec
  • Maxtor 250GB 8MB Cache 7200 RPM Hard Drive, $94.99 AR (0)

  • Wednesday 15-Dec
  • Transformers Get Down (0)

  • Monday 13-Dec
  • Cheap LCD Projector (0)

  • Wednesday 08-Dec
  • ROMs, ROMs, and More ROMs (0)
  • New 24 Trailer, Season 3 on DVD (0)
  • Let the Crowbars Fly! 2005 (4)

  • Tuesday 07-Dec
  • Set Your Builds on CruiseControl (0)

  • Monday 06-Dec
  • Cool ROM Burning Site (0)


  • How to Use Your Genesis Controller on Your Xbox
    How To Use Your Sega Genesis Controller On Your Xbox
    ...or convert your SNES or NES controllers for use on the Xbox too!
    by: xerxes3rd


    Description:
    This tutorial describes how to adapt your Sega Genesis controller for use on the Xbox. It will allow you to plug your Genesis controller into your Xbox controller. This method can also be utilized to adapt other game controllers, such as SNES, NES, etc.


    Difficulty:
    5: hardest of the hardmods
    4: very hardmod
    3: hardmod
    2: kind of hardmod
    1: not so hardmod


    Required Tools:
    1 x No. 1 Phillips Screwdriver
    1 x Soldering Iron (mine is 15 watts)
    1 x Pair of Wire Cutters (or a pair of scissors)
    1 x Pair of Needle-Nosed Pliers


    Required Items:
    1 x Original Xbox Controller
    1 x 6-button Sega Genesis Controller
    1 x 15-pin VGA Extension Cable (Male on one end, Female on the other)
    Some solder (I use 0.022 diameter, rosin-core, silver-bearing solder)


    Step 0 (Theory):
    One of the main reasons I got my Xbox is so I could use my emulators on my TV. I found, however, that when I play many of my Sega Genesis games, I just don't get the same feel out of an Xbox controller. I started thinking about how I could use my Genesis controller on my Xbox. Since I really have no clue about the USB protocol the Xbox controllers use, I decided that the best way to proceed would be to solder directly onto my Xbox controller's PCB. This has already been done using an Amiga controller; however, Amiga controllers only have five buttons (D-pad and Fire). The original Genesis controllers (the "3-button controllers") have 8 actual buttons (the D-pad, Start, A, B, and C), and the newer Genesis controllers (the "6-button controllers") have 12 actual buttons (D-pad, Start, Mode, A, B, C, X, Y, Z).

    The original Genesis controllers have a simple multiplexer chip that combines signals to send over the 9-wire cable to the console. I figured that this probably wouldn't be difficult to decode. However, the newer Genesis controllers have a custom IC that adds the extra signals onto the same 9-wire cable. Since I'm not an electrical engineer, I decided that it would be much easier to run a separate wire for each button that I need. For this I chose a standard 15-pin VGA cable.

    So, my design theory is as follows: add a 15-pin female port in the bottom memory card slot on the Xbox controller. Solder most of the wires (I have to leave one for +5V and another for ground) onto button contacts inside the Xbox controller. Take out any logic/IC's inside my Genesis controller and replace it with a standard VGA cable that has a separate wire for each button. This design provides an easy, generic interface on the Xbox controller which will allow me to add controllers from other consoles with ease.

    There are, however, a few drawbacks to this design. First, it does not accommodate analog signals in its current form. I suppose this could be added, but I will probably never have the need to do so myself. Second, most (if not all?) 15-pin VGA cables only have 14 wires. This is because pin 9 is removed in order to "key" the connectors. Third, any turbo/auto fire switches on the Genesis controller will likely be lost, since the logic for these circuits is usually coupled with the controller's IC. As you will see later on, however, this third issue can actually be remedied by adding a custom circuit (as seen on http://www94.pair.com/jsoper/autofire.html and http://www.syste.ms/guncon/).


    Step 1 (Data):
    I realized that I would like to keep my Xbox controller in working order after modification, which means soldering directly onto the button contacts probably isn't a good idea. I noticed that the Xbox controller's PCB has about 80 small points, labeled "TP##" where "##" are digits. These provide a convenient place to solder new wires. After some work, I figured out which points map to which buttons. I then assigned each one to a pin on the port I'll be adding. I also mapped out the colored wires coming off the 15-pin VGA port (note: these colors may differ from VGA cable to VGA cable). The table below shows my work:
    Solder Point  Function  Pin on Port  Wire Color
    ------------  --------  -----------  ----------
    Ground        Ground    1            Black
    TP13          Up        2            Brown/Black
    TP15          Down      3            Brown
    TP16          Left      4            Brown/White
    TP17          Right     5            Red
    TP18          Start     6            Orange
    TP19          Back      7            Yellow
    TP20          J1                     
    TP21          J2                     
    TP63          L                      
    TP64          R                      
    TP67          A         8            Turquoise/Black
    TP68          B         10           Green
    +5V           +5V       11           Blue
    TP69          Black     12           Purple
    TP70          X         13           Grey
    TP71          Y         14           White
    TP72          White     15           Pink
    -             -         9 (No pin)   
    
    A few notes about this table. Since there are only 14 wires on the port we're adding, we can't make all of the Xbox controller's buttons available on the new port. Remember also that the Xbox has a pressure sensitivity system for each button (X, Y, A, B, White and Black) and both triggers (L and R). The values given by each button/trigger range from 0 (not depressed) to 255 (fully depressed). Grounding each of these solder points results in a "full press" of the button/trigger, i.e. it results in a value of 255. Lastly, my decision to include a +5V power source is to power the circuit we'll be adding for turbo/auto fire functionality.

    Before proceeding, I would like to point out one more thing. In my initial design, I was going to map the button J2 to one of the wires on the port. This is because J2 is commonly used to access the emulator menu. However, I decided that I'd like to have a +5V power source instead (for powering the turbo/auto fire circuit). If you really miss having your J2 accessible, then by using some NAND gates, you can use a button combination to simulate the press of the J2 button. If you need more details on this process, PM me.

    Step 2 (Prepare Your VGA Cable):
    -Cut your VGA cable about 2-4 inches from the female connector, since we'll be mounting the female connector inside the Xbox controller.
    -Strip the insulation off the 14 wires.
    -Identify which wire corresponds to which pin on the port (write this down!).

    Step 3 (Xbox Contoller Demolition):
    -Take apart the Xbox controller and remove the PCB. (I'm not going to explain how to do this. It's quite simple, and many other guides have described the process.)

    Step 4 (Xbox Controller Preparation):
    In order to make the female VGA port fit, I had to remove the existing connector in the port.
    -Using pliers, break off each of the five pins going to the port (you can also de-solder them).
    After that, the port comes right off.
    -Then, squeeze your VGA port into the socket.
    -Thread all 14 of the wires into the hole where the old connector was.
    I had to play with the VGA port for a while to get it to fit in the socket.
    - Temporarily tape the socket to the controller so it wouldn't move around while you solder the wires to the Xbox controller's PCB.

    Step 5 (Solder Wires to the Xbox Controller):
    -Solder the appropriate wire to each appropriate point according to the previously mentioned table.
    Refer to the following images for approximate locations of the solder points.


    (Click to enlarge)


    (Click to enlarge)

    Step 6 (Genesis Controller Demolition):
    -Take apart the Genesis controller and remove the PCB.
    Mine only had five screws to remove.

    Step 7 (Genesis Controller Preparation):
    -Cut or de-solder the existing cable from the controller's PCB.
    -You may also wish to cut the traces that go to the controller's IC.

    Step 8 (Solder Wires to the Genesis Controller):
    You will notice that each button on the Genesis controller, when depressed, touches two contacts, and thus completes a circuit. For every pair of contacts for each button, one of the contacts is ground, and the other one of the contacts is the data wire.
    -Trace the ground wire and solder your ground wire on in an appropriate place.
    -Solder each of your wires on the VGA cable (don't solder pin 11, which is +5V!) to each button, respectively. Do not solder directly on the button contacts. Pictured below is my Genesis controller post-solder:


    (Click to enlarge)

    Notice how I wrapped the VGA cable halfway around the inside of the controller? This is to relieve pressure on the solder joints if anyone should pull on the cable. If you're absolutely sure you'll never want to remove the VGA cable inside your Genesis controller, you can also epoxy the cable to the Genesis controller casing.

    Step 9 (Re-assembly):
    -Put your Genesis controller back together (good luck cramming the wires inside).
    -Remove the temporary tape on your Xbox controller and put it back together.
    -Everything should now be working. Great job!
    Here are some images of the completed product:


    (Click to enlarge)


    (Click to enlarge)


    Troubleshooting:
    Problem: Some buttons don't work.
    Solution: Use a multimeter to verify current and connectivity. Each button's data wire should have about +5V.

    Problem: Other
    Solution: PM me!



    Notes:
    Reviving the Turbo Switch:
    If you have a Genesis controller like mine, you may lament the fact you lost your turbo switch (technically, mine still kinda worked, but didn't provide the proper behavior... your mileage may vary). Never fear: using a turbo/auto fire circuit, you can, once again, revive the usability of your turbo switch. Before proceeding, however, note that as of this writing, I haven't built this circuit. Here are the instructions:

    -Build the circuit as described in the diagram labeled "Simple autofire circuit" on http://www.syste.ms/guncon/.
    -Take a look at the contacts for your turbo switch. Mine is pictured below.



    You will notice 4 labels on the image above. Here is the key:
    a. Ground. This is connected to the ground wire coming from the Xbox controller.
    b. Ground. Connect this to pin 3 on the turbo/auto fire circuit you built.
    c. Ground. This is connected to the ground wire that goes to your buttons.
    d. Data. This wire goes to the high side of Start button.

    What happens here is that when you move the switch to the first notch, the turbo/auto fire circuit is connected between the ground from the Xbox controller and the ground that runs to each button (A, B, C, X, Y, and Z). This results in "turbo fire" when you press one of the buttons. When you move the switch to the second notch, the turbo/auto fire circuit is connected between the ground and the +5V that runs to the Start button, resulting in "slow mode," which is simply the rapid pressing of the Start button. If you have a Genesis controller that has separate switches for turbo/auto fire for each button, they work in a very similar fashion.

    Here are the instructions for connecting up your new turbo/auto fire circuit:

    -Connect pin 1 on the turbo/auto fire circuit to the ground wire from the Xbox controller.
    -Connect pin 8 on the turbo/audo fire circuit to the +5V wire from the Xbox controller.
    -Cut the trace that connects to contact "b".
    -Connect a wire from contact "b" to pin 3 on the turbo/auto fire circuit.


    References:
    -Tutorial: Adding an amiga joystick connector to your XBOX gamepad
    -Quick and easy rapid fire or auto fire for your Guncon!
    -Build an Autofire Circuit


    Last Updated Tuesday, November 30 2004 @ 05:23 PM EST View Printable Version


    Created this page in 0.08 seconds

     Copyright © 2012 Xerxes3rd dot net
     All trademarks and copyrights on this page are owned by their respective owners.

    Powered By