Jump to content

Retro controllers for emulators, NES, SNES, SEGA, etc.


Recommended Posts

I'm writing this up to share the experiences I have while going down this rabbit hole. I spoke with @KaosEngineerto get a better footing, and turns out there is far less then I thought there was on this topic, so I want to help others out who may find themselves in this boat.

To clarify, the goal is to have original feel and operability of the original consoles on a modded XBOX's emulator. If I want to play NES Mario Bro's, it would feel and work better with an NES controller, same with Mario Kart for SNES, and Sonic on SEGA. But hell, most folks, especially us OGXBOX diehards, have no real issue with using a Duke to smash up blocks or grab coins, so I would consider this venture applicable to purists and those looking to satisfy house guests who want original feel of retro consoles.

The first and best option looks to be the RetroPad Adapter by Bruno. If you have the money to grab this item, it should be worth it to save from making one from scratch. I opted not to go this route because of the cost, which is over $70 after it's shipped. I thought that was too much for hooking up a single controller, but others may see the value or be able to source and construct them locally for less.  http://www.brunofreitas.com/node/41    http://shop.brunofreitas.com/

This link will take you to the git files for self constructing. Which, after looking to source al the parts, realized this too, was not a route for me. But for some, this is a great resource.    https://github.com/bootsector/usb-retropad-adapter

Why can't you just take an old XBOX controller plug and splice it to the retro controller? Well, tbh I don't know the technical stuff 100% but essentially the retro controllers are simple switches, where as the XBOX controllers have more circuitry in them and are controlled much like a USB keyboard. So a simple "patch" cable from retro to XBOX won't work, I've been told.

Here's a resource on making an NES controller to USB using a USB keybard circuit. I've been told this won't work on the XBOX as it's USB meant for PC, same story with the second link. https://www.instructables.com/Make-a-USB-NES-Controller/       https://www.ebay.com/itm/NES-SNES-SFC-Controller-Adapter-Converter-to-USB-for-PC-Mac-PS3-Mayflash-New/164273318506?epid=2255282999&hash=item263f73ea6a:g:xyAAAOSw6oBXEj6k

Now this link looked so promising, but unfortunately I can't actually find the article. The links on the site deadend or are misdirected. If someone can find the rest of this article (or a way to contact Phillip Torrone), it could save me and anyone else in my boat, some serious leg work!! https://makezine.com/2006/04/11/how-to-nes-controller-for/

If you're still reading, it means you aren't liking, or are still seeking alternatives to, the retropad adapter. I hope to be able to help and, if anything, my mistakes will help you to avoid them. My current plan of attack is to simply bash an old XBOX controller into a cheap NES controller. Both of which can be found for less the $20 from local game stores, craigslist, or ebay to name a few sources. This first post is to test the waters, see if anyone else has valuable info on the subject. But as life permits, I will be documenting my struggles as I get into the soldering and bashing with pics and details.

 

 

Link to post
Share on other sites
27 minutes ago, nerdbombing said:

I'm writing this up to share the experiences I have while going down this rabbit hole. I spoke with @KaosEngineerto get a better footing, and turns out there is far less then I thought there was on this topic, so I want to help others out who may find themselves in this boat.

To clarify, the goal is to have original feel and operability of the original consoles on a modded XBOX's emulator. If I want to play NES Mario Bro's, it would feel and work better with an NES controller, same with Mario Kart for SNES, and Sonic on SEGA. But hell, most folks, especially us OGXBOX diehards, have no real issue with using a Duke to smash up blocks or grab coins, so I would consider this venture applicable to purists and those looking to satisfy house guests who want original feel of retro consoles.

The first and best option looks to be the RetroPad Adapter by Bruno. If you have the money to grab this item, it should be worth it to save from making one from scratch. I opted not to go this route because of the cost, which is over $70 after it's shipped. I thought that was too much for hooking up a single controller, but others may see the value or be able to source and construct them locally for less.  http://www.brunofreitas.com/node/41    http://shop.brunofreitas.com/

This link will take you to the git files for self constructing. Which, after looking to source al the parts, realized this too, was not a route for me. But for some, this is a great resource.    https://github.com/bootsector/usb-retropad-adapter

Why can't you just take an old XBOX controller plug and splice it to the retro controller? Well, tbh I don't know the technical stuff 100% but essentially the retro controllers are simple switches, where as the XBOX controllers have more circuitry in them and are controlled much like a USB keyboard. So a simple "patch" cable from retro to XBOX won't work, I've been told.

