[GUIDE] Libretro MAME(current) hiscore, history, gameinit & command

Hi , I followed your steps, but it doesn’t work in mame2016. Do you try it ever? Thanks a lot

Since i don’t use the mame2016 core i can’t really test if one of the methods above work.

As stated in the introduction, this guide is for mame 0.212+
For mame2003 it is sufficient to place the respective hiscore.dat file in your /system/mame2003 folder.

Both methods are working with the corresponding cores

After searching for 1min the web i read, that mame 0.173 was the first version introducing the lua plugins.
The libretro mame2016 core is based on mame 0.174, so the guide above should work. If not, than the libretro core is build without lua and therefore it is inpossible to make hiscores work.

Of course you have to download the plugins for the 0.174 version: https://github.com/libretro/mame2016-libretro/tree/master/plugins

[EDIT] mame2016 doesn’t work. I got some lua error, but can’t figure out how to fix it.

[LUA ERROR] D:\RetroArch\system\mame2016\plugins\boot.lua:7: module 'json' not found:
        no field package.preload['json']
        no file 'D:\RetroArch/plugins/json.lua'
        no file 'D:\RetroArch/plugins/json/init.lua'
        no file 'D:\RetroArch\json.dll'
        no file 'D:\RetroArch\..\lib\lua\5.3\json.dll'
        no file 'D:\RetroArch\loadall.dll'
        no file '.\json.dll'

Has anyone had any luck with .217 on Windows 10? I’m fairly certain I’ve followed all of the directions exactly and haven’t had any success.

Going to run through them from the start once more in hopes that maybe I missed something, but everything seems to be correct in my configs.

Is anything supposed to show up in the “Plugins” MAME menu in-game? It’s blank for me, so I’m not even sure if my plugins are working.

That said, I can pull data from in-game menu via External DAT view, so something seems to be working, at least.

So far, I’ve tried turning on “Read Configuration” as well as “Write configuration”, I’ve also tried to move the hiscore.dat to the “hi” directory and changing the path in the config lua, no luck there either.

Any suggestions, or should I just give up on it working in Windows 10?

Welcome @darkaegis, unfortunately i don’t have the possibility to test it on Windows 10 (still on Windows 7).
Mame 0.217 is now 3 days old and i didn’t had the time to update for now.

I will test it probably tomorrow now and post here if i discover if this is a win10 or a mame0.217 problem.

:wink: Yes (not really, don’t let you stop from such a little thing)

1 Like

Updated to Libretro MAME 0.217 (Windows 7)

[should work on other systems as well]

Maybe i missed something in the guide above, so here is a short checklist of the steps needed:

0. Default paths

  • Windows: Drive Letter:\Directory(s) of your choice\RetroArch\
  • Linux: ~/.config/retroarch/
  • Mac: I don't know :wink:

1. Directorys

  • system/mame/plugins/
  • system/mame/history/
  • system/mame/ini/

2. Downloads

3. INI files in system/mame/ini/ (note, this are my paths, you have to change them eventually)

  • mame.ini
#
# CORE CONFIGURATION OPTIONS
#
readconfig                1
writeconfig               0
#
# CORE SEARCH PATH OPTIONS
#
pluginspath               D:\RetroArch\system\mame\plugins
  • plugin.ini
#
# PLUGINS OPTIONS
#
data                      1
hiscore                   1
  • ui.ini
#
# UI SEARCH PATH OPTIONS
#
historypath               D:\RetroArch\system\mame\history

4. init.lua in system/mame/plugins/hiscore/

  • line 25 [NOTE the double backslashes]
local hiscore_path = "D:\\RetroArch\\saves\\mame\\hi";

5. MAME settings in-game

  • Run a game and enable Read configuration
Quick Menu
    └ Options
        └ Read configurations = ON

or in retroarch-core-options.cfg

mame_read_config = "enabled"

Don’t enable Write configuration as this creates a seperate *.ini file for every game played


Now everything should work.

In MAME Menu you should have an extra entry:
External DAT View
where you can see game history, control commands or information about gameinit if available.

The
Plugin Options
remains empty as none of the plugins used here have UI settings.

Hiscores will be saved in the location you defined in the init.lua

RetroArch
    └ saves
        └ mame
            └ hi
                └ game.hi (e.g. 1941.hi)
1 Like

