14 August 2023

MAME (current) for RetroArch shows improvements

Update 14 August 2023 - MAME (current) was also updated to version 0.257 and is on par with official MAME as of this blog update

Recently the iOS core also was slimmed down to 77 MB - still a lot compared to the 9.2 MB that FBNeo brings, but nevertheless some improvement.


Update 26 July 2023 - MAME (current) did a jump to 0.256 (both MacOS and iOS), while latest RetroArch Nighties imply that version 1.16.0 should be imminent  🎉🎉




With the latest tweaks, the MAME (current) Core is functional on Mac RetroArch, but still has some issues. As of this writing, the „current“ RetroArch core is version 0.251, whereas official MAME is already at version 0.255. In practice, this probably won’t matter that much to you.

 

The two important recent changes of the Mac core are the following: 

  • Initialization resolved on Macs thanks to Mac mastermind warmenhoven: You can finally stop a game and launch another one without having to restart RetroArch.
  • Rotation corrected: The koko-aio shader works with identical configurations as FinalBurn Neo or old MAME versions! This is very nice at least for all games that FinalBurn Neo doesn’t support. For other games, you can easily switch the Core Association and test which emulator is better. I am currently working on a new release of the koko-aio arcade presets including MAME (current).

Let’s also address these limitations of MAME (current) in RetroArch (tested both in MacOS and Windows):

  • Some games have heavily distorted audio, e.g. galaxian -> resolved, do not use Preemptive Frames, thus de-activate or switch to Runahead with the second instance activated
  • RetroAchievements do not work properly in several games. -> kind of resolved, as MAME cores have no official Achievement support

Some games do not launch achivements at all, while 1943 does not support some of the achievements - MAME (current) just does not officially support RetroAchievements





























Bearing this in mind, let’s further configure MAME (current).



Hiscore (and other plugin) support

As explained here for Windows: https://forums.libretro.com/t/guide-libretro-mame-current-hiscore-history-gameinit-command/24452/16


While this requires quite some manual work, the result is fully fledged MAME hiscore support, which prevails over the older FinalBurn Neo implementation. As newer MAME versions make use of a plugin for hiscores, some manual configuration is required so that also the RetroArch core finds the plugins.


Step 1 - Create the following directory structure in $HOME/Documents/RetroArch/system (this is the standard directory location on Macs)

mame

    hiscore

    history

    plugins

    ini

(careful - the directory names are case sensitive!)


Step 2 - Download the plugins folder from the GitHub repository https://github.com/libretro/mame and move its contents into the plugins directory above (alternatively, you can of course entirely replace it)


To download one directory from github: https://download-directory.github.io/ is your best friend!


Step 3 - Get the dat files and copy them into the history directory:


history.dat (should go to system/mame/history/)

command.dat (should go to system/mame/history/ as well)

gameinit.dat (should go to system/mame/history/ as well)


Step 4 - Create truncated ini files for RetroArch only (below is the file name first and then its content for copy/paste)


mame.ini


#

# CORE CONFIGURATION OPTIONS

#

readconfig                1

writeconfig               0


#

# CORE SEARCH PATH OPTIONS

#

mame.inipluginspath               $HOME/Documents/RetroArch/system/mame/plugins


plugin.ini


#

# PLUGINS OPTIONS

#

timecode                  0

dummy                     0

inputmacro                0

discord                   0

layout                    0

timer                     0

SLAXML                    0

cheat                     0

portname                  0

json                      0

cheatfind                 0

commonui                  0

autofire                  0

hiscore                   1

data                      1

gdbstub                   0

console                   


ui.ini


# UI SEARCH PATH OPTIONS

#

historypath               "$HOME/Documents/RetroArch/system/mame/history"



Samples Support


Samples come into $HOME/Documents/RetroArch/system/mame/samples -> and they work.


Conclusion: MAME (current) vs FinalBurn Neo


In direct comparison, I clearly prefer FinalBurn Neo as my default core for arcades, already due to the limitations described above. But also FinalBurn Neo’s ‚Force 60Hz‘ core option resolves all issues on 60Hz monitors, its a much leaner core and rock solid.  Performance-wise, both cores seem to perform nearly identical on my Macs (with FinalBurn Neo performing slightly better on full speed, but it doesn't matter). But it is definitely worth testing the cores out in direct comparison. One of my all-time favorites, 1942, somehow feels snappier with MAME (current).


MAME (current) is a good choice for me

- for games that are not supported by FinalBurn Neo at all

- for games that have no hiscore support in FinalBurn Neo (they get less and less)


What also may be important for you: Hiscores from official MAME standalone work! Just copy them into /system/mame/hiscore, and they are accepted!

So it‘s great to have this running now. Happy testing!

No comments:

Post a Comment

Any comments are welcome!