Here's a resource on making an NES controller to USB using a USB keybard circuit. I've been told this won't work on the XBOX as it's USB meant for PC, same story with the second link. https://www.instructables.com/Make-a-USB-NES-Controller/       https://www.ebay.com/itm/NES-SNES-SFC-Controller-Adapter-Converter-to-USB-for-PC-Mac-PS3-Mayflash-New/164273318506?epid=2255282999&hash=item263f73ea6a:g:xyAAAOSw6oBXEj6k

Now this link looked so promising, but unfortunately I can't actually find the article. The links on the site deadend or are misdirected. If someone can find the rest of this article (or a way to contact Phillip Torrone), it could save me and anyone else in my boat, some serious leg work!! https://makezine.com/2006/04/11/how-to-nes-controller-for/

If you're still reading, it means you aren't liking, or are still seeking alternatives to, the retropad adapter. I hope to be able to help and, if anything, my mistakes will help you to avoid them. My current plan of attack is to simply bash an old XBOX controller into a cheap NES controller. Both of which can be found for less the $20 from local game stores, craigslist, or ebay to name a few sources. This first post is to test the waters, see if anyone else has valuable info on the subject. But as life permits, I will be documenting my struggles as I get into the soldering and bashing with pics and details.

 

 

Most people don't realize this but plugging a device in via USB does nothing. The machine you're plugging the USB device into needs to have a piece of software that tells it how to communicate with and use the device being plugged into it. This piece of software is called a driver and it's specific to the device being plugged in. 
So, Xbox drivers are not the same as windows drivers and they are built into the kernel. Adding drivers IS possible but it would be difficult and require an extremely high level of expertise. 

Link to post
Share on other sites
16 minutes ago, Blobby85 said:

It is possible to use classic controllers directly in the original Xbox. I myself got a modded snes Controller from n64freak, which is working perfectly. I don't know what he exactly Changes to get it working on the Xbox, but I think there is a topic somewhere about it. Maybe @N64 freak can shed some light.

If I had to guess, I'd say the board is an original xbox controller trimmed to fit in a snes controller case with the buttons wired up where the other buttons used to be. I think that is also what they were doing in that article you posted. 

Link to post
Share on other sites
10 hours ago, BCFosheezy said:

piece of software is called a driver

Ah yes, that's a more accurate answer and makes full sense, thanks!

6 hours ago, BCFosheezy said:

If I had to guess, I'd say the board is an original xbox controller trimmed to fit in a snes controller case with the buttons wired up where the other buttons used to be. I think that is also what they were doing in that article you posted. 

Obviously I'm not having original ideas, but that's about what I'm looking at doing since I already have the $4 NES controller and several busted XBOX controllers. Time to start cracking them open to see what'll need to be done.

Link to post
Share on other sites

I found an archived copy of the tutorial by Phillip Torrone.  However, all of the images are missing (they were not archived for some reason) and the instructions tell you to look at the images to know what to do. Without them, the text write-ups are near useless.

It consisted of 3 parts and all parts are missing every image. :(

 

Link to post
Share on other sites
10 hours ago, KaosEngineer said:

Here's a different tutorial about connecting an NES or SNES to the Xbox - http://beachy.freeshell.org/games/xboxctrl/ - titled NES/SNES controllers on the Xbox.

It requires a lot of unsoldering and soldering to make all the connections from the NES/SNES controller to an Xbox controller's printed circuit board.

 

Nice find, that should prove handy. Thanks again @KaosEngineer

Link to post
Share on other sites

Here's a taste of my first bit of research. Seems there's more to the NES controller then just simple switches, but it's only one component more. A 4021N CMOS shift register. I won't hijack the authors work, so check out the link to see his learning experience converting the controller to Pi setup.

https://projects.drogon.net/nes-controller-on-the-raspberry-pi/

The NEW controller needs 5v supply to run the CMOS. It starts to get off the topic I'm interested in when it's not beginning to go over my head~ It's interesting to learn how it's an 8 bit controller, but the coding for the Pi is unrelated (thus far) to my goals, but who knows, I may need one to control things for me~~

nes-controller-arduino.png?v=14694169800

Edited by nerdbombing
add pic link
Link to post
Share on other sites

I visited shoryuken.com forums, they seem to specialize in retro controllers over there,  and this is a reply i received:

FreedomGundam
November 1

The OG Xbox uses standard USB protocols if I remember correctly, so there should be a ton of generic USB devices that will work on it. It’s just that it has a proprietary plug.

With that in mind, off the top of my head, your options could be:

  1. Find a third-party/knock-off/generic wired USB controller in the style that you want (NES/SNES/Genesis), and either cut/replace the plug, or find a “USB-A to Xbox” passthrough adapter. Quality of the controller might be hit or miss, though.
  2. See if there are any wireless Bluetooth dongles for the Xbox; you could then use 8Bitdo’s themed wireless controllers, which are very good.
  3. Find (or build your own) NES/SNES/Genesis-to-USB adapters, and like above, cut/replace the plug, or find a “USB-A to Xbox” passthrough adapter.

https://forums.shoryuken.com/t/retro-controllers-for-emulators-nes-snes-sega-etc-on-modded-xbox/592295

Link to post
Share on other sites

Ok, here's some pics of the Duke Xbox controller's back/bottom side. Unfortunately, I didn't take pics of the tops side, but theres plenty of the Duke on a google image search. Point being, on the top side, there's a [conductive] adhesive strip covering the A, B, X, Y, Black, and White button switches. I peeled that back to see the pads, which all share a common, presumably ground. From the A & B switches, I Ohm'd out their respective via's, and luckily most had test pads, on the bottom side. I also did that with the Dpad switches and Start & Back. The pics show the new wiring connected to the Dpad along the Start and Back(Select).

I simply used some stranded 6-wire phone cable, and fished it through the memory card slot which has an open spot, no drilling or modifying to fit needed.

Start: White wire, TP18

Up: Black wire

Down: Red wire

Left: Green wire

Back/Select: Yellow wire

Right: Blue wire

xboxoverview.jpg

xboxoverview2.jpg

  • Like 1
Link to post
Share on other sites

So I hot glued those dangling bits down to the board, and zip tied the cable to the controllers regular cable. Nice and secure :)

