Speed and Mame4All
  • I've been reading up on MAME and the Pi. One thing I came across is the Mame4All port (link below). It claims to support more games at full speed than more recent versions of MAME.

    Has this been discussed in this forum? Does anybody have experience with both PiMAME and Mame4All? Thanks.

    https://code.google.com/p/mame4all-pi/
  • I've been working with both. Here are my thoughts/findings, mostly specific to MAME support.

    PiMame uses ADVMAME which is based on v0.106 code. PiMAME is based on 0.375b.
    ADVMAME naturally has the benefit of supporting more (and newer) roms, and sound is better - likely because it processes sound samples itself, rather than relying on external .wav samples. Video scaling seems to also be a nice feature, although mostly unnecessary in my case.

    Mame4All is very fast. Many games don't play right on AdvMame but aren't a problem with Mame4All. The developer responsible for the RPI optimized port (Squid) is very responsive and has been turning out new releases often. Shea also does a great job supporting his image but as far as I know he isn't making source changes and is tweaking OS and configs for the multiple apps which are fronted by AdvMENU.

    Some other downsides of Mame4All are rom specific. E.g. colour issues in some games, some sound issues with others. But still very usable and not very imposing. Remember - it's older source and was selected for speed, not compatibility.

    At this point, I'm kinda on the fence as to which to use. I'm inclined to stay with Mame4All. It also has a basic, but skinnable menu built in and does what I need it to. If, at some point, I want to move to a multi-system cabinet, I expect I'll switch back over to PiMame, but will probably still use Mame4All as the default emulator for MAME roms.

    Note: My OS is actually from the PiMame v0.5 beta image, with Mame4All loaded on. They can comfortably coexist, except you'll need to maintain different rom sets (due to compatibility). So no reason you can't try both.

    A few other things of importance (at least in my case): I have absolutely no problems using an Ultimarc iPac2, keyboard and usb trackball simultaneously. I hear others with problems with mini pacs, etc. but haven't verified that yet myself. Also, unlike the case with AdvMenu, there is no background console text to worry about (just black screen) between launching from the menu and the time the game loads.

    Hope this helps,
    Lang

  • Hey Lang,

    Great to see you on here :)

    I'm probably going to add both AdvMAME and MAME4ALL into the next release. There is no reason they can't both be looking at the same ROMs directory.

    I honestly just haven't had time.
  • Actually, Shea, having different rom paths might be best due to the mame version differences, although I'm sure some of them might be compatible with both.

    In worst case, users could symlink to the same folder if they wanted to try it.
  • I also run both AdvMame and MAMME4all both now accessed from a single AdvMenu install flicking between the lists using F6. All works really well, I also I have different ROM sets for each.
  • Hi Martin3232,

    Can you tell me the emaultor line you added to the advmenu.rc file for Mame4all?
    I tried adding "emulator "mame" mame "Mame4all\mame" "%s".
    At startup of advmenu, it looks like it is calling the mame executable to generate a mame.xml file in the .advance directory and throws an error when trying to read it. When I examine the mame.xml, it looks like the usual response from an executable showing you the command line options, obviously not liking the parameter it was called with.
    Any ideas?
  • Its important to add as generic, there a number of extra lines that need to be added, hope I've typed all these in correctly:

    emulator "mame4all' generic "/usr/local/bin/indiecity/InstalledApps/mame4all_pi/Full/mame" "%s"

    emulator_roms "mame4all" "/usr/local/bin/indiecity/InstalledApps/mame4all_pi/Full/roms"

    emulator_altss "mame4all" "/usr/local/bin/indiecity/InstalledApps/mame4all_pi/Full/snaps"

    emulator_include "mame4all"

    emulator_attrib "mame4all" missing exclude


    You may need to modify paths to match where your mame4all has been installed.


  • That's great Martin. I'll give that a go.

    Thanks.
  • Brilliant. Works a treat, thanks.
  • Is there a way to show the full game names in advmenu when using Mame4all as a "generic" emulator? The games list shows the actual filenames and some are pretty cryptic! I tried copying the advmame.xml over and renaming it but that didn't seem to work.
  • I too haven't worked out how to show the full name.
  • Hi Martin,

    I have found the method to get the game titles displayed for the generic emulators.

    If you produce a file EMUNAME.lst in the same format as running "mame -listinfo", the file is read in by advmenu.
    So I ran "mame -listinfo" for the Mame4all executable and saved the output as mame4all.lst, placed this in the .advance directory and the titles now show up ok.
    It does also show the parts in brackets after the game description, which seems to get ignored if using advmame and the advmame.xml file but it is a lot better than just the filenames.

    See docs here:
    http://advancemame.sourceforge.net/doc-advmenu.html#4.1
    Last paragraph of section 4.1

    Cheers,
    John
  • Hi FortyRock,
    you wrote that you've heard about problems with mini pac, can you provide a link, i plan to use a mini pac in my MAME cab because i have a spinner from an old cab i want to use.
    Thx in advance
    Urogutt
  • I'm currently using a mini-pac, trackball, keyboard and mouse. I had to jump through a few hoops to configure advmenu, but it all works.

    Jim
  • Hi JimD,
    thanks for you response, with the mini pac my MAME Cab will be complete!
    Urogutt
  • Wow. I totally overlooked the mini-pac. I wish the Ultimarc website was better. What do the colors in the menu mean (blue and green)? Why is this awesome product buried way down on the list away from the i-pac?

    Does anybody want to buy a brand new 2 player i-pac, and a ton of wires from me? lol.
  • Maybe a stupid question but how do install Mame4all without going through the store?
  • Thanks, that is exactly what I was looking for.
  • Totally new to Linux so I am struggling. I unzipped mame4all_pi.zip and copied the entire folder and contents to /home/pi via SFTP

    I tried adding the following lines to advmenu.rc

    emulator "mame4all" generic "/home/pi/mame4all_pi/mame" "%s"
    emulator_roms "mame4all" "/home/pi/mame4all_pi/roms"


    but it says

    Emulator '/home/pi/mame4all_pi/mame' not found, ignoring it


    Am I specifying the file path wrong?
    Do I have to do something to install mame4all?
  • test on the command line first.

    type /home/pi/mame4all_pi/mame and see what happens in the console.
  • Has the "mame" file retained execute permissions when you copied it over?

    Try issuing "sudo chmod +x /home/pi/mame4all_pi/mame"
  • Thanks I'll try that. As of now I can't run it from the command line.
  • That was it thanks johnnygal

    I ran ls -l on the mame4all_pi folder and I got this
    -rw-r--r--

    once I ran sudo chmod +x /home/pi/mame4all_pi/mame it changed to
    -rwxr-xr-x

    now it runs, hurray!
  • Cool! Please let us know if you see any improvements. I'm also not clear on the difference between "romsets" so if you learn anything about that, I'd appreciate hearing about it.
  • Some of the ROMs will work in both Advmame and Mame4all but for the games I am playing most of them won't. Advmame is based on v0.106b of MAME and Mame4all is based on v0.037b5 of MAME so the ROMs should be for those versions. There is a program for Windows called ClrMamePro that can convert ROMs to conform to different versions.

    http://mamedev.emulab.it/clrmamepro/

    On the Mame4all site Squid explains this a little bit and the Mame4all package includes a .dat file to use with ClrMamePro to convert ROMs.

    This site explains how to use ClrMamePro

    https://code.google.com/p/mame-rr/wiki/UsingClrmamepro

    Enjoy
  • Mame4All is definitely faster than Advmame, some games that were unplayable are running at 100% with slow downs here and there.
  • Hi all,

    I'm a newbie in the PI-MAME arena.
    I won my PI in a coding contest and spent the last weeks looking for what the hell I could do with this nice - but mainly useless - toy.
    I always had the dream of having my own arcade cabinet, so I naturally found your very nice project Shea.
    Thanks, great job!
    But honestly I was quite disapointed with advmame performances; most of my favourite games ("final fight", "streat figther 2" and sequels, "metal slug" and sequels, "R-Type 2", "golden axe", ...)
    were awfuly slow, and most of all I had serious troubles with sound (through HDMI)

    I was then very pleased with your 0.6 beta 5 release, with the gnegeo emulator than ran all (neo-geo) games at 100% speed.

    ... and then I tried mame4all...

    Now I know for sure: PI will be the core of my future own arcade cabinet!

    It runs all my favourite ROMs (mentioned above plus many others) full speed, with absolutely no sound issue.

    So now here are my questions:
    1) does everyone experience those sound issues with advmame and HDMI output?
    If not, I suspect some bug related to HDMI (which is VERY device dependent, I know it as I've been working in IPTV domain for years)
    I didn't experience any sound issue with gngeo or mame4all

    2) why is advmame so slow (compared to gngeo or even mame4all)?

    3) last one is more an advice to you Shea: please embed mame4all in your next release (I'm sure you'll do)
  • 1) there are a number of recent threads discussing HDMI sound problems. Have you tried any of those suggestions?
    2) mame4all is lighter weight and optimised for the pi and performance (vs compatibility)
    3) Shea just did in 0.7 beta 1 :)
  • ... Another question.
    Does anyone know how to activate the "scanlines" option in mame4all?
    I'm afraid the answer is "you can't for now, unsupported" as I've quickly crawled the project source code, but I'd love so much hearing the other answer...

    I like very much the scanlines option in Mame, that looks so vintage...
  • ... would the "skiplines" option in the mame4all config file enable the scanlines ?

    I tried changing its value with no success :-(
  • I suggest asking the mame4all dev @ http://www.raspberrypi.org/phpBB3/viewtopic.php?f=78&t=36067

    (Please let's keep this thread related to speed issues)

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!