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

    Issue with XIN-MO Arcade Controller (2 Players).

    Scheduled Pinned Locked Moved Help and Support
    xin mo dualplayer 2problembuttons switch
    9 Posts 3 Posters 9.7k 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.
    • Shay90S
      Shay90
      last edited by Shay90

      Firstly, the issue:

      I am building a 2 Player Arcade Cabinet. I bought a complete Button Kit from ArcadeWorld. It came with a 'XIN-MO controller Dual Arcade' which I have connected everything to (All buttons & x2 Joysticks). I am aware that in order to make the RP3 recognise it as x2 Controllers instead of one, you must follow this article:

      Xin Mo Controller
      https://github.com/RetroPie/RetroPie-Setup/wiki/Xin-Mo-Controller

      I added the the following to /boot/cmdline.txt

      usbhid.quirks=0x16c0:0x05e1:0x040

      I double checked the Vendor/Product ID with lsusb and there are no typos in this line.

      Ok great, it is now recognized as two controllers...

      So I configure Input in Retropie as per normal. My setup has a joystick per player and 6 main buttons, and each have a start/select button.

      First of all, there is NO issue when I configure the first controller. Games work fine, controls are great! BUT then when I configure Player 2, the first controllers Right and Left switch! For example I jump into Metal Slug. And one player is perfect BUT the other one's Right and Left have been inverted (Right goes Left and Left goes Right on the Joystick). While browsing the Retropie Menus, you can also see the Left / Right issue. I must push Right on my joystick to move to the left in Retropie Menu (Viewing Consoles). Also the Start / Select buttons have switched.

      When I configure the second controller (in any order physically) in Retropie, that the controls get messed up on the one that was set first.

      So I thought, ok I can just go into RetroArch and switch the Left - Right buttons on the second controller which was configured. But that doesn't work. RetroArch won't save the configs.

      I don't believe this is a physical issue, seen as there is no issue using any ONE controller on its own. Its when that second controller is programmed in Retropie that the isssue occurs. So definetely software related?

      My Specs:

      Pi Model or other hardware: Pi 3B
      Power Supply used: Official RP3 Charger
      RetroPie is v4.3
      Built From: SD Image on RetroPie website
      USB Devices connected: XIN-MO 2 Player Controller
      Guide used: https://github.com/RetroPie/RetroPie-Setup/wiki/Xin-Mo-Controller
      Emulator: NEO-GEO / MAME
      How to replicate the problem: Configure Player 1 in Retropie. Configure Player 2. Jump into Metal Slug. Observe, that the second controller configured has become corrupt. Left move of the joystick will move player Right. Also the Start / Select buttons have switched.

      1 Reply Last reply Reply Quote 0
      • Shay90S
        Shay90
        last edited by Shay90

        Update Question: I now think there may be an issue with the wiring. Lets take the joystick for example. I placed a 4-pin connector into the XIN-MO, in the allocated spot which I see on the XIN-MO diagram for the LRUD directions. Do these have to go to exact correct button on the Joystick? Because it is hard to tell which connector (of the 4) on the joystick is which direction? I just thought, ok any of the LRUD pins on the XIN-MO can connect to the joystick, once its one of four in the block on the diagram?

        1 Reply Last reply Reply Quote 0
        • Shay90S
          Shay90
          last edited by Shay90

          Found a fix:

          Deleting the retroarch.cfg for that emulator should fix it! Reboot Your Pi and it will be re-created. I did this and it fixed my P1 / P2 getting mixed up. Issue was MAME specific too!

          K 1 Reply Last reply Reply Quote 0
          • K
            Kvnsrv @Shay90
            last edited by

            @shay90 hey I'm having this same issue... How did you find the file and do you need to delete it all of the emulators? Much appreciated thanks

            1 Reply Last reply Reply Quote 0
            • D
              dsstrainer
              last edited by

              Why do you prefer xin mo over zero delay? Seems like ZD is the new defacto standard now as they are literally sold by dozens of companies on aliexpress, ebay, and amazon. Plus they work out of the box and are about $9 each with simple connectors. Can't really beat that.

              RetroPie v4.2 • RPi3 Model B • 5.1V 2.5A PSU • 8GB SanDisk class 10 microSD • 16GB External USB Thumb Drive
              Roms, images and configs stored in USB and symlinked from normal microsd location
              Xarcade Keyboard encoder + Zero Delay Joystick encoder

              K 1 Reply Last reply Reply Quote 0
              • K
                Kvnsrv @dsstrainer
                last edited by

                @dsstrainer it's not that I prefer it.. It just came with my build but if it's easy enough to swap I will.. It is connected by one USB port but I did the steps to have retropie recognize 2 controllers with the cmdline.txt addition (usbhid etc.)... Ill search for what you mentioned and if the measurements are the same I will do it... But for now I wanna try to delete that file he was talking about to see if it works

                1 Reply Last reply Reply Quote 0
                • D
                  dsstrainer
                  last edited by

                  @Kvnsrv Understood :)

                  RetroPie v4.2 • RPi3 Model B • 5.1V 2.5A PSU • 8GB SanDisk class 10 microSD • 16GB External USB Thumb Drive
                  Roms, images and configs stored in USB and symlinked from normal microsd location
                  Xarcade Keyboard encoder + Zero Delay Joystick encoder

                  K 1 Reply Last reply Reply Quote 0
                  • K
                    Kvnsrv @dsstrainer
                    last edited by

                    @dsstrainer so I tried deleting that file and didn't work... Then tried remapping through retroarch and the buttons still get swapped as soon as the other controller is configured..i noticed through mapping that the 2nd controller axis isn't the same though... Like UP on the 1st controller registers as "+1" and DOWN as "-1" but 2nd controller UP registers as "-0" and DOWN as "+0" its really weird but I'm at a loss right now... I even tried physically putting the joystick in a different position on the control board but either way doesn't help... If anyone else can jump in on this I would be eternally grateful.
                    I just wanna play 2 players on my 2 player cabinet!!
                    😭

                    1 Reply Last reply Reply Quote 0
                    • K
                      Kvnsrv
                      last edited by

                      Okay so update!
                      At long last I figured out the issue... Hallelujah!
                      I opened up the hardware and looked hard at the xin mo encoder. I had a diagram to reference where the connections need to be beforehand in case.
                      I then simply unplugged the 2nd player side's 4 pin (up, down, left, right) connector and turned it around and plugged it right in and BAM! All of the configurations read right and the controls were as they should be!
                      Hopefully this can help anyone who was at a loss like I was. It seems when all software issues fail... Check the physical connections to verify. 😂👍

                      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.