Here's one more pic of the Dpad, start, and back buttons' solder points. Chances are, most xbox controllers will work in a similar fashion, you will simply have to Ohm's out which ever controller and buttons you are looking at using. Set your electric meter to resistance/Ohms, and test for continuity between the button's pad tot he back side's via/test pad. If that's confusing, this may not be a project for ya ;) I started using an Xbox S controller, but that controller had other issues that complicated my efforts, so I went to a Duke since that's all I had handy, but I'm confident the S controller will work fine too. Aftermarket controllers may or may not work, good luck!

 

xboxoverview3.jpg

Link to post
Share on other sites

Here we have the A, B, and ground wires run.

A: Blue wire

B: Yellow wire

Ground: Green wire

Same as the dpad, I found the traces with pads for each button on the back side, and the ground is soldered to the case of the joystick, which is connected to ground of the board.

What I found interesting was that the switches on these boards don't close all the way. Even when fully pressed, the Dpad, start and back all have a variance of resistance, between 200-500 ohms. I questioned that at first, but once the wires were connected it was much easier to test out side of the board with the buttons fully installed (controller reassembled).

Now the A & B buttons read 11k ohms when not pressed, I assume the path goes back to various chips and resistors that connect somewhere else. Regardless, even when pressed, they wouldn't go much under 5k ohms. You'll see me consider this fact later on. I also assume the variable resistances I measured are part of the "pressure" sensing tech inside the controller, as my buttoning pressing directly correlates to the resistance measured. Press harder, less resistance, barely touch it and the resistance is near 9-10k ohms.

Those 3 extra wires (black white and red) just got pinned down out of the way with a dab of hot glue. I didnt cut them incase i cut another wire too short or later want to add/change things.

xboxoverview4.jpg

xboxoverview5.jpg

Edited by nerdbombing
additional info
Link to post
Share on other sites

Here's the front of the board. Unlike the xbox controller, these switches all ohm-out much lower, around 100-200 ohms when button pressing, essentially closed (but not quite, although it doesn't matter to me:) ) The black blob is the CMOS, which takes the button presses and converts it to an 8bit register signal, no other components, how neat??

I desoldered the cable from the pads, won't be needing that for this project :(

nesoverviewfront.jpg

Link to post
Share on other sites

Some markings on the board, not sure who made it or what they relate to, I dont care though, so moving on. To the top and the right of the CMOS, you can see how some light scraping with a pen knife will reveal the copper traces, solder-able to me :)

Closer to the Cmos the better, as the start/select and dpad contact rubbers come really close to that area. You're mileage may vary, as this is an aftermarket controller, and they're as random as whatever else. Follow the theory and idea, not the exact specifics if this isn't the controller you use~~

 

nesoverviewfronttraces1.jpg

Link to post
Share on other sites

So I forgot to take a few 'inbetween' pics, but you can get the idea. Here's my other end of wires, coming form the Duke, soldered and hot glued in place. After all, the traces are fragile, need to plop some goo on that stuff to keep from moving.

