Controller works in Emulation Station, MAME says it's configured, but it won't work (yes, I searched!)
-
RetroPie v. 4.4 running on a Pi 3B. Direct install, not on another OS.
I'm using a "brand x" set of controllers. I'm not sure of all the types and specs, here's a shot of one of the controllers:
When using Emulation Station, the controllers work fine. When I try to run a game in MAME, I see that MAME is aware of my controllers and they're configured:
Note: The USB cable is for charging and goes straight to a power strip, so it's not connected to anything intelligent. These controllers are wireless and have a USB dongle as the receiver. ES sees both and, as you can see from the screenshot, MAME Libretro version sees the controllers, too.When I'm in the game, the controller does not work at all. No response at all to any controls on the controller. On my first boot I hit F4, set up ssh, zsh, and a few bash tools to make my life easier, but did not do anything with any config files within the RetroPie directory structure. Then I copied over some ROM files for MAME from USB drive. I copied only some ROM files, but for a game or two, I see a .state file (isn't that a save game?) and for tempest, which worked from the keyboard, I see a .cfg file in the mame-libretro directory. Otherwise just the .zip files.
Once I finished that, I rebooted and, when Emulation Station came up, I configured my controller - only the first one, for now. It works fine in ES, but it's like it doesn't exist for the MAME games I'm testing it on. I've set SELECT as the hotkey so I can quit games, but since that's on the controller, it doesn't work. While the game is running, I can press 5 to put in quarters, 1 for 1 player, and can use the arrows and other buttons on the keyboard for things like firing or activating the shield. (Also can't find a way to quit the game from the keyboard.)
I know there are dozens of posts with the same issue, but I haven't added config files for other controllers or systems, I've cleared and redone the configuration many times and I don't see what I could have added that messes with the controllers. (And part of the puzzle, for me, is that I get the notifications indicating the controllers are there and configured, but aren't working.)
While I have a working arcade system with RetroPie working, and have set this up, I don't recall having to do an extra config for controllers. As I remember (and that was in 2020 - a while ago), configuring from ES did the configuration I needed except for variations on the system. I seem to remember using RetroArch to manage my config, but not having to use it to set it up. I also went back, with this install, and used the docs to do a new clean install (since the first one didn't work) and I see nothing in there about having to do anything to configure the controllers other than the first time in ES.
-
Try deleting the
.cfg
files - leave only the.state
. and.zip
files. -
@mitu said in Controller works in Emulation Station, MAME says it's configured, but it won't work (yes, I searched!):
Try deleting the .cfg files - leave only the .state. and .zip files.
Did that. No difference. Even deleted
.state
files, leaving only .zip. Also no difference.If it matters, there were no
.state
and no.cfg
files for most of my test rom.zip
files. -
What's the exact RetroPie version you have and what's the version of the Mame core you're using ? Does it happen only for arcade games or for other systems also ?
Get a verbose log from running the game and post it on pastebin.com.
-
According to the RetroPie Setup Script, on the first screen that comes up with that script, it's 4.8. (I realize I typed "4.4," in the first post, and that was a mistake. I knew it was 4.8, but had just read a web page talking about version 4.4 and that got stuck in my head.)
At this point, the only games I have on here are a few MAME ROMs.
A bit of background, which I didn't mention because it's on an older system. I'm setting this up for my wife's cousin, who's been through a hard time. I started on it over a year ago, the controllers worked, but I had some fine tuning to do. (That was long enough ago, I've forgotten what the issues were, but I remember I had basic functionality and could play games using these controllers.) I can't remember what versions of RetroPie or anything else was on that system. When I got back to it, last week, I just downloaded the latest image and started with it on the same Pi3B as before, but completely different install on a USB stick.
Also, the
.zip
files I'm using came from a working install (the arcade system I setup in 2020)I tried searching for how to find the version for MAME. All I can find about that is that the window I get while the file is being unzipped and run lr-mame2003. I do have a subdirectory in mame-libretro that is "2003." However, when I copied these files from another system, they were just in the mame-libretro directory, not in the 2003 subdirectory.
-
There are no obvious errors in the logs, doesn't seem like a RetroArch config issue. The
mame2003
sub-folder is where the configs and nvram/hiscores are kept - if it's not there, it will be created on the first run of the core.If there's not a issue with just the controller order (i.e. you're trying to use the P2 controller as P1 and it's not accepting the coin from P2, etc.), then I suggest you leave only the ROM files in the folder, to exclude any configurations you might have copied from your other systems. And also, run an update of the system/packages to get the latest versions of RetroArch/cores.
-
@mitu said in Controller works in Emulation Station, MAME says it's configured, but it won't work (yes, I searched!):
If there's not a issue with just the controller order (i.e. you're trying to use the P2 controller as P1 and it's not accepting the coin from P2, etc.)
Wow! That's it - and I really am surprised. For reference, these are wireless controllers that have USB receivers that plug into the USB ports. I labelled the controllers and the receivers to keep them straight. When I set this up, I only set up the 1st controller. (Figured I'd get things going, then add other ROMs, setup the other controller, and so on.) Of course both controllers are the same, but I didn't think the other controller would work at all until I set it up as a 2nd controller.
What's happening that Controller 1 works with ES and Mame uses Controller 2? I figure there's some easy way to change the device info in a config file somewhere?
@mitu said in Controller works in Emulation Station, MAME says it's configured, but it won't work (yes, I searched!):
And also, run an update of the system/packages to get the latest versions of RetroArch/cores.
I'll be doing that. When I downloaded the latest image, I just jumped in and forgot to run an upgrade first. Then, while I was working on the issue, I wanted to restrict the variables I changed until I got it working.
-
@Tango said in Controller works in Emulation Station, MAME says it's configured, but it won't work (yes, I searched!):
What's happening that Controller 1 works with ES and Mame uses Controller 2? I figure there's some easy way to change the device info in a config file somewhere?
You can use the Configuration Editor to switch the joystick order.
-
Any clue about why this is happening? It wasn't an issue with that earlier version I was using and it's weird to see it show up out of the blue. Also, after reading the page you link to, it looks like I might have to reconfigure for every emulator I use, which could be both confusing and a pain.
-
Not sure 'what' exactly is happening ? You have 2 controllers, one is P1 and one is P2, but not in the order you expected.
Also, after reading the page you link to, it looks like I might have to reconfigure for every emulator I use, which could be both confusing and a pain.
You can set options for all libretro cores, as well for each one in particular.
-
@mitu said in Controller works in Emulation Station, MAME says it's configured, but it won't work (yes, I searched!):
Not sure 'what' exactly is happening ? You have 2 controllers, one is P1 and one is P2, but not in the order you expected.
What seems odd to me is that ES reads them in on order and the emulator reads them in another. (And I haven't even configured the 2nd one yet, but since it's identical, I can see why the same data works for the 2nd one when the emulator switches them.) Just on the curious side, I'm thinking that the two controllers look identical, no serial number or anything like that, so other than which USB port they're in, there's no way for anything to tell which one is which.
-
@Tango said in Controller works in Emulation Station, MAME says it's configured, but it won't work (yes, I searched!):
What seems odd to me is that ES reads them in on order and the emulator reads them in another.
There's no 'order' of controllers in EmulationStation - every controller is treated the same, there's no P1 or P2 like in an emulator.
-
@mitu said in Controller works in Emulation Station, MAME says it's configured, but it won't work (yes, I searched!):
There's no 'order' of controllers in EmulationStation - every controller is treated the same, there's no P1 or P2 like in an emulator.
Ah - never tried the 2nd controller in ES. As I mentioned, I had not configured it, so I figured it would be just "dead" until I did - but, again, A and B controllers are identical.
This sounds like there's no need, then, to ever configure the 2nd controller, since ES sees both of them and treats them the same and the emulators (at least MAME) already sees it.
Or is there some reason I need to configure the 2nd one anyway?
-
@Tango said in Controller works in Emulation Station, MAME says it's configured, but it won't work (yes, I searched!):
Or is there some reason I need to configure the 2nd one anyway?
No, just like RetroArch, the configuration is tied to the name/vendor/product values, which are identical for both controllers.
-
I want to add one point on this, that might be helpful.
Once I got this all working, I made a new image on another USB stick. Since I did several trial-and-error rounds on this, I want to create an image for myself that I can copy and use in case one version breaks or there are problems - and to give to friends who want to make their own retro gaming systems.
When I booted the new image, and hit F4 to get to the shell from EmulationStation, I got the normal multi-colored ASCII art image of the joy stick logo and info that RetroPie normally displays when you start a shell. I saw that and realized the other system was not doing that, so maybe something went wrong with creating the image or there were some other issues with it.
-
@Tango The welcome logo is installed by default on any image, but can be un-installed afterwards. It's a separate package that doesn't affect everything else.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.