Autofire on the axis

This topic contains 277 replies, has 69 voices, and was last updated by  janmilpol 1 year, 7 months ago.

Viewing 35 posts - 36 through 70 (of 278 total)
  • Author
  • #90557


    i will try the jstest.
    at the moment i try only the evtest-programm



    Great solution!

    I reverted back to my old Pi with an old version of retropie because of this issue.

    Just tried this fix today and it works perfectly on the Pi2.

    Even fixes the mame4all issue with 2 player buttons!

    Great stuff.

    Should mention that the XinMo is now seen as 2 joysticks. For me, player2 was recognised as js0, and player1 as js1




    This has fixed my problem once and for all.

    My Xin-Mo is now seen as two joysticks and separate buttons which means I can configure piFBA for two player goodness…..

    Most excellent.

    My thanks for this. πŸ™‚





    I have never written on a forum and I registered on this one just to tell you that you are my hero. Thanks a lot for your work and time. I spent like four hours yesterday trying to get that stupid XinMo usb controller they sell at ultracabs to work. I could only get half decent controls by tweaking the connections and the configurations but then I stumbled upon your kernel and all my problems disappeared. As soon as I have more time I will post my solution since I’ve seen that a lot of people are having the same(or similar) problems. Thanks a lot and do know that your work is being appreciated.



    Appreciate it. Once again, glad I could help.



    Am I doing something wrong here? I’m new to this and also using a Xin Mo controller. I downloaded the 20150306 kernel mod and followed your instructions word for word. When I do, I get this message:

    Unpacking replacement raspberrypi-bootloader …
    dpkg: error processing raspberrypi-bootloader_1.20150306-1_armhf.deb (–install):
    unable to make backup link of `./boot/overlays/piscreen-overlay.dtb’ before installing new version: Operation not permitted

    If I reboot after this has finished, it bricks the Rpi πŸ™
    I only backed up a day or so ago, so it wasn’t any trouble to re-image the SD card, but the same happened again. I used your 20150216 mod after so it would correct the bootloader (before rebooting) and it was fine.

    Any clues as to what is going on?

    PS Thanks for all your help so far. You’ve been legendary.



    If this ends up kinda being a double post… Sorry. I posted 10 minutes ago, but it has yet to show up.

    Short answer is that this may be the issue

    I’ll see if I can get a new kernel with the latest tool.

    Here it is. This is the latest kernel with all the updates in this thread. I have not tested it. It’s too late for me to want to try it tonight, but I figured I’d post. Install at your own risk!!



    Thanks for your really quick reply! It worked first time and after a reboot it was fine. Sees Xin mo controllers as 2 seperate joys (no autofire!) which is handy for MAME.

    I’m still learning despite having tasked myself with an bartop cabinet build. This has been the only major obstacle I’ve encountered and thanks to your help on the forums, its fixed!

    Thanks Feederchain, you’re a gent.

    Now if you’ll excuse me, I have some more *ahem* work to do which involves me playing Double Dragon until my wrists break πŸ˜‰



    thanks feederchain, great work. I am now getting two devices and has fixed my turbo issue.

    I am having a problem though with my axes on both sticks.

    up down left right registers on both sticks, when using jstest 2 opposing diagonals are only registering 1, for example top/right is only registering top, bottom/left is only registering bottom.

    this is on both sticks but the issue being top/left and bottom/right on the other stick.

    I can hear the click of the microswitch as i move around so definitely both switches are being activated.

    Any ideas?



    Hi Pacman,

    Are you using the Xin Mo controller? Did it work before the kernel update?

    I’ve used jstest to figure out what the inputs are according to the Pi.

    Hope the attached file helps. This is the easiest way I’ve found to set up.



    Thanks for that vulga. Yes using Xin Mo 2 player.

    Everything appeared to be working when I had it connected to my laptop over USB I used a visualiser to test everything on OSX and it appeared to be good all over.

    I have not successfully had it working on retropie as the first issue I had was the turbo fire which made the ui navigation in emulationstation pretty much impossible. I did a clean install with latest to no avail and next step was to install the custom firmware which worked really well except the diagonals.

    I will run another vanilla install without the kernel update and see if it still plays up and re-wire it to match your setup and see how I get on.

    It’s an odd one because I know each switch works individually and I can definitely hear both go down.

    I haven’t done anything to the Xin other than connect everything, have you updated your firmware?



    I’ve updated the kernel to the latest that Feederchain has to offer which seems to work perfectly. I’d advise you to apply this patch or you’re going to get autofire problems again.

    I have looked through my config for MAME and I don’t really need any diagonal input as it will understand that left+up is a diagonal move. However, I see where you’re coming from as when inputting the “left+left” command it comes up as “none”.

    Playing PacLand I used right+right in play and it worked right away and gave Mr Pac a sprint! If you try and config your “general settings” in MAME then it should work. This won’t hurt any other setting you have, such as ES so give it a go. Any other problems, then please get back here. If I can’t help, then I’m sure there are others that can.



    hi vulga,

    I have version custom_kernel_1.20150317-1.tar.gz installed, is this the latest?

    The issue is that when I go diagonally it only registers up, instead of up and right. Which means games like street fighter I cant jump and forward, the player just jumps up. But i can move forward and back and jump and duck no issue.

    this behaviour is the same on both sticks but only on two opposing corners, the other two corners has no issues.



    Hi Pacman,

    That is the latest version of Feederchain’s kernel update that I’ve used. If you were to go through the general settings of MAME and reset the up+right etc settings to the left+left that turns up as <none> then try that again it seems to work for me.

    Odd that the other two corners don’t have issues. I could be way out of my depth here, but it works in MK. Have you used this on other roms?



    got an older version up and running and unfortunately still getting same issue πŸ™

    in jstest i am getting these values reported:

    up – { 0: 0, 1: 0, 2: 0, 3: -32767 }
    down – { 0: 0, 1: 0, 2: -32767, 3: 0 }
    left – { 0: 0, 1: 0, 2: 0, 3: 32767 }
    right – { 0: 0, 1: 0, 2: 32767, 3: 0 }

    up/right – { 0: 0, 1: 0, 2: 32767, 3: -32767 }
    down/right – { 0: 0, 1: 0, 2: -32767, 3: 0 }
    down/left – { 0: 0, 1: 0, 2: -32767, 3: 32767 }
    up/left – { 0: 0, 1: 0, 2: 0, 3: -32767 }

    Any ideas?



    Given this one a bit of thought and I think I’ve found the problem.

    You should look at the wiring for your controllers. Although everything is connected, I’d check to make sure they’re connected to the correct pins on the Xin Mo controller board. At the moment you have right and down on the same “axis” so sending +32767 along with 32767 cancels itself out.

    You should be getting results like this:
    u { 0: 0, 1: 0, 2: 0, 3: -32767 }
    d { 0: 0, 1: 0, 2: 0, 3: 32767 }
    l { 0: 0, 1: 0, 2: -32767, 3: 0 }
    r { 0: 0, 1: 0, 2: 32767, 3: 0 }

    Basically, the up and down should be on the same axis as should the left and right. Try that and see if it helps. I know its a fiddly thing to do but once its done you should find it all works.

    *edit* Just thought that you could save yourself the trouble and just swap the left and down pins around. That should solve it.



    Thanks for your help vulga, that was the issue, swapped those around and its registering correctly now πŸ™‚

    Only other issue is that I still suck at street fighter.



    You’re most welcome!

    What sort of problems are you having with Street Fighter? With the new kernel update from Feederchain (custom_kernel_1.20150317-1.tar.gz) it should make the Pi see both joys as individual and get around the 10-button limit.



    everything working technically with street fighter, I just can’t play the game very well haha

    pretty much finished my cab today after getting the joys working, just need to design my marquee and get it printed πŸ™‚



    I’ve not got to that stage just yet, but who are you using for printed perspex? I’ve got the dimensions and almost got the simple design including the bezel. Managed to find a decent but cheap 4:3 screen which I mounted yesterday for just over Β£30.

    Work in progress:



    I’m really struggling to transfer this file over to my pi to install it πŸ™ can anyone help? I have it on a USB and it can access it but it’s failing due to permissions, so I imagine it’s because it’s still on the USB and not on the Pi itself.

    I tried SSH but I really have no clue what I’m doing in there, I tried using the scp command but it kept timing out when trying to transfer even though I was connected.

    ok I finally got it, I’ve been at it for like a day but I got it almost right after I posted. Thanks for writing this it solved all the problems!



    Nice tidy work!

    Im not sure on how to go about printing yet, I have had some glass cut to size so was thinking about just getting something printed just on A3 and see how it looks behind.

    The sound is pretty terrible after playing a few games, mortal kombat especially is unplayable but most games sound not great so I think I need to get some better speakers/amp as well.

    Bartop Arcade Project



    Hello! I’m so happy right now! I almost never post to anything. But I felt i really had to say thank you to feederchain! That last download you posted fixed everything for me! I was having so much trouble with my Xin Mo and my joysticks that I thought I spent all that money on a hunk of junk that I was never going to be able to use. Thank you so much! Was so ecstatic when I was able to play X-men with 2 players that I almost ran around the house yelling haha.

    Thanks again!



    Ooooh, X-Men you say? Thanks for reminding me. Installing it now πŸ˜€



    All this praise is going to start going to my head if you all aren’t careful! πŸ™‚



    You deserve this praise, good sir!

    I’m still working on my cabinet and will present it accordingly with the appropiate thanks πŸ™‚



    Thanks for the files feederchain, you are a true hero =) That solved my trigger happy joystick movement. I do still have a problem to solve that I hope some merciful person can help me with here. I have installed the Retropie 2.6.0 for my Pi2, and wired up the Xin-Mo 2player control board. The “jstest /dev/input/js0 and js1” Gives all the right inputs. However, I can not get them to work inside any roms yet. I have tried inside the pre loaded Doom and such, but nothing works. (Btw I only have 2*6button + 1/2player buttons) In emulationstation both sets of joysticks and buttons work they way they should, but not inside the roms as said above. I guess this have something to do with mapping of buttons, but I have red my eyes sore trying to find out what files to alter, and what to do with the “problem” that I don’t have 2 extra buttons as most people seems to have.

    If anyone bother to read this, and point me to somewhere/ help me, you would get loads of carma coming your way πŸ˜‰

    Thanks in advance.



    So have you added the input set up in



    If not you should find some examples of the button mapping earlier in this thread.



    I recon you mean the retroarch.cfg or am I missing a file retropie.cfg?

    At line 470 in /opt/retropie/configs/all/retroarch.cfg I got these lines:

    # Joypad buttons.
    # Figure these out by using RetroArch-Phoenix or retroarch-joyconfig.
    # You can use joypad hats with hnxx, where n is the hat, and xx is a string representing direction. 
    # E.g. "h0up"
    # input_player1_a_btn = 
    # input_player1_b_btn =
    # input_player1_y_btn =
    # input_player1_x_btn =
    # input_player1_start_btn =
    # input_player1_select_btn =
    # input_player1_l_btn =
    # input_player1_r_btn =
    # input_player1_left_btn =
    # input_player1_right_btn =
    # input_player1_up_btn =
    # input_player1_down_btn =
    # input_player1_l2_btn =
    # input_player1_r2_btn =
    # input_player1_l3_btn =
    # input_player1_r3_btn =

    Is this where I should alter the buttons?
    And add them once more for player 2 below?
    My jstest tells me the same inputs on player 1 and player 2, but on different “levels” js0 for player 1, and js0 for player 2. Do I need to give that input at the start of the lines aswell?

    Ok. I went into the Retropie UI, and went throught the controller config. Then I was able to play the games with player 1. I could not however use 2 player controller. Then I shut down the system, removed the keyboard, and started up again. I could still use the player 1 buttons, but I was shutting it down again to do some other maintenance. When I turned it on again, I can’t get into the UI at all. Says PANIC: Unable to mount roof fs on unknown block. Do you know what might cause that?
    Back again after a clean install again. This time I used the 3.0 Beta vs. of Retropie. Now I have configured the joystick and buttons for player 1, but I’m not sure how to proceed to get player 2 working. Neither do I know how I can get those dedicated 1 Player and 2 Player buttons to work.



    Ya.. sorry I screwed up on remembering the config file name.

    I find it odd that with the latest version of the kernel I have posted


    you are unable to get player two to work. Are there input_player2 lines added to the .cfg file?



    Ya.. sorry I screwed up on remembering the config file name.

    I find it odd that with the latest version of the kernel I have posted


    you are unable to get player two to work. Are there input_player2 lines added to the .cfg file?

    No, I have not added lines for input player 2. Sorry for my last post holding too many questions. I’m sure everything will work nicely when I can add those lines, but I’m uncertain where/ how to write them in the .cfg



    Here it is. This is the latest kernel with all the updates in this thread. I have not tested it. It’s too late for me to want to try it tonight, but I figured I’d post. Install at your own risk!!

    Please excuse me for being a total noob, but how do I install the kernal on my Pi? I am still new to all of this, and I have so far done pretty well, except with the problems on my XinMo controllers -.-



    I can answer you on this when I get home in a couple of hours. It’s explained by feederchain earlier in this thread though.



    I’m just referring to what Feederchain has written earlier in this post. And this is to remotely install it from a windows computer while the Pi is powered on and pluged into an Ethernet cable.
    I’m assuming you have already installed Retropie on your SD-card
    1. Download WinSCP
    2. Open it up and type in the IP-address to your Pi, together with the username (pi by deafault) and you will be prompted for the password later on.
    3. Find the downloaded .tar-file on the left side of the WinSCP, and some location on the right side on your Pi. (I used /root/home/pie or something like that, so I didn’t have to be logged in with super user rights on the Pi.)
    4. Drag and drop the file to that folder on your Pi.
    5. When the file is finished transfering I would download Putty. This is an SSH client. Use that to log into your Pi. (IP-address, username and Port 22)
    6. Log in with User: pi and PW: raspberry
    Run this commands 1 by 1

    tar -xf custom_kernel_1.20150317-1.tar.gz
    cd custom_kernel_1.20150317-1
    sudo ./

    Now you should have gotten the kernal patched.
    When you reboot your Pi and it enters Emulationstation, it should say that it finds 2 joypads. If you go to Retropie in the menu, you can select Configure keyboard/ joypad to retroarch. Here you will have to press the buttons you want to assign in the order the configuration takes you.
    And this is as far as I have gotten by now. I’m still troubling to configure the 2player side of the joypad. =)
    Hope this helps you! I’m probably just as noob as you are on this, so don’t be afraid to ask if I wrote something unclear.



    There are posts above describing the button maps needed for the controller you are having issues with. So you will need to add them into the retroarch.cfg file. Usually use the one in the all directory, unless you need something specific for a particular emulator.

    Player 2 can be added right below player 1. You can do this by using the text editor nano

    nano retroarch.cfg

    Or if you feel more at home with a gui, you can always startx from the command line and work in there.

Viewing 35 posts - 36 through 70 (of 278 total)

Forums are currently read only - please visit the new RetroPie forums at