RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Controller works in Emulation Station, MAME says it's configured, but it won't work (yes, I searched!)

    Scheduled Pinned Locked Moved Help and Support
    controllerconfiguration
    16 Posts 2 Posters 968 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • TangoT
      Tango
      last edited by

      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:
      IMG_0235.jpeg

      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:
      IMG_0236.jpeg
      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.

      1 Reply Last reply Reply Quote 0
      • mituM
        mitu Global Moderator
        last edited by

        Try deleting the .cfg files - leave only the .state. and .zip files.

        TangoT 1 Reply Last reply Reply Quote 0
        • TangoT
          Tango @mitu
          last edited by

          @mitu

          @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.

          1 Reply Last reply Reply Quote 0
          • mituM
            mitu Global Moderator
            last edited by

            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.

            TangoT 1 Reply Last reply Reply Quote 0
            • TangoT
              Tango @mitu
              last edited by

              @mitu

              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.

              Here's the log on Pastebin.

              1 Reply Last reply Reply Quote 0
              • mituM
                mitu Global Moderator
                last edited by

                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.

                TangoT 1 Reply Last reply Reply Quote 0
                • TangoT
                  Tango @mitu
                  last edited by

                  @mitu

                  @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.

                  mituM 1 Reply Last reply Reply Quote 0
                  • mituM
                    mitu Global Moderator @Tango
                    last edited by

                    @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.

                    TangoT 1 Reply Last reply Reply Quote 0
                    • TangoT
                      Tango @mitu
                      last edited by

                      @mitu

                      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.

                      mituM 1 Reply Last reply Reply Quote 0
                      • mituM
                        mitu Global Moderator @Tango
                        last edited by mitu

                        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.

                        TangoT 1 Reply Last reply Reply Quote 0
                        • TangoT
                          Tango @mitu
                          last edited by

                          @mitu

                          @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.

                          mituM 1 Reply Last reply Reply Quote 0
                          • mituM
                            mitu Global Moderator @Tango
                            last edited by

                            @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.

                            TangoT 1 Reply Last reply Reply Quote 0
                            • TangoT
                              Tango @mitu
                              last edited by

                              @mitu

                              @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?

                              mituM 1 Reply Last reply Reply Quote 0
                              • mituM
                                mitu Global Moderator @Tango
                                last edited by

                                @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.

                                TangoT 1 Reply Last reply Reply Quote 0
                                • TangoT
                                  Tango @mitu
                                  last edited by

                                  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.

                                  mituM 1 Reply Last reply Reply Quote 0
                                  • mituM
                                    mitu Global Moderator @Tango
                                    last edited by

                                    @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.

                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post

                                    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.