Cannot get input from Joysticks thru I-PAC 2 on pi 3 B + but all CP buttons work fine
Pi Model or other hardware: 3 B +
Power Supply used: Canakit - 2.5a
RetroPie Version Used: 4.4
Built From: Pre made SD Image on RetroPie website (retropie-4.4-rpi2_rpi3.img)
USB Devices connected: I-PAC2 and a keyboard
Controller used: Keyboard (via I-PAC 2)
Error messages received: None
I've been banging on this for 2 days and I'm just baffled.
I built a MAME arcade cabinet in 2005 using a PC and I've recently made the decision to pull out the PC and replace with a pi. Before undertaking this venture, I spent the past 6 weeks researching, learning and soaking up everything Retropie, Retroarch and ES, especially regarding the I-PAC 2 since I hoped to be able to use my existing I-PAC 2 with the pi.
So yesterday I finally made it to the milestone of hooking up my control panel via the I-PAC to my rpi 3 B + and I cannot get the damned joysticks to input anything. Every button on the CP works fine, but none of the 3 joysticks (8-way player 1 & 2 and a dedicated 4-way) produce any output on the pi.
This IPAC is a 13-year-old model with 2 PS2 ports -- one port connects to a USB port on the pi with the Ultimarc-supplied PS2-to-USB cable and the other port is a pass-through port that I can connect a keyboard to.
Here is everything I've done (and I'm utterly out of ideas of anything else to try):
Connected IPAC to pi and connected a keyboard to pass-through port on IPAC. Booted pi and when the controller config screen came up tried to config Dpad using player 1 joystick. Nothing happened. Tried hitting the arrow keys on the pass-through keyboard and those were accepted as normal. In retropie I could navigate with the arrow keys but not the joystick.
Restarted the pi (many, many times during the course of this excruciating, 2-day-and-counting process) and tried joystick again. No luck.
Examined /config/all/Retroarch.cfg and the input mappings looked fine (there were no input_player2 mappings but I held off on that until I could get 1 working joystick).
Got into the terminal screen and moved all 3 joysticks around and got zero output. Pushed the buttons and the corresponding letters appeared onscreen.
Formatted my SD card and put fresh image on again. Disconnected IPAC and went through the initial controller config with just a standard keyboard. All went fine and I could navigate menus & games with the keyboard. Powered down the pi, reconnected IPAC, and was unable to use joysticks to navigate. The arrow keys on the pass-through keyboard worked just fine, though. And all the buttons on the CP worked also, as before.
Disconnected the IPAC from the pi and attached it to a PC and all the joysticks produced output in Windows Notepad. So now I know my CP wiring is good, the IPAC is good and the cables are good. Everything worked as it should (and as it has for the past 13 years!)
So I think maybe it's a power issue. I had remembered reading that the pi's USB ports were a little underpowered. So I connected a powered USB hub to the pi and then plugged the IPAC into the hub. Exact same results. All the buttons work, but absolutely zero from the joysticks.
Bottom line: Control Panel with IPAC works flawlessly on PC. Control Panel with IPAC on pi 3 B + results in unresponsive joysticks.
So that's where I'm at now. I literally can't think of anything else to try other than buying a newer model IPAC. I've Googled to high hell and I can't find anything about anybody experiencing anything like this. I can honestly count on 1 hand the number of times in my life that I've been THIS stumped/baffled after this much research and troubleshooting.
And I know from all of my Googling & Youtubing that there are THOUSANDS of people out there that are successfully using all varieties of the I-PAC -- old and new -- with the pi.
This post is my last gasp. Any guidance or advice would be immensely appreciated.
have you considered updating the firmware on the Ipac? I don't know if that would help but something I might try
rbaker last edited by
caver01 last edited by
I have an old model IPAC4 that I used back in 2008 running Win98, XP, etc. and I eventually rebuilt my system around the PI (you can see details linked in my profile or signature below). Anyway, my IPAC has the PS2 connector but works with a USB adapter cable.
Here is the thing--the IPAC is a keyboard. Or at least it looks like one to the computer to which it is connected. Your joysticks, assuming they are microswitch-based, could be pushbuttons. There is nothing about the fact that it is a stick vs. a button--it is simply shorting the input on the IPAC to ground.
So, what happens if you wired a joystick to BUTTON1,2,3,4 on the IPAC? I would think this would let you trigger those buttons when you move the stick to short the respective inputs. If true, you should conversely be able to wire a button to one of the joystick inputs and pressing the button should trigger that key. And this brings me to my point. . . Do you know what keyboard keys are getting sent by each directional trigger? How are you testing on the Pi? Are you opening a text file in Pixel for example? My player 1 joystick maps to the arrow keys I think. So, if I open a text fine on the Pi, I can move the cursor around just like I am typing arrow keys.
I know I am not offering an answer but more of a testing method. Mapping keys can get really confusing once you launch an emulator, so my approach is to verify the raw inputs are getting out of the IPAC and into the Pi.
One approach to testing keyboard inputs is to launch the keyboard testing executable from AdvanceMAME at commandline. This will let you watch on screen what the PI is receiving when you pound on buttons or move your sticks. I don't remember the test command off-hand, but if you dig into the Docs here on the RetroPie and look for the Spinners/Trackball page, there is a similar test you can run for Mouse input. I know, we are not testing a mouse, but there are three executables in there for AdvanceMAME that let you test each Mouse, Joy and keyboard inputs. Might be worth a little time looking that up. Sorry , don't have my Pi handy to check.
My thought is that once you know the inputs are getting sent, you are no longer troubleshooting the IPAC, but rather the mapping. Knowing that much can go a long way to figuring out the next step.