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

    Adafruit GPIO Arcade Controller not Working in MAME

    Scheduled Pinned Locked Moved Help and Support
    joystickmamenot responding
    39 Posts 6 Posters 6.6k 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.
    • M
      MRInfected101
      last edited by

      That is where I'm confused, I've checked the excel compatibility list and only found starfire on the list, is there somewhere in the zip file it will tell me if it's 0.78? Or can you provide me a link for further reading into 0.78 compatibility?

      mituM caver01C 2 Replies Last reply Reply Quote 0
      • mituM
        mitu Global Moderator @MRInfected101
        last edited by

        @mrinfected101 The RetroPie docs have an Arcade dedicated section that explains which romset is used by every emulator and a compatibility list - see https://retropie.org.uk/docs/Arcade/ for a start.

        M 1 Reply Last reply Reply Quote 0
        • caver01C
          caver01 @MRInfected101
          last edited by

          @mrinfected101 said in Adafruit GPIO Arcade Controller not Working in MAME:

          is there somewhere in the zip file it will tell me if it's 0.78?

          There is nothing in a single rom file that I am aware of that will identify it as coming from any set. However, a tool like CLRMAMEPRO can examine a rom and its contents inside the .zip and compare hash values to known working files from a particular set using a .dat file as a reference. It is effectively a validation program that can also rebuild specific sets out of other sets provided you have all of the pieces.

          If you simply download a "merged set" labeled 0.78 in the description of the download, you are basically trusting whomever put the file together that it is indeed what they claim it to be. The only way to be sure is to prove it with CLRMAMEPRO. I wish I could help more with that part, but I have never been successful using it, although others have. It may not be your problem, but having a known good rom from a set that matches the emulator you are using is an important troubleshooting step.

          My 4-player cocktail style cabinet built as a custom "roadcase"

          1 Reply Last reply Reply Quote 0
          • M
            MRInfected101 @mitu
            last edited by

            @mitu Okay I've found the page with validating, rebuilding, etc. one of the romsets I am using I have found on the Lr-mame2003 compatibility list, should I go through validating it still?

            caver01C 1 Reply Last reply Reply Quote 0
            • caver01C
              caver01 @MRInfected101
              last edited by caver01

              @mrinfected101 The compatibility list merely describes what works on the Pi given you have a valid rom from the correct set. It does not validate your rom.

              My 4-player cocktail style cabinet built as a custom "roadcase"

              M 1 Reply Last reply Reply Quote 0
              • M
                MRInfected101 @caver01
                last edited by

                @caver01 okay thanks, I'll have to work on the validation later, as I don't have access to download CLRMAMEPRO at the moment, I will make another post when I have successfully verified the romsets. Thank you very much.

                rbakerR 1 Reply Last reply Reply Quote 0
                • rbakerR
                  rbaker @MRInfected101
                  last edited by

                  @mrinfected101 The best thing to do is acquire a full "reference" set for 0.78. That way, you do not need to use clrmame.

                  caver01C 1 Reply Last reply Reply Quote 0
                  • caver01C
                    caver01 @rbaker
                    last edited by

                    @rbaker I agree, and this is what I have done. But it can be a catch22--how do you know for certain that what is described as a reference set is what it claims to be? Testing the ROMs is one way I guess.

                    My 4-player cocktail style cabinet built as a custom "roadcase"

                    rbakerR 1 Reply Last reply Reply Quote 0
                    • rbakerR
                      rbaker @caver01
                      last edited by

                      @caver01 you can never be 100% but generally I find the ref sets are reliable. I guess my message is that hunting single roms from random places is the path to madness and frustration where the full set can sit somewhere and can be dipped into to find roms when needed. My early experince was launching a rom in mame and tab wouldn't do anything. I sat for ages then tried another rom and then another then another mame and so on. I then discovered this project and read the docs and became born again :)

                      caver01C 1 Reply Last reply Reply Quote 1
                      • caver01C
                        caver01 @rbaker
                        last edited by

                        @rbaker SO true.

                        My 4-player cocktail style cabinet built as a custom "roadcase"

                        1 Reply Last reply Reply Quote 0
                        • M
                          MRInfected101
                          last edited by

                          Well I did the validation and physically look at my ROMS there has been no change so does that mean my ROMsets were perfect or did I do something wrong?

                          caver01C 1 Reply Last reply Reply Quote 0
                          • A
                            alexraffa
                            last edited by

                            Hallo everyone!

                            I just complete the build of an arcade style control panel, using retrogame and mech. joystick and buttons. (1 joystik + 6 buttons) as follows:
                            1 button 1UP coin (retrogame set to send value "5")
                            1 button 1UP start(retrogame set to send value "1")
                            up, down, left, right joystick
                            A
                            B
                            X
                            Y
                            buttons
                            Configured in emulation station as
                            1 button select
                            1 button start
                            up, down, left, right joystick
                            A
                            B
                            X
                            Y
                            As may main focus will be mame lr-mame2003 I want to assign 8in mame only) select to coin 1 and start as 1P start

                            Everything seems to work, except that 1coin and 1p start do not seem to have any effect in mame.
                            In emustation I can use them to navigate the menus etc.. just fine...
                            I tried to do a core map in retroarch config, but I may be missing something as it has no effect.
                            How to troubleshoot?
                            I have a ps3 style usb controller, and with it I con control mame coin and 1p start, but have not found a way to replicate the behaviour

                            Hints more than welcome!

                            caver01C 1 Reply Last reply Reply Quote 0
                            • caver01C
                              caver01 @alexraffa
                              last edited by

                              @alexraffa Your post has nothing to do with Adafruit arcade controller. Please do not hijack this thread with your question.

                              Post a new thread, but READ THIS FIRST.

                              My 4-player cocktail style cabinet built as a custom "roadcase"

                              1 Reply Last reply Reply Quote 0
                              • caver01C
                                caver01 @MRInfected101
                                last edited by

                                @mrinfected101 I am at a loss about why you joystick does not work. It sounds like you are confident you have the right roms for the emulator you are trying. I guess the joystick could be wired incorrectly, or perhaps it is a configuration problem with the Adafruit setup. I wonder if maybe there was a misleading suggestion in online guide on Lynda.com. Sorry. I am out of ideas.

                                My 4-player cocktail style cabinet built as a custom "roadcase"

                                1 Reply Last reply Reply Quote 0
                                • M
                                  MRInfected101
                                  last edited by

                                  Well last night I was testing other things with retropie, and ended up plugging in my X-box one control in through USB, configured the controls in emulation station, launched one of my ROMs (roboroto) and it was working just fine, and the joystick works fine in emulation station before launching a ROM and it doesn't when it launches so that is where I'm at.

                                  caver01C 1 Reply Last reply Reply Quote 0
                                  • caver01C
                                    caver01 @MRInfected101
                                    last edited by

                                    @mrinfected101 I had a thought. . . in another thread a couple days ago there was a user who had a keyboard controller wired up to the Player1 joystick. Everything worked in ES, but in lr-mame2003, left and right failed. Turns out, they had the joystick wired backwards. Left was wired to right and so on.

                                    You normally would not think it matters because you are mapping the controls, right? But in MAME, the emulator was accepting two inputs at the same time--the virtual retropad mapping from RetroArch/ES configuration, and the RAW keystrokes. This dual input situation in mame2003 is documented in other threads and is rarely a problem. Anyway, we suspect that when they were pushing LEFT on the joystick, the retropad was sending LEFT inputs, but at the same time, the raw key that was sent was RIGHT--the opposite because it was wired backward. MAME was also seeing this input and the result was cancelling the movement seen by the game.

                                    Is your joystick perhaps wired arbitrarily/incorrectly? In other words, regardless of how you have it setup in ES and Retroarch, does pushing UP actually send UP key, or is it sending something else? If you were to bring up a command prompt, could you move the cursor with your joystick?

                                    My 4-player cocktail style cabinet built as a custom "roadcase"

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      MRInfected101
                                      last edited by MRInfected101

                                      @caver01 Well when I open the command prompt its not displaying any command lines when I press keys, when I configured the controls in command prompt I did as follows, downloaded the retrogame git clone, then ls, enter, cd Adafruit-Retrogame/ , enter, cd configs, enter, nano retrogame.cfg, enter, then configured the GPIO pins to controls, ex: pin 16 is left on the stick.

                                      caver01C 1 Reply Last reply Reply Quote 0
                                      • caver01C
                                        caver01 @MRInfected101
                                        last edited by

                                        @mrinfected101 Well, you might not notice everything the keys are doing at a command prompt unless you know exactly what to expect. For instance, player one directions are just the arrow keys by default in MAME, so unless you know that, you might not notice what moving the joystick is doing at a command prompt. Other button defaults may include LeftControl, or LeftAlt, space, etc, so these also may not be obvious. I was just wondering if you can even prove that they are actually sending inputs.

                                        One idea you could try is to run the advk utility from the bin directory of advancemame (any version) This should let you test whether your arcade controls are generating keystrokes at least.

                                        My 4-player cocktail style cabinet built as a custom "roadcase"

                                        M 1 Reply Last reply Reply Quote 0
                                        • M
                                          MRInfected101 @caver01
                                          last edited by

                                          @caver01 When I was mapping my keys, I was able to check they were sending the virtual key outputs, is that what you mean?

                                          caver01C 1 Reply Last reply Reply Quote 0
                                          • caver01C
                                            caver01 @MRInfected101
                                            last edited by caver01

                                            @mrinfected101 Yes, that is part of it--you definitely need to be certain that when you trigger an input, that it sends a virtual keypress that you intend. The second part from above is the fact that MAME2003 expect certain keyboard defaults, regardless of how you map things in retroarch. For most people, the retroarch mappings override, but for keyboard controller users like us, it is important to be aware of that this version of mame actually sees two inputs at once. This is basically a bug that has been allowed to languish because it does not have any serious impact to the emulation and there are workarounds easier than than fixing it. SO, this second part may be an issue. If you have RIGHT ARROW mapped to the left movement of your joystick which would be backwards, retroarch will send the corrected, remapped MOVE LEFT input (using a virtual retrogame controller) but MAME will simultaneous see a raw keypress RIGHT ARROW which it interprets as right movement. In other words, the contradiction would cancel itself and it would seem like your joystick does not work.

                                            It might be a big coincidence if you are setup this way, but it did just come up on another thread within the past couple of weeks, and I know how easy it is to get things wired in reverse when looking at a joystick from the bottom.

                                            My 4-player cocktail style cabinet built as a custom "roadcase"

                                            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.