I think, in the end, I was foiled by the naming of the “plugin.ini”. Went back and checked, and I had it named “plugins.ini” - not sure if that was a change in .217 or what, but it was there. I should’ve noticed my MAME install wasn’t using that name, but I somehow never spotted it.

Followed your directions again, and in the meantime I changed my local hiscore path to my Google Drive so I can sync it between computers, and it’s working like a charm. I really appreciate the work you put into this, thank you so much!

1 Like

plugin(s).ini was my fault in the original Guide, but unfortunately i cannot edit it no more
(after a while posts can’t be editet anymore :frowning: )

1 Like

Can anyone help me get the ‘Autofire’ plugin working, as native autofire functionality was stripped out of MAME.

I have downloaded it, put it in my Retroarch\system\mame\plugins folder, added the plugins.ini…tried renaming it to plugin.ini, set the path to plugins in mame.ini…which I’ve put in Retroarch\system\mame\ini

PLEASE HELP!

OK, I’ve got the plugin to show up - I think I needed the ‘boot.lua’ file in the plugins folder.

Sadly now I’m having trouble using the damn thing - when I click on the HOTKEY option in the menu, nothing happens, so I can’t actually make any buttons autofire!

It’s such a pain in the arse that they removed the native functionality.

Luckily I’ve managed to find an older core backup (MAME .215) which is one of the last releases to contain native autofire functionality.

Add this to your /retroarch/system/mame/ini/plugin.ini [without the (s) - it was a typo in the guide]:

#
# PLUGINS OPTIONS
#
autofire                  1

Now in the TAB menu you should have this (sorry the small resoluion):
1941j-200410-110538
1941j-200410-110542
1941j-200410-110548

Thanks for the guide ImnoTapLumber :+1:. In your experience, does FBNeo offer similar features to Mame OOTB? As in, all configurable within RetroArch’s Options? Hiscore support is the main thing for me but would prefer something that is straight forward to setup.

:slight_smile:

1 Like

For hiscore support you simply need to copy hiscore.dat to your setup as said in the documentation : https://docs.libretro.com/library/fbneo/#hiscores

2 Likes

Thanks. That seems fairly straight forward. Are FBNeo’s options within RetroArch’s Options or within it’s own GUI? (like Mame). Ideally, I would like to control everything from one place (RetroArch).

:slight_smile:

FBNeo doesn’t have an equivalent to MAME OSD, everything is done through RetroArch menus.

2 Likes

Could you please implement vrr (like gsync and freesync) to linux version mame current core? I would like it to work in batocera and currently it working correctly only in windows version.

Very nice. Happy to confirm that this works under MacOS with today’s MAME current Libretro Core - 251! History.dat loads as well :-). Path separator under MacOS is like Linux.

However, hiscores are saved under …/system/mame/hiscore … I think that has changed in MAME in overall.

Has anyone else tried following this guide with more recent builds of MAME? With the latest, .258, there seem to be some changes, fior instance the history.dat is now history.xml. And the lua init file also seems to have been reworked to pull the directories dynamically with a function instead of a hard coded path.

From looking at the lua, it does look like there are HiScore related menu options now, but they aren’t showing for me, though I do see the options related to the External DAT view and the Command and History tabs are there, so those portions are loading correctly.

I’ve tried following this guide using the new xml file and took a stab at modifying the lua but the high scores are still not working for me. I’m not really familiar with lua syntax so I’m guessing my problem might lie there.

Hi @ArsInvictus,

this is what i tried today (fresh install retroarch+mame current):

  • Download https://github.com/libretro/mame/archive/refs/heads/master.zip
  • Extract the content of the plugins folder to RetroArch/system/mame/plugins/ (or your system path)
  • Start a Game with the mame-current core and enter Quick Menu (default [F1])
  • In Core Options - System enable Boot to OSD
  • Close mame and start again (restart seems not to work)
  • With [Tab] and the arrow keys [←][↑][→][↓] on your keyboard navigate to General Settings - Plugins and enable Hiscore support
  • Don’t forget to disable Boot to OSD
  • Done. Now the hiscores should be saved in /system/mame/hiscore/*

No more need to manually edit *.ini or *.lua files

1 Like

Thanks @ImnoTapLumber! That worked right away. It’s great that they’ve made it so much simpler now to get the plugins configured. No more scouting down the files, etc.

1 Like