After booting up his RetroPie system, [jfrmilner] had the distinct feeling that something was off. Realizing that the modern Xbox 360 controller didn’t fit right when reliving the games of his youth, he rounded up all his old controllers to make sure he always had the right gamepad for the game.
Wanting to keep the controllers unmodified — so they could still be used on the original systems — he had to do a bit of reverse-engineering and source some controller sockets before building his controller hub. Using shift-in registers, shift-out registers, and some multiplexers, he designed a large circuit selector — which acts as a shield for an Arduino Micro — so all the controllers remain connected. A potentiometer allows him to select the desired controller and a few arcade buttons which access RetroPie shortcuts really round out the hub. Check out the demo after the break!
[jfrmilner] kept the controllers relevant to the games he would be playing, but we hope there’s some room to include a controller in rug format in his build. Of course, there’s always the option of Jerry-rigging old systems to use your preferred retro gamepad.
I’ll tell you why not, you’ll only have to be sitting there 30 mins before you’ve thoroughly braided all the cables together.. :-D
The lazy (and expensive) way to do this would be to buy all the USB adapters for all the controllers and plug them into one hub, but the changing controllers at the software end is a bit clunky, digging through control panel settings every time on windows.
I’ve always hated how the usb adapters for the old controllers always presented as gamepads/joysticks. I much prefer to present them as keyboards. With gamepads in Windows, it’s been difficult to keep this one as gamepad 1, this one as 2, etc. so my bindings in the emulator always need to be fixed, depending. With keyboards, the bindings don’t change.
The caveats are no analog axis and usually a limit of 6 buttons can be pressed at once. But since I’ve only ever done projects with SNES and older, these limitations are fine.
I believe you can get keymapper utils to do that, but it all gets a bit byzantine, kludge on kludge.
More than six buttons on a USB keyboard can be pressed at once if it uses the right kind of report. It might not work in BIOS, but it’ll work in all major operating systems, and why do you need a Sega Genesis controller in BIOS anyway?
For analog axes, it could enumerate as a joystick in addition to a keyboard for the buttons. That wouldn’t solve your problem, but it would at least reduce the amount of remapping you’d need to do.
This fellow appears top be the 3rd mario brother though, and they are quite adept at dealing with situations.
.
Very good work on using all the original controllers, but the case design just doesn’t do it justice. :(
Plus it doesn’t look like he accounted for 2 players, but I might be wrong.
You’re right the case is not the best but it won out because of the replaceable front panel design. No doubt I’ll revisit this project when they release a more powerful RPi and emulation is possible on even more systems, milling a panel with a new port layout requires little effort.
I’ve enabled 2 player support for both the SNES and the MegaDrive as these were the most commonly played systems where it lives (canteen at work). I’ve been meaning to look up how a mutitap works with the hope of one day using 4 controllers at once for games like BomberMan.