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

    Several buttons on 2nd controller not working

    Scheduled Pinned Locked Moved Help and Support
    dragonrise usbcontrollermappping
    15 Posts 6 Posters 2.3k 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.
    • K
      kill
      last edited by

      Hi All,

      I'm building an arcade, and have 2x USB encoders. One for each player.

      Bus 003 Device 005: ID 0079:0006 DragonRise Inc. PC TWIN SHOCK Gamepad
      Bus 003 Device 007: ID 0079:0006 DragonRise Inc. PC TWIN SHOCK Gamepad
      

      Both devices show up correctly, and work perfectly in EmulationStation. Both devices test correctly using jstest /dev/input/js0 and jstest /dev/input/js1. All buttons respond, and button ordering as report by jstest is identical between both joysticks.

      However, when I launch arcade games (I'm using the mame2010 libretro core), I'm having an issue where some of the buttons on Player 2's controller don't work (B for example). Opening the service menu for the game (In this case, Street Fighter EX) I get a input test screen.

      Using this input test screen, I can see all P1 controls respond correctly, and 3 of the 6 P2 controls do not respond.

      If I unplug the P1 encoder, then go to input test screen again, I can see all 6 buttons on the P2 pad are now working.

      My retroarch.cfg is pretty much stock - https://pastebin.com/raw/HwGs6jY3
      ES has generated an autoconfig file for the pad - https://pastebin.com/raw/k0hKreK9

      How do I debug this?

      RetroPie Version: 4.4.2
      Host OS: Ubuntu 18.04
      Hardware: Standard x86_64 PC

      Thanks :)

      1 Reply Last reply Reply Quote 0
      • C
        Cybrasty
        last edited by Cybrasty

        This is a shot in the dark, but is your power supply up to snuff?

        If a single USB connected device works, and it starts misbehaving when more devices are connected it might be due to not enough power to drive both Mame2010 running SF EX and the USB devices.

        Is your red LED constantly ON (solid red light, no blinks) when running Street Fighter Ex?

        Try some other games on Mame2010 (especially older 80s ones) and try some other emulators with both USB pads connected.

        Edit: I know it probably won't be it with an X86 machine, but if it is older hardware, it might be the case.

        K 1 Reply Last reply Reply Quote 0
        • K
          kill @Cybrasty
          last edited by

          @cybrasty said in Several buttons on 2nd controller not working:

          This is a shot in the dark, but is your power supply up to snuff?

          If a single USB connected device works, and it starts misbehaving when more devices are connected it might be due to not enough power to drive both Mame2010 running SF EX and the USB devices.

          It's having no issues that I can see giving the necessary power. Even with the game playing, I can open jstest (via SSH) and see everything is still working as expected.

          Try some other games on Mame2010 (especially older 80s ones) and try some other emulators with both USB pads connected.

          I've tried a few, including some 2 button games, and on the P2 pad, one of the buttons wasn't working :(

          1 Reply Last reply Reply Quote 1
          • K
            kill
            last edited by

            Adding some more info - I grabbed a spare Raspberry Pi 2B, installed RetroPie using retropie-4.4-rpi2_rpi3.img - hooked up one pad, configured in Emulation Station, verified the pad in SF EX input test screen.

            I then hooked up the second pad, configured, headed back into the same SF EX input test screen, I can see P1's pad is fully functional, and P2's pad is missing 2 of 6 buttons.

            So, with 100% stock config (bar the ES input configuration..), I'm seeing this behaviour.

            edmaul69E 1 Reply Last reply Reply Quote 1
            • C
              Cybrasty
              last edited by Cybrasty

              Do you have any other USB gamepads (other brand/model) you can test, so we can figure out if it is only affects the current gamepads (then you would mess with the particular gamepad .cfg) or is it system wide.

              My thinking is that because they are the same model, there might be some crossed wires when it comes to signals being sent to CPU. Maybe Retropie can distinguish those signals, but Mame, being older build, might run into some issues interpreting them?

              Edit: Try setting them up with this to bind each to a particular player, if the signals get lost because they end up somewhat calling a button for different player, this might help. It probably won't, but it is worth a shot.

              K 1 Reply Last reply Reply Quote 0
              • G
                grant2258 Banned
                last edited by

                edit /boot/cmdline.txt and add at the end of line this :

                usbhid.quirks=0x0079:0x0006:0x040

                reboot

                set your p1 controller up again in emulation station you should be good to go

                K 1 Reply Last reply Reply Quote 0
                • K
                  kill @grant2258
                  last edited by

                  @grant2258 said in Several buttons on 2nd controller not working:

                  edit /boot/cmdline.txt and add at the end of line this :

                  usbhid.quirks=0x0079:0x0006:0x040

                  reboot

                  set your p1 controller up again in emulation station you should be good to go

                  I should have mentioned, I already gave this a go - I tried adding it again anyway, and no change.

                  That said - Which quirk is 0x040 enabling? I had a hard time tracking down the hex value to a specific quirk being fixed?

                  1 Reply Last reply Reply Quote 0
                  • K
                    kill @Cybrasty
                    last edited by

                    @cybrasty said in Several buttons on 2nd controller not working:

                    Do you have any other USB gamepads (other brand/model) you can test, so we can figure out if it is only affects the current gamepads (then you would mess with the particular gamepad .cfg) or is it system wide.

                    My thinking is that because they are the same model, there might be some crossed wires when it comes to signals being sent to CPU. Maybe Retropie can distinguish those signals, but Mame, being older build, might run into some issues interpreting them?

                    I dug out another controller (a 8Bitdo NES30..), and you're onto something (I just don't know what yet!). The same set of buttons doesn't work for P2 when using this pad in place of the "DragonRise" encoder :)

                    C 1 Reply Last reply Reply Quote 0
                    • C
                      Cybrasty @kill
                      last edited by

                      @kill That is curious, especially that it does the same on the fresh copy of Retropie.

                      Is the issue limited to MAMA2010, or do other emulators behave the same?

                      K 1 Reply Last reply Reply Quote 0
                      • G
                        grant2258 Banned
                        last edited by

                        I read the first post fully is sounds like its a mame2010 setup issue as the js test was good. I use two dragon rises and have no issues. @markwkidd has done a lot of work on the input system on mame2003plus. I can help you setting that up no problems at all. I havent used lr-mame2010 but 2003plus i know inside out as i helped with the setup for dragonrise 6 and 8 button configs

                        1 Reply Last reply Reply Quote 0
                        • K
                          kill @Cybrasty
                          last edited by

                          @cybrasty said in Several buttons on 2nd controller not working:

                          @kill That is curious, especially that it does the same on the fresh copy of Retropie.
                          Is the issue limited to MAMA2010, or do other emulators behave the same?

                          lol - @kill (You have no idea how often I type kiallall <process> instead of killall ;))

                          Anyway - So far, I've only tested with lr-mame2010. I can try find a game with a good input test screen like SFEX that works with lr-mame2003 / lr-mame2003-plus.. I'll give it a go later today.

                          @grant2258 said in Several buttons on 2nd controller not working:

                          I read the first post fully is sounds like its a mame2010 setup issue as the js test was good. I use two dragon rises and have no issues. @markwkidd has done a lot of work on the input system on mame2003plus. I can help you setting that up no problems at all. I havent used lr-mame2010 but 2003plus i know inside out as i helped with the setup for dragonrise 6 and 8 button configs

                          As mentioned above, I'll give lr-mame2003 / lr-mame2003-plus a go today and see what happens.

                          Thanks for the pointers all - will let you know what happens...

                          1 Reply Last reply Reply Quote 0
                          • G
                            grant2258 Banned
                            last edited by grant2258

                            the setup for mame2003 plus is simple. if you have 6 buttons map like this

                            https://github.com/libretro/mame2003-plus-libretro/blob/master/metadata/wipcontrols/snesmapping.png

                            if you have 8 buttons map like this

                            https://github.com/libretro/mame2003-plus-libretro/blob/master/metadata/wipcontrols/10PANEL.png

                            then goto quick menu -> controls
                            change user1 and 2 device type to 6 button or 8 button

                            pick save remapfile your done. The top left side is the mame button number order.

                            you can also redifne any buttons n this menu.

                            There is also a 8 button setup for compatibility with fba/sf2 fightstick for 8 button layout but it doesnt map l and r very nice for other cores by default.

                            here is the link for that mapping
                            https://github.com/libretro/mame2003-plus-libretro/blob/master/metadata/wipcontrols/modern.png

                            1 Reply Last reply Reply Quote 1
                            • D
                              deverdon
                              last edited by

                              I was wondering if there was any resolution to this issue. I'm having the EXACT same problem with my Player 2 controller. All of the Player 2 buttons work on the menu screen, but when I'm playing any of my fighting ROMS the "A" and "RS" buttons (i.e. Medium Kick and Heavy Kick) stop working.

                              ClydeC 1 Reply Last reply Reply Quote 0
                              • ClydeC
                                Clyde @deverdon
                                last edited by Clyde

                                @deverdon Which emulator do you use? (mame2003, mame2003-plus, …)

                                Did you try @grant2258's solution in mame2003-plus?

                                If that doesn't help, please provide the information about your system that is requested in https://retropie.org.uk/forum/topic/3/read-this-first.

                                1 Reply Last reply Reply Quote 0
                                • edmaul69E
                                  edmaul69 @kill
                                  last edited by

                                  @kill if you have matching controllers or encoders you never have to configure player 2. Both players share the same config file. After you setup player one if you want player two working immediately in emulationstation just restart emulationstation. Retroarch emulators dont need a restart to have player 2 already working in it. You can create problems trying to find an issue with encoders wiring between both players if you setup player 2 as it overwrites any configuration you setup with player one.

                                  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.