Ooohhh, 4.7k ohm resistors? Yup, I didnt want to start off without them, as previously mentioned, the Duke reads 5k+/- ohms when A and B are pressed all the way down. I may still take them out (just jumper across the resistor), I'll mention more about that later.

neswiredbirdpoo.jpg

Link to post
Share on other sites

Ok, with that all done, time for some testing!!

Uh?? what's going on boss, stuff's jenky~~> ....Wtf??

SOOOO,things aren't peachy, got a few glitches now, butttt something is working.

Ah, ok, I'll isolate the NEW switches, cause signals could be going through the Cmos and causing back-feed type of issue. When trying to play with it right now, the up button actually triggers the A button, so mario is jumping when I run left or right and accidentally bump the Up pad.... weird, but the above though process helped me go back and re think.

Cracked her back open and scraped the traces clear just as they go into the Cmos, making each switch completely independent. This picture shows the ground trace separated. I just dug in behind my bird-poo glue and hacked the traces all the way round, just past my solder points. So now it's: Button switch, trace, soldered on wire, cut trace, Cmos. Guess I'm never using this controller on an NES again ... :| 

nesoverviewfronttraces3.jpg

Link to post
Share on other sites

Well, now things are better, well, sort of. Up doesn't trigger any other buttons, but B isn't responding. Mario is just walking around, and won't spit flower-fire balls... GD, wtf??

How dumb am I??!! I need to reset some of the controller mappings in the emulator, cause it defaults using the X button for B and I'm wired the Dukes B button , not X!! hahah, ok, simple fix and viola, mario runs and spits fire balls!!!! YAY!!, but he jumps funny, seems like a latency issue. he's a little delayed...

Ok, last attempt but this time I've attached a regular, non modded Duke, fire up the Xbox and emulator, then switch the non-modded with the NES-hack-job-controller and it's picture perfect. I'm playing NES games, with an NES controller, on my modded Xbox. The concept is proven, works, and is up my alley. Cost to complete= $0 for those with wire, solder supplies, and spare controllers. I priced out the controllers at the local game-spot equiv. and for under $20 I could get both controllers to hack apart.

What can I improve? Find 9 or 10 wire so I don't have 2 wires run like some mad max sex toy. Then I could even put connectors on the Duke, and pigtail from NES, SNES, or Sega controller to easily switch them out. My project is only an Xbox/NES controller.

This fills my needs 100% though. I dont want to use the NES controller on any other device, I dont mind the wires, I still have an xbox controller too, the price was right, time to complete was less then ordering something and waiting for it to be shipped and still might not have worked, so yeah, I'm happy. I hope someone else likes it too. I'm not sure I'll put too much more time into this other then a few tweaks on V1.1 (so I can play 2 play on NES emulator). However, I'll jump on a smooth riding bandwagon to the more technical endpoint if someone else get's to making this better with a Arduino or other angle of attack. And thank you all for your input and help!!! and please don't be offended if I didnt take your advice this time as I still value it and may come back to it later!!

complete.jpg

Link to post
Share on other sites
1 hour ago, nerdbombing said:

...You'll see me consider this fact later on. ....

.... the Duke reads 5k+/- ohms when A and B are pressed all the way down. I may still take them out (just jumper across the resistor), I'll mention more about that later. ....

 ...but he jumps funny, seems like a latency issue. he's a little delayed...

The resistors I put in may cause this, not sure, but I suspect it. If I start up the xbox with the new NES-Modded controller, the latency seems to occur, but when using a regular controller to start up the emulator, things seem to work fine. So I'm not going to pursue any further troubleshooting here, as I'm fine with doing a controller switch, takes .0001% effort to complete. But I still wonder what will happen if I jumper them out...maybe one day I'll find out, but things are working in a way I'm happy with :)

Link to post
Share on other sites
  • 3 weeks later...
On 11/6/2020 at 8:53 PM, nerdbombing said:

Well, now things are better, well, sort of. Up doesn't trigger any other buttons, but B isn't responding. Mario is just walking around, and won't spit flower-fire balls... GD, wtf??

How dumb am I??!! I need to reset some of the controller mappings in the emulator, cause it defaults using the X button for B and I'm wired the Dukes B button , not X!! hahah, ok, simple fix and viola, mario runs and spits fire balls!!!! YAY!!, but he jumps funny, seems like a latency issue. he's a little delayed...

Ok, last attempt but this time I've attached a regular, non modded Duke, fire up the Xbox and emulator, then switch the non-modded with the NES-hack-job-controller and it's picture perfect. I'm playing NES games, with an NES controller, on my modded Xbox. The concept is proven, works, and is up my alley. Cost to complete= $0 for those with wire, solder supplies, and spare controllers. I priced out the controllers at the local game-spot equiv. and for under $20 I could get both controllers to hack apart.

What can I improve? Find 9 or 10 wire so I don't have 2 wires run like some mad max sex toy. Then I could even put connectors on the Duke, and pigtail from NES, SNES, or Sega controller to easily switch them out. My project is only an Xbox/NES controller.

This fills my needs 100% though. I dont want to use the NES controller on any other device, I dont mind the wires, I still have an xbox controller too, the price was right, time to complete was less then ordering something and waiting for it to be shipped and still might not have worked, so yeah, I'm happy. I hope someone else likes it too. I'm not sure I'll put too much more time into this other then a few tweaks on V1.1 (so I can play 2 play on NES emulator). However, I'll jump on a smooth riding bandwagon to the more technical endpoint if someone else get's to making this better with a Arduino or other angle of attack. And thank you all for your input and help!!! and please don't be offended if I didnt take your advice this time as I still value it and may come back to it later!!

complete.jpg

Just looking at that picture makes me think its a prototype for a memory card slot based series of retro controlers that you daisy chain through the Xbox controllers like the Panasonic 3DO. Awesome stuff.

Link to post
Share on other sites
On 10/29/2020 at 11:07 AM, Blobby85 said:

It is possible to use classic controllers directly in the original Xbox. I myself got a modded snes Controller from n64freak, which is working perfectly. I don't know what he exactly Changes to get it working on the Xbox, but I think there is a topic somewhere about it. Maybe @N64 freak can shed some light.

N64 Freak's design is a custom PCB that uses components from a real Xbox controller. The Xbox itself just sees a regular S-style controller, so there's no added latency or compatibility issues. I recently got one from him and have been loving it.

I applaud nerdbombing's work here. Re-wiring controllers like this can be quite tedious. I did something similar for a case-swap project a few years back (see attached photo) to get the front-panel buttons working. It was a pain. 😆

EmwL7qBVEAInyEs.jpg

EmwL765UYAIvPN6.jpg

image.png

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By empyreal96
      Easy-Build for XBOX Original
      What is it?
      A tool in testing for compiling xbox code. Easy to Update script.
      https://github.com/Empyreal96/easy-build-xbox

      How to use:
      Have easy-build-xinit.cmd on the ROOT of a drive e.g: D:\easy-build-xinit.cmd Open easy-build-xinit.cmd Setup the Xbox trunk in your Drive root as specified in easy-build-xinit (VHD users are already set up) Let the script apply Team Complex patches (These allow the xbox trunk to be built) Once that's done, follow onscreen instructions until Razzle loads Type into razzle: easybuild You can now build from the Easy-Build mainmenu Built binaries will be in %DriveRoot%\xbox\xboxbuilds\fre{dump} Any issues or suggestions please open an issue ticket so I can look into it
      Information
       
      Windows XP - 10 x86
      Fixed issues with mstools/idw folders incorrectly being set
      Basic Options for compiling
      'Unofficial' binplace script 'xcopybins.cmd' to place some built files
      Added 'xmakesamples.cmd' which builds the XDK Sample CD.
      Added a WIP script to set off the XDK build see XDK below Fixed %_BUILDVER% not being set on razzle-easybuild handover Changed menu colours (I may change back depending on feedback) Small update to some 'dirs' files that adds folders to the build process that can build successfully Separated easybuild.cmd (mainmenu) to public/tools/ Actual easybuild.cmd shows correct Razzle Tool Path now, starts xcopybins.cmd as postbuild XDK Building 
      InstallShield Professional 6.2 is required for this: I have included my currently in progress script to try and build the Xbox SDK. Currently it fails compiling the InstallShield specific XDK Setup scripts..
      To run the script, load Easy-Build, drop to Razzle prompt and type "private\SDK\setup\xsdkbuild.cmd" If you want to help the development of Easy-Build, have some issues join the Matrix chat!
      https://matrix.to/#/!febkSwamiedCsfevDe:matrix.org?via=matrix.org
      NOTE: This is VERY early stages.. It is lacking in many features that Easy-Build-NT5 has.. If I get time I will eventually figure out more of the build system, any and all help is greatly welcomed!!
    • By xealous
      I have a PAL Xbox, and I need to switch the region. If anyone in the US or maybe Canada could help me out here that would be great. Just trying to avoid the overpriced ebay shipping from the UK.
    • By bulkchart32
      2nd picture will be in the comment. i'll let y'all know how these work out. they look pretty nice.

Board Life Status


Board startup date: April 23, 2017 12:45:48
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.