How to get Xin-Mo Dual Arcade Working with retropie! UPDATE: Raspberry Pi 0,1,2 (And 3 in some cases)
-
UPDATE: If you have the Raspberry pi 3 try the "usbhid.quirks=0x16c0:0x05e1:0x040"-fix, some users report that that is enough for making it work. (But you have to place the wires on the right place on the Xin-mo board)
Here is the Xin-mo wiki, read it: https://github.com/RetroPie/RetroPie-Setup/wiki/Xin-Mo-ControllerProbably you are in the same situation as I was, pulling your hair because you can’t get the Xin-mo to work properly. And it is nearly impossible to find a easy to follow guide how to get it working. So when I got my Xin-mo working with all the emulators I decided to write this guide. Enjoy!
This is the setup I got:
Pi Model: Raspberry Pi 2
RetroPie Version Used: 3.3.1
Magnet link:
Raspberry pi 2: magnet:?xt=urn:btih:6656bf7bd104930039f4eb81399976ebd297b8fe
Raspberry pi 1: magnet:?xt=urn:btih:45fa6ef6314ec23617238a19c9baadb707e2eda3&dn=retropie-v3.3.1-rpi1.img.gz
(Use uTorrent/Transmission to open the magnet link)
Built From: SD Image
USB Devices connected: Xin-Mo (http://www.xin-mo.com/?page_id=34)
Bought the Xin-mo with arcade buttons here: http://www.ultracabs.co.uk/usb-interface–standard-joystick-set-109-p.aspI have tested the Xin-mo with the following: MAME, FBA, Playstation, SNES, NES, SMS, SMD, Game boy, Game boy Advance, Doom.
If you are used to installing Retropie you can skip several steps.
Step 1: Connect the cables from the arcade buttons to the Xin-mo as shown in the attached picture. Else you will get player 1 as player 2 and vice versa. (Choose PS3 mode and not PC)
Step 2: Download and Write your RetroPie image to a SD-card.
Step 3: Insert the SD-card with RetroPie 3.x in your raspberry Pi, connect it to your network with a RJ-45 cable or wifi and boot it up.
Step 4: Go to the “RetroPie” menu and select : “raspberry Pi configuration tool raspi-config”. Then click: “Expand filesystem”. Reboot. (Not needed in newer RetroPie)
Step 5: Login to the terminal and set a root password, type: sudo passwd root and choose a password. For example: User: Root Password: raspberry
Step 6: Download this custom kernel (It will fix the problem with the joysticks messing with each other): https://www.dropbox.com/s/lty3yublbefr8r9/custom_kernel_1.20150818-1.tar.gz?dl=0
Newer kernel: Use this if you install 3.6/3.7: https://www.dropbox.com/s/4pn30vkecq1v0wp/custom_kernel_1.20160322-1.tar.gz?dl=0
The kernels will work for Raspberry Pi 0, 1 and 2. Will try to update the guide for Raspberry 3 as well.
(Thanks to feederchain for the kernels).Step 7: Don’t unpack the file just place it somewhere on the SD-card, in /home/ for example. (I used filezilla for transferring the file from my computer to the Pi) (Do this as ROOT!)
Step 8: Run these commands from the terminal on the Raspberry Pi or using SSH:
cd /home/ (This is the place you placed your file, so here I used /home/)
tar -xf custom_kernel_1.20150818-1.tar.gz (This command unpacks the file)
cd custom_kernel_1.20150818-1
sudo ./install.sh (This will install the custom kernel)After this the Raspberry Pi should reboot.
Step 9: Now we are going to modify the cmdline.txt so we get two controllers showing up instead of one.
SSH or terminal again:
cd /boot/
sudo nano cmdline.txtAdd the following content after a space at the end of the first line: usbhid.quirks=0x16c0:0x05e1:0x040
Press CTRL + X and type “Y” for yes, so it saves the file.
Step 10: Now you can register your buttons in EmulatorStation, but just register the left controller (Player 1). Now you should be able to navigate and press buttons.
Step 11: Go in to the RetroArch configuration and navigate to “input”, change the buttons you want for Player 1 and 2 for the Xin-mo. Then go to hotkeys menu and select what buttons you want for quitting a game, saving etc.
RetroPie—>Configure RetroArch/Launch RetroArch RGUI—–>Settings—->Input—->”Input Hotkey Binds” and “input User 1/2/3 etc Binds”
Step 12: Change the driver for the Xin-mo from sdl2 to udev.
Step 13: Go back to the main menu in RetroArch and save the config as a new file. (For me it didn’t work just to save the old file) Quit RetroArch setup.
Step 14: Navigate to the config file (using filezilla e.g.) in /opt/retropie/configs/all/ rename the file retroarch.cfg to retroarch.cfg.old, and rename the file you just created to retroarch.cfg. Reboot RetroPie.
Step 15: If you are using MAME you have to start a game and press TAB and edit the controls in there as well.
Step 16: DONE! Now both players should work in all the games, so you can play Street Fighter II or Tekken 3 with a friend. Enjoy!
(In Emulatorstation the right controller have some issues, but the left controllers is enough for navigating. And both is working in the games.)
Here is FileZilla: https://filezilla-project.org/download.php?show_all=1
Here is Win32diskimager For Writing or create a backup of RetroPie (Windows) : https://sourceforge.net/projects/win32diskimager/
Here is Pi Copier and Pi Filler if you are using Mac OSX: http://ivanx.com/raspberrypi/
This picture shows how you should place your wires. (Choose PS3) http://blog.petrockblock.com/wp-content/uploads/2016/01/arcade-controller-to-usb.jpg
And here is the old thread: http://blog.petrockblock.com/forums/topic/how-to-get-xin-mo-dual-arcade-working-with-retropie-easy-guide/
-
If you had to do something special (That is not in the guide) to get the Xin-Mo working with your system, please let us know by writing it here!
-
is the custom kernel the part that fixed the "autofire on the axis" problem people were having? im using a raphnet 2usb adapter, and a lot of the same principles work for both.
-
Hey Guys,
I tried this with my new PI 3 and used the newest Kernel (custom_kernel_1.20160322-1.tar.gz).
After finishing STEP 8 my Pi dosen't boot up anymore. I just got a screen with 4 raspberry in the left top corner.
I used this instructions with me PI2 B+ in the past there it worked out great.
Dose anyone knows what happens??Thanks
PS: ALL OTHER BE AWARE THIS KERNEL BRICKS YOUR PI
-
please any help or comments?!?
-
hey guys is there no idea whyit is like that?????
-
Hi @karimi .
I had the same issue. The only way to fix it is to wipe your SD card and start again. Unfortunately the kernel does NOT work for Pi3.
I had the same issue of the xin-mo board not being recognised as 2 player, but my solution was fairly simple on this thread here:
https://retropie.org.uk/forum/topic/631/retropie-xin-mo-joypad-help-pulling-my-hair-out-now
Basically, you need to have the wiring of the board to the buttons 100% correct, or as close as possible, then add the usbquirks entry on cmdline.txt as described above. This should work on its own. If any button configs change when entering a game, you may need to swap a couple of physical wires.
Look at the above link for more info. Hope this helps. -
THANKS,
but why there is this wrong Kernel pinned in this thread.
I mean I also had this problem with my Pi 2B+, there it works out fine. I knew about problems with the PI3 and bricking after using the Kernel, but I thought with this new Kernel all old problems are fixed.
SO could u explain what u exactly mean with "you have to have the wiring of the board to the buttons 100% correct"?? I mean I got it otherwise it wouldn’t work...the Problem of the XIO is really simple, there is just one board and so one USB-Kable for two Controller-Sticks. and it is not possible to change in Retro Arch the Number of the 2nd Arcade Stick to #2. so it is so simple why u move both player simultaneous with both sticks....
And I don't want to buy a second board for the Xin-Mo, I mean for what when it works on the Pi 2B+. So the reason why it doesn't work on the PI 3 is in my opinion ridicules. After tis -
Hi people,
I started a thread re button layout etc with the Xin mo;
https://retropie.org.uk/forum/topic/621/xin-mo-dual-arcade-config-button-layoutI have followed this great thread, thanks very much!
Two controllers working, But I am confused how to map in retro arch etc.
Can anyone share their Xin Mo config files for Retroarch etc?
Sorry for the highjack.
Ian -
Hey guys I am still facing the problem of just have #1 shown in retroactively for both sticks.
Why the kernel doesn't work for the PI 3. I uses this instruction with my pi 2B+ and everything was fine.
Need help plz -
Hi! Thanks for the feedback, I don't have a Raspberry Pi 3 to test the kernel with, I thought it would work. I will update the guide now:-)
-
@JoargTheBard
Hi! Yes, it should fix that too! -
If you follow every step in this guide it should work with your Raspberry Pi 0,1 and 2.
Can someone who owns a Raspberry Pi 3 and got the Xin-Mo working write a short guide how to make the Xin-mo work in RetroPie with a Raspberry Pi 3? I will then put the new update in this guide:-) -
Yes plz provide a new instruction..
Thanks
-
i installed this, it did not fix the auto fire problem, and now there is no sound... do i have to revert to a backup, or is there a fix?
-
Hi Thanks for the guide and efforts in compiling :) I've followed this through until 11); When i try and use the right side to input buttons/joystick movements into user 2, none of them register. They're all connected up as i've tested on PC and all are configured and working independently (using controller setupon pc) and if i just use the emulationstation controller setup i can set user 1 with all the right hand side buttons and joystick; it's as if i can ONLY use one side or the other! Sorry if that doesn't make complete sense! I'm using a Pi 2 model b :)
-
Hi, does anyone know how to get this working on raspberry Pi 3, I wired the xin mo, I'm only using player one.. I don't need player 2. I seem to be able to navigate emulation station but not in games.
Anyone please help?
I would greatly appreciate it
-
@DuckClimber said in How to get Xin-Mo Dual Arcade Working with retropie! Easy guide:-) UPDATE: Raspberry Pi 0,1,2:
UPDATE:Since I can't edit the guide on the old forum and I still see people having problems with the Xin-Mo, I continue the thread here. I know that for some people the "usbhid.quirks=0x16c0:0x05e1:0x040"-fix is enough, but apparently it don't work for everybody. (Including me)
Probably you are in the same situation as I was, pulling your hair because you can’t get the Xin-mo to work properly. And it is nearly impossible to find a easy to follow guide how to get it working. So when I got my Xin-mo working with all the emulators I decided to write this guide. Enjoy!
This is the setup I got:
Pi Model: Raspberry Pi 2
RetroPie Version Used: 3.3.1 Magnet link: Raspberry pi 2: magnet:?xt=urn:btih:6656bf7bd104930039f4eb81399976ebd297b8fe
Raspberry pi 1: magnet:?xt=urn:btih:45fa6ef6314ec23617238a19c9baadb707e2eda3&dn=retropie-v3.3.1-rpi1.img.gz
(Use uTorrent/Transmission to open the magnet link)
Built From: SD Image
USB Devices connected: Xin-Mo (http://www.xin-mo.com/?page_id=34)
Bought the Xin-mo with arcade buttons here: http://www.ultracabs.co.uk/usb-interface–standard-joystick-set-109-p.aspI have tested the Xin-mo with the following: MAME, FBA, Playstation, SNES, NES, SMS, SMD, Game boy, Game boy Advance, Doom.
If you are used to installing Retropie you can skip several steps.
Step 1: Connect the cables from the arcade buttons to the Xin-mo as shown in the attached picture. Else you will get player 1 as player 2 and vice versa. (Choose PS3 mode and not PC)
Step 2: Download and Write your RetroPie image to a SD-card.
Step 3: Insert the SD-card with RetroPie 3.x in your raspberry Pi, connect it to your network with a RJ-45 cable or wifi and boot it up.
Step 4: Go to the “RetroPie” menu and select : “raspberry Pi configuration tool raspi-config”. Then click: “Expand filesystem”. Reboot. (Not needed in newer RetroPie)
Step 5: Login to the terminal and set a root password, type: sudo passwd root and choose a password. For example: User: Root Password: raspberry
Step 6: Download this custom kernel (It will fix the problem with the joysticks messing with each other): https://www.dropbox.com/s/lty3yublbefr8r9/custom_kernel_1.20150818-1.tar.gz?dl=0
Newer kernel: Use this if you install 3.6/3.7: https://www.dropbox.com/s/4pn30vkecq1v0wp/custom_kernel_1.20160322-1.tar.gz?dl=0
The kernels will work for Raspberry Pi 0, 1 and 2. Will try to update the guide for Raspberry 3 as well.
(Thanks to feederchain for the kernels).Step 7: Don’t unpack the file just place it somewhere on the SD-card, in /home/ for example. (I used filezilla for transferring the file from my computer to the Pi) (Do this as ROOT!)
Step 8: Run these commands from the terminal on the Raspberry Pi or using SSH:
cd /home/ (This is the place you placed your file, so here I used /home/)
tar -xf custom_kernel_1.20150818-1.tar.gz (This command unpacks the file)
cd custom_kernel_1.20150818-1
sudo ./install.sh (This will install the custom kernel)After this the Raspberry Pi should reboot.
Step 9: Now we are going to modify the cmdline.txt so we get two controllers showing up instead of one.
SSH or terminal again:
cd /boot/
sudo nano cmdline.txtAdd the following content after a space at the end of the first line: usbhid.quirks=0x16c0:0x05e1:0x040
Press CTRL + X and type “Y” for yes, so it saves the file.
Step 10: Now you can register your buttons in EmulatorStation, but just register the left controller (Player 1). Now you should be able to navigate and press buttons.
Step 11: Go in to the RetroArch configuration and navigate to “input”, change the buttons you want for Player 1 and 2 for the Xin-mo. Then go to hotkeys menu and select what buttons you want for quitting a game, saving etc.
RetroPie—>Configure RetroArch/Launch RetroArch RGUI—–>Settings—->Input—->”Input Hotkey Binds” and “input User 1/2/3 etc Binds”
Step 12: Change the driver for the Xin-mo from sdl2 to udev.
Step 13: Go back to the main menu in RetroArch and save the config as a new file. (For me it didn’t work just to save the old file) Quit RetroArch setup.
Step 14: Navigate to the config file (using filezilla e.g.) in /opt/retropie/configs/all/ rename the file retroarch.cfg to retroarch.cfg.old, and rename the file you just created to retroarch.cfg. Reboot RetroPie.
Step 15: If you are using MAME you have to start a game and press TAB and edit the controls in there as well.
Step 16: DONE! Now both players should work in all the games, so you can play Street Fighter II or Tekken 3 with a friend. Enjoy!
(In Emulatorstation the right controller have some issues, but the left controllers is enough for navigating. And both is working in the games.)
Here is FileZilla: https://filezilla-project.org/download.php?show_all=1
Here is Win32diskimager For Writing or create a backup of RetroPie (Windows) : https://sourceforge.net/projects/win32diskimager/
Here is Pi Copier and Pi Filler if you are using Mac OSX: http://ivanx.com/raspberrypi/
This picture shows how you should place your wires. (Choose PS3) http://blog.petrockblock.com/wp-content/uploads/2016/01/arcade-controller-to-usb.jpg
And here is the old thread: http://blog.petrockblock.com/forums/topic/how-to-get-xin-mo-dual-arcade-working-with-retropie-easy-guide/
First of all, thanks for the effort in putting this together, however I'm like another user that posted here, USB quirks and kernel gave me the ability to configure both players but I have an autofire issue with the right side in the player 2 and I can't seem to figure out what it is!
I'm using a raspberry pi 2 and the xin mo that it's detected as THT THT Arcade Console 2P USB under emulationstation and retroarch.So far I tried version RetroPie version 3.6, 3.7 and 3.8.
Any hint it's greatly appreciated
-
hey Guys,
is there an update on how to get this fixed for the Pi3 ???Thanks
-
@karimi Im with you on this. Am heartbrroken with this. Although, have bought another cheap controller board off Aliexpress as a tester. Will let you know hownthat works out.
http://www.aliexpress.com/item/2-Players-Zero-Delay-USB-Encoder-PC-To-HAPP-Style-Joystick-Arcade-Push-Buttons-for-MAME/32655378742.html?spm=2114.30010308.3.2.gcLJM7&ws_ab_test=searchweb201556_0,searchweb201602_3_10037_10017_507_10032_401,searchweb201603_3&btsid=aaec54fe-b333-44c6-8bcd-990d72a991f9
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.