Mame4all-pi with PS3 Controller

Home Forums RetroPie Project Everything else related to the RetroPie Project Mame4all-pi with PS3 Controller

RetroPie has a new website and forum. Please visit https://retropie.org.uk/ for the new site. The new forum is located at https://retropie.org.uk/forum/. This forum is left here as a read-only archive.

This topic contains 29 replies, has 8 voices, and was last updated by Profile photo of mikedpitt mikedpitt 2 years, 4 months ago.

Viewing 30 posts - 1 through 30 (of 30 total)
  • Author
    Posts
  • #7122
    Profile photo of poulsej
    poulsej
    Participant

    Maybe I missed a post somewhere but has anyone managed to get the PS3 controller working with MAME? I can;t see a way to do it as mame seems to use a different configuration method than all the other emulators.

    We could really do with a sticky just for PS3 controller configs. My config works perfectly for Genesis and Atari 2600 but only just tried mame.

    #7163
    Profile photo of dudleydes
    dudleydes
    Participant

    There was a issue raised at mame4all-pi repository that resolved the problem. Apparently there is code that rejects controllers with more than 6 axes.

    Here is what I did. In a terminal, type

    sudo nano home/pi/RetroPie/emulators/mame4all-pi/src/rpi/minimal.cpp
    Comment out lines 168 to 174 so it appears as below.

    //	if (SDL_JoystickNumAxes(myjoy) > 6)
    //	{
    //		SDL_JoystickClose(myjoy);
    //		myjoy=0;
    //		logerror("Error detected invalid joystick/keyboard\n");
    //		break;
    //	}

    Save and exit.

    Next you need to recompile the code so type in the terminal.

    cd home/pi/RetroPie/emulators/mame4all-pi/
    make

    Reboot and your PS3 controller should now work.

    #7241
    Profile photo of poulsej
    poulsej
    Participant

    dudleydes…… thankyou thankyou thankyou thankyou thankyou thankyou.
    I didn’t install from source originally so it was missing the src folder. I downloaded the mame4all-pi source from github and modified minimal.cpp as you showed. Compilation took AGES !!!! Replaced the existing mame4all-pi folder with the new compiled one and modified the mame.cfg file for the roms and samples.

    BINGO. works perfectly. Thanks again.

    #7437
    Profile photo of hodd
    hodd
    Participant

    Thank you for this post as well! MAME was giving me major problems. Everything looks good except the joystick mappings are off. Can you guys post your home/pi/RetroPie/emulators/mame4all-pi/mame.cfg specifically the section so I can compare with the default.

    [frontend]
    #Keyboard controls for frontend only
    # Get codes from /usr/include/SDL/SDL_keysym.h
    K_START=13
    K_SELECT=53
    K_LEFT=276
    K_RIGHT=275
    K_UP=273
    K_DOWN=274
    K_A=306
    #Joystick controls for frontend only
    J_START=9
    J_SELECT=8
    J_A=0
    AXIS_LR=0
    AXIS_UD=1
    
    #7447
    Profile photo of dudleydes
    dudleydes
    Participant

    Hi Hodd

    The code you have posted is in my mame.cfg.template file but not the mame.cfg file.

    I found configuring the joystick mapping a lot easier by using the MAME UI. If you launch a rom, then press TAB on a keyboard, you will be presented with the MAME UI.

    The first option “Input: General” will allow you to map buttons to events such as quit game and pause for every game. To adjust your mappings, select the input you want to configure, press Enter on your keyboard followed by a button on your joystick.

    You can use the next option “Input: This Game” to configure mappings for individual games.

    #7459
    Profile photo of hodd
    hodd
    Participant

    Ah ha! That did it. Using the MAME config by hitting TAB (I totally forgot about that feature!) allowed me to configure everything and I’m in business!

    Thanks so much.

    #7476
    Profile photo of richyman4ever
    richyman4ever
    Participant

    There was a issue raised at mame4all-pi repository that resolved the problem. Apparently there is code that rejects controllers with more than 6 axes.

    Here is what I did. In a terminal, type

    sudo nano home/pi/RetroPie/emulators/mame4all-pi/src/rpi/minimal.cpp
    Comment out lines 168 to 174 so it appears as below.

    //	if (SDL_JoystickNumAxes(myjoy<em class="d4pbbc-italic">) > 6)
    //	{
    //		SDL_JoystickClose(myjoy<em class="d4pbbc-italic">);
    //		myjoy<em class="d4pbbc-italic">=0;
    //		logerror("Error detected invalid joystick/keyboard\n");
    //		break;
    //	}

    Save and exit.

    Next you need to recompile the code so type in the terminal.

    cd home/pi/RetroPie/emulators/mame4all-pi/
    make

    Reboot and your PS3 controller should now work.

    Hi newby here.. i’ve been trying to sort out my issues by following the prompts by some great people.. but im just at the last hurdle.. i finally got mame to work but the ps3 (wired) is not picking up… I have followed the guide from above but it still dosn’t pick it up.. I know it’s works as i can map the controller with in RetroPie. But when i go to tab and change the buttons it dosn’t pickup..

    Can i have some help please..

    #68428

    Rainer Weinberger

    Hi guys

    sorry but recompile was absolutely impossible for me i tryed more swap i installed all alsa* i thryd gcc4.7 nothing helped always ends after about 1,5h with failure can you put your compiled file anywhere I can download thanks

    #68950

    Rainer Weinberger

    problem solved it works with a fresh installation of retropi_ver2.2

    #69703
    Profile photo of keeper505
    keeper505
    Participant

    Hi everybody!

    I have the same problem as Rainer, despite of numerous attemptps
    i could not recompile mame with the 2.3 sd image – version of Retropie. And i unfortunately cant find a sd image of retropie
    ver. 2.2 to download. It would be great to get a link to the 2.2 build (SD Image) or even better the recompiled mame – version.

    Thank you very much in advance for your efforts!

    #81709
    Profile photo of tititatoo
    tititatoo
    Participant

    Hi keeper505, just subscribed to answer you !

    Because i finally get it compiled and working with sound and PS3 gamepad.
    So if you have any compile error, just tell me.
    Else, i can also provide a link to my compiled version on my Raspbian Pi B+.

    Thanx to this forum i could make it work and play with my PS3 pad from the sofa πŸ™‚

    #81756
    Profile photo of tititatoo
    tititatoo
    Participant

    Finally, for those asking me, here is the binary cimpiled version of mame4all-pi-v0.37-BETA-5 with fixed “not working PS3 controller” when built from git.

    https://drive.google.com/file/d/0B2TfYq5Awz_jWExLS2RpMHhnalE/view?usp=sharing

    Dont forget to use Sixpair / Sixaxis (see readme.txt)
    Please leave your comments on the google page.

    Have fun !
    Tititatoo.

    • This reply was modified 2 years, 6 months ago by Profile photo of tititatoo tititatoo.
    #81764
    Profile photo of keeper505
    keeper505
    Participant

    Hey tititatoo!

    Thank you very much for your help! I will give your freshly compiled mame-version a try asap! Great that you upload your compiled version!

    keeper505

    #82004
    Profile photo of mikedpitt
    mikedpitt
    Participant

    Does anyone know if this will work with the Raspi A 256MB? This is as of now the ONLY thing I don’t have working for my cabinet.

    #82166
    Profile photo of tititatoo
    tititatoo
    Participant

    I didn’t see on the MAME site that there is a minimum memory limit to run MAME.
    So i guess it would run on your Raspi A Model. Slightly lower but that should run. Give it a try and see.

    #82167
    Profile photo of mikedpitt
    mikedpitt
    Participant

    works πŸ™‚ Now, if there was only a way to rotate the screen…

    #84082
    Profile photo of buzz
    buzz
    Keymaster

    If you build mame4all from source with the latest retropie-setup script it should work out of the box now. Thanks for the heads up / patch.

    retropie-setup now uses a forked repository here – https://github.com/joolswills/mame4all-pi which contains this fix as well as a couple of others. Didn’t want to have to fork it, but there seems to be radio silence from the previous author.

    #84084
    Profile photo of mikedpitt
    mikedpitt
    Participant

    Does this mame4allpi support screen rotation?

    #84085
    Profile photo of buzz
    buzz
    Keymaster

    try the options

    
    ror=no
    rol=no
    flipx=no
    flipy=no
    

    in mame.cfg (/opt/retropie/emulators/mame4all/mame.cfg)

    #84104
    Profile photo of mikedpitt
    mikedpitt
    Participant

    flipping the x and y axes, isn’t the same as rotating the screen. I am currently using both mame4allpi and advmame, because advmame supports screen flipping via dipswitches in the ROMS themselves and rotation. It would be great to only use one, but the screen rotation is a deal breaker for me as this is an old cocktail cabinet.

    #84139
    Profile photo of buzz
    buzz
    Keymaster

    I thought it would be useful to include all the options. Check the first two config variables I posted – ror and rol. I assume they stand for rotate right and rotate left. no idea if they work, but try them πŸ™‚

    #84140
    Profile photo of mikedpitt
    mikedpitt
    Participant

    They do not. Neither do the in ROM dipswitches for “Cocktail” settings that flips the screen between players either. Although these do work in advmame. I may be doing something incorrectly, but even getting the screen to rotate doesn’t do me any good if the screen doesn’t flip in between players πŸ™

    #84152
    Profile photo of buzz
    buzz
    Keymaster

    it may be a limitation of the dispmanx pi video output driver in mame4all.

    #84160
    Profile photo of buzz
    buzz
    Keymaster

    I don’t know about the cocktail dipswitches, but the ror/rol settings do work – I just set “ror=yes” in mame.cfg and have 1942 running rotated on my monitor.

    #84161
    Profile photo of buzz
    buzz
    Keymaster

    I just tested cocktail mode with 1942 (with ror=yes set in mame.cfg). Started a 2 player game. After player 1 died, the screen flipped correctly for player 2 so it should work for you.

    • This reply was modified 2 years, 4 months ago by Profile photo of buzz buzz.
    #84167
    Profile photo of mikedpitt
    mikedpitt
    Participant

    What am I not doing?

    #84174
    Profile photo of buzz
    buzz
    Keymaster

    Not sure – you are editing the correct configuration and mame4all is definitely using it ? – can you check by setting another option like ? I would need more details on file locations / contents etc. Note the path I mentioned is for the very latest retropie-setup script – emulator locations have changed. mame cfg used to be in /opt/retropie/emulators/mame4all-pi

    maybe launch mame4all directly from the terminal to debug / test

    • This reply was modified 2 years, 4 months ago by Profile photo of buzz buzz.
    #84196
    Profile photo of mikedpitt
    mikedpitt
    Participant

    Is there an already compiled binary and cfg files to be had anywhere?

    #84197
    Profile photo of buzz
    buzz
    Keymaster

    you if you installed from source or binary install on retropie you should have a binary with configuration in /opt/retropie/emulators/mame4all or /opt/retropie/emulators/mame4all-pi

    #84198
    Profile photo of mikedpitt
    mikedpitt
    Participant

    I have an older binary, and I did not compile from source as mine failed every time I tried. I’m working with an image. And I took the binary above in the post (way above) to even get the ps3 controller working. All I think I need is a working compiled binary and config files, and I “should” just be able to replace the binary and cfg files right? And this version of mame4allpi will do 2 ps3 controllers and screen rotation hopefully everything I need πŸ™‚

Viewing 30 posts - 1 through 30 (of 30 total)

Forums are currently read only - please visit the new RetroPie forums at https://retropie.org.uk/forums/

Skip to toolbar