Guys, which emulator do you use to play MAME
-
if you're running a pi2 or pi3, i think mame2003 is the sensible choice. it's the most mature of these libretro cores (can disable nag screens, configure controls per game, save hi scores, freeplay, etc), and runs almost all of its games with no slowdown or issues on these systems. (i don't know about track balls and all that though)
mame4all is good for the pi1 as it's highly optimised, but it has a very old romset, so you need a good reason to use it.
lr-fba-next is good for some arcade games that mame2003 doesn't support (mainly capcom cps3)
i've not tried mame2010 but with mame you get diminishing returns - the more recent a core is, the more accurate the emulation and the higher the CPU requirements. i would guess that mame2010 would have performance issues compared to 2003, and any additional games it supports would probably be beyond the pi anyway (3d ones, etc). i have not tested, though...
-
Hi,
I use lr-fba-next as my default for the majority of ROM's (quite a few are Capcom CPS/NeoGeo) and it works fine. Anything which doesn't run or performs badly on lr-fba-next, I use lr-mame-2003 which is proving to work very well too. It's probably a 60/40 split. I could probably push more of the older ROMS which currently run on lr-fba-next onto lr-mame-2003 but as everything is running ok, I leave it like it is for now.
If neither of the above work well with any particular ROM, I try lr-imame4all. I only have maybe 5 or 6 ROMs out of 100 which run better with this emulator (Altered Beast and Outrun for example are not great for on lr-mame-2003 or lr-fba-next). I did have more roms on lr-imame4all but since sample support was added to 2003 and vertical games don't stretch anymore (thanks dankcushions) I now use 2003 for those ROMs.
I only use libretro cores because I like the simplicity and consistency across each emulator, and the performance is good for me. On my pi1 I had to use non-libretro stuff, but not any more on the pi2.
Unfortunately though, if you want "everything" to run well (depending what games you have, of course) you'll probably need to have multiple romsets to suit each emulator, and then choose the best emulator for each of your games accordingly. I agree with dankcushions though, lr-mame-2003 is a good place to start.
-
I use mame4all as it covers mostly what I am looking to play "The golden age of arcade video games". Plus I already have my non-merged set of ROMs built without extra variations or clones which basically entails using clrmamepro to a build a non-merged sets and then hand picking the games and variations you want.
I also use advmame-1.4 to run those few games that don't run in mame4all like Xenophobe, Solar Quest, etc.
I haven't tried mame2003 or even know what version of Mame it's based on. Is it possible to customize the controls down granular? I am using an Ultimarc I-PAC inside a custom arcade box. It's setup for 1 and 2 players with start and coin in. On the sides are Escape and TAB to exit and enter the game configuration settings like management controls.
I also use the XBOX 360 wireless dongle which allows for 4 player games via wireless. Like Gauntlet 1 and 2 mainly but a good 3 player game of Xenophobe is awesome! ;) There are several good 4 players games we cycle through.
The initial setup was a bit of a pain for both mame4all and advmame-1.4 but I mapped out all 4 players start and coin in buttons on joystick 1 by holding start and select and then using the left hand joystick. So player 1 is straight up select/start for coin in and game start, player 2 is select+joystick right, player 3 is select/start+joystck down, player 4 is select/start joystick left. I also assigned the select/start buttons on each of the 2 through 4 joysticks so they can add coins and join the game themselves. I also left all the keyboard inputs intact so each game can be run from the box or joystick if you prefer.
The nice thing is if the version doesn't change you can backup and restore the main controller config file with no issues. When they upgraded to advmame-1.4 I had to redo the controls but mame4all has been consistent for quite a while.
-
@movisman said:
I did have more roms on lr-imame4all but since sample support was added to 2003 and vertical games don't stretch anymore (thanks dankcushions) I now use 2003 for those ROMs.
A quick question, what do you mean sample support added? Also what did you change to stop stretching? It sound like 2003 is pretty nice. Does it handle the Metal Slug games too? I don't know why but I've been using FBA for those games which I do like but if I could consolidate 3 emulators down to 2 that would be great.
-
@Riverstorm said:
I haven't tried mame2003 or even know what version of Mame it's based on. Is it possible to customize the controls down granular?
it's version 0.78.
in 2003 you can access the internal mame menu via the tab key, which lets you set up per game controls. eg in the streetfighter games i can make sure that my 6 button joystick is mapped so top 3 buttons are LP, MP, FP, bottom 3 are LK, MK, FK, etc, and i can do that without messing around with the retroarch config and then screwing up all the internal retroarch hotkey combos, or having to create individual .cfg files for each game via the runcommand. to me this is really useful, but i imagine mame4all has similar stuff - it's only really an issue with the retroarch cores.
-
@dankcushions said:
in 2003 you can access the internal mame menu via the tab key, which lets you set up per game controls.
Ok, I have never tested the retroarch cores. You can still access the core mame settings with tab and make adjustments? I like to setup everything via global settings if possible but for example Toobin' which requires left forward, right forward, left backward, right backward it's unfortunately a per game setup if you want to use 4 buttons. Like to paddle forward or backward in a right or left circle press the corresponding button but to move straight forward or straight backward you need to press both forward or both backward hand buttons at the same time.
Also if that is the case if you have two commands the same does one take priority, like mame settings vs retroarch core settings?
-
@Riverstorm said:
A quick question, what do you mean sample support added? Also what did you change to stop stretching? It sound like 2003 is pretty nice. Does it handle the Metal Slug games too? I don't know why but I've been using FBA for those games which I do like but if I could consolidate 3 emulators down to 2 that would be great.
Hi,
I didn't change anything to fix the aspect ratio, @dankcushions made some commits to lr-mame-2003 which fixed the problem, also recently sample support was added (so the sounds for zaxxon, mario, etc, etc). This was not supported previously (so before, I was using lr-imame4all for roms which had samples, now I use lr-mame-2003). Please note your samples should be placed in the /home/pi/RetroPie/BIOS/mame2003/sample directory for lr-mame-2003.
To get the above changes, if you haven't already you need to update your retropie-setup script, update retroarch from the individual emulator install menu (option 5), and then update lr-mame-2003 from the same menu (all from binary is ok).
@dankcushions should be able to confirm the above. This is what I did and all works as intended.Regarding Metal Gear Slug, i'm not sure on this because I only have Metal Gear Slug X, and I use lr-fba-next for it which works fine, so I haven't bothered changing. Someone else may be able to confirm the performance of it on lr-mame-2003.
-
You can still access the core mame settings with tab and make adjustments?
that's what i said :)
Also if that is the case if you have two commands the same does one take priority, like mame settings vs retroarch core settings?
sort of. you have to consider how retroarch works - it's (for the sake of this discussion) a 'wrapper' around an existing emulator (in our case, mame2003). with retroarch you globally bind every button to a virtual 'retropad' controller, and retroarch passes each button press to the emulator so that 'retropad A' is always ONE specific button press on the emulator.
by rebinding at the emulator level (via the 'tab' mame internal interface), you're changing what the emulator does with that button press AFTER retroarch has sent it. it doesn't really 'override' retroarch, it's just letting you redefine button functions at the lower emulator-level, leaving all the higher-level retroarch button functions (save states, retroarch men control, quit, etc) untouched.
retroarch has a built in way of achieving this same thing (core input remapping) but for various reasons that's not available on mame2003.
-
@dankcushions said:
by rebinding at the emulator level (via the 'tab' mame internal interface), you're changing what the emulator does with that button press AFTER retroarch has sent it. it doesn't really 'override' retroarch, it's just letting you redefine button functions at the lower emulator-level, leaving all the higher-level retroarch button functions (save states, retroarch men control, quit, etc) untouched.
Ok you clearly understand this at another level! :) I have used the core input remapping several times. But I struggled with position of the retroarch "fixed" inputs/labels and how I could change what they do based on values I used during the controller setup. Like button A in the core remap can be changed to what I assigned to button B during setup but it will always be called button A in the remap options. I just don't know a good way to say how core input mappings work to get a complete and good understanding of them.
So just to clarify I could setup an arcade box (keyboard input) and multiple joysticks while using the 2003 retroarch core? I always thought I was stuck with what the retroarch core was doing and couldn't count on the native emulator input settings.
-
@Riverstorm said:
So just to clarify I could setup an arcade box (keyboard input) and multiple joysticks while using the 2003 retroarch core? I always thought I was stuck with what the retroarch core was doing and couldn't count on the native emulator input settings
i think we're talking about different things. what i'm talking about is changing what each button of the virtual 'retropad' controller does in the internal emulator. so for example, you set up your controller through emulation station, but you notice that the button you bound to the 'L' retropad button doesn't do fierce punch in street fighter 2, and instead fierce kick (or whatever), and you want to change that in a single game, without having to work out what other retropad button it should be, or lose the built in select + L = load state functionality. to do that, you remap it via the mame tab interface.
this is the exact same thing that core input remapping achieves, btw, in the cores that support it.
i'm not sure what you're talking about above, but binding multiple controllers/keyboard to retroarch is nothing to do with this really. the problem i'm talking about manifests after you have your controller setup with retroarch.
-
Ok, thanks Dankcushions for taking the time to explain everything. I really appreciate it. I think I have it down now...I think...I am waiting for the ah-a light bulb to go from dim to full brightness! :) I am going to build a 0.78 set to give 2003 a try. Sometimes just diving in start messing around is the best way to learn.
-
haha no worries - it's really difficult to explain and i don't think i have a good way of explaining it :) but i think ultimately if you want to remap controls for a specific game, the mame internal menu of 2003 will probably do what you want to do.
-
@dankcushions said:
haha no worries - it's really difficult to explain and i don't think i have a good way of explaining it :) but i think ultimately if you want to remap controls for a specific game, the mame internal menu of 2003 will probably do what you want to do.
You can remap the controllers for specific games with mame4all, I only have it running and get that option with the tab key. A few like SF I have to setup with this option.
-
@Finhead said:
@dankcushions said:
haha no worries - it's really difficult to explain and i don't think i have a good way of explaining it :) but i think ultimately if you want to remap controls for a specific game, the mame internal menu of 2003 will probably do what you want to do.
You can remap the controllers for specific games with mame4all, I only have it running and get that option with the tab key. A few like SF I have to setup with this option.
Fin, he definitely knows that, he was trying to explain something beyond basic remapping into the "symbiotic" relationship between the retroarch cores and native emulators and I didn't quite fully grasp it...yet! :)
-
I am also having pretty good luck now using 2003 with custom configs in my ROM folder. My setup might be more complicated than many: I am using an iPAC-4 inside a "portable" cocktail design, with a three-sided control panel situated around the display. I have players 1 and 2 along the horizontal edge--perfect for side-by-side fighter games--and players 3 and 4 are on opposite sides. So, 4 players can enjoy Gauntlet. The best part though, and the reason I have some per-ROM configs is for vertical games. Games like Dig Dug, Donkey Kong, Pac Man--these I run in "cocktail" mode (setting the dip switch in the MAME2003 GUI) and I remap the controls for Players 1 and 2 to the side panels (technically 3 and 4). That way, the vertical games can be played from the sides and with cocktail support, the image flips for player 2.
Occasionally, a vertical game requires side-by-side controls, like 1941. I play these in letterbox on the horizontal side of the display, and here again, per-rom configs save the day! You can specify an aspect ratio index and rotation such that you can control the stretch.
I used to do all of this with AdvanceMAME in a single config file, but I am liking the libretro core support for scanlines and barrel distortion. It feels very authentic on an LCD, and custom configs and some MAME-GUI mapping is making it possible to get great results. I really appreciate all of the effort put into the 2003 core. I only wish I could stay in 2003 for analog (trackball/spinners). I can't get them to work which is too bad.
-
I am using a combination of lr-mame-2003, advmame 0.94, and lr-fba-next and between the 3 I am covering everything I wanna play. The biggest drawback is there are some games that just dont work, ie Killer Instinct, but we have SNES for that
-
Just a quick MAME-related question, I have romsets for AdvMAME 1.4 and MAME4All and see in RetroPie 3.7 there is an "arcade" folder in the roms folder. Can I add two folders for these romsets here and have only one MAME appear on my Emulation Station menu?
-
@Charco you can put them in the arcade folder but they will show up under arcade not mame
-
@Charco yes (although as Charco says it will appear as 'Arcade' in the menu, not Mame), but creating sub folders won't automatically mean those games run in those emulators, it would just make two subfolders in the meny.
you'd still have to (via the runcommand) set one (eg AdvMame) as the default emulator for mame, and then individually go through the other half and set it to the mame4all emulator, as per the documentation: https://github.com/retropie/retropie-setup/wiki/MAME#arcade
-
@dankcushions @herb_fargus thanks guys
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.