Could a "mame2019" be compiled?

I find that the mame2016 core is an excellent “modern” alternative to mame2003. It runs great (even on the XU4) and I am using it successfully with mame0188 romset. I recommend stripping away crap from romsets with an “all killer no filler” list, reducing the number of games to under 1000.

MESS roms can and have changed just as MAME roms do. Maybe they don’t in your experience as much as MAME, but there is no way you can just take a 0.174 MESS rom set and expect it work with the latest.

You are talking about the bios/device roms obviously. I’m talking about the games. Like, you can still play your ancient NES roms you downloaded in 1999 with the latest MAME. You don’t really need a new NES romset.

It’s not entirely true once softlists come into play, but I think mostly true for the majority of platforms. I think for some obscure drivers (computers) it may be the case that earlier file formats aren’t supported anymore.

I don’t quite understand why you don’t think of the MESS Bios as MAME games equivalent in the context of updating though, is this because of the supposed size difference? I always thought that’s why people are supposed to constantly only get MAME update Roms sets (I don’t usually get any MAME sets, I pick games manually…).

Well, the complete bios/devices romset is only about 150MB. So updating that for the version of the core that does the MESS side of things is not as daunting as the arcade romset at 60+ GB, excluding CHDs.

Not to mention if you are using launchers like Hyperspin and Launchbox that make use of XMLs, you also need to update said XML files. And of course all the media files that need to have the same file name as the roms.

MESS devices may also change names but these don’t appear in your gamelist, they are just files that exist in the background in order for your roms to work. And yes, the Sofware List roms change too but you don’t have to use them. You can use other romsets like No-Intro or whatever else you have. The Software List is not needed, i never used it myself tbh.

So basically, updating MAME is hard and time consuming (depending on your setup). Updating MESS is easy so it doesn’t need to be kept out of date only because you don’t want to update your arcade roms. That’s why i said the merging only caused problems IMO.

“MAME 2019” core for Windows 7+ 64-bit

I compiled a mame core based on the 0.214 version and renamed all the relevant entries from MAME to MAME 2019 and from mame to mame2019

I also modified the *.info file, so that the core shows up in RA as it should.

Now it should use samples, cheats etc. from /system/mame2019/
and it generates the necessary cfg, nvram etc. folders in /saves/mame2019/ as well.
(/saves/MAME 2019/mame2019/) if you enable Sort Saves in Folders in the RetroArch Settings)

If someone is interrested in testing it: Dropbox - Link

https://www.virustotal.com/gui/url/e2628edb83b475f9bd72a08eca5bdf498c9c66f0f1cbb96d8ad199a954383a23/detection

Please note, that i don’t take any responsibility if something doesn’t work.

[TUTORIAL coming soon]


To use hiscore, history and command dat’s you need to change your settings to match the new configuration.
(see my guide in the libretro/general/guide section)
[GUIDE] mame(current) hiscores, history & commands

TL;DR:

  • Download and install mame 0.214 (or use the source from github) and put the plugins folder in /system/mame2019/
  • Make a new directory named history in /system/mame2019/
  • Download history.dat and command.dat and place it in this directory
  • Make a new directory named ini in /system/mame2019/
  • Create empty mame.ini, plugin.ini and ui.ini files in the ini directory and insert the following:
    • mame.ini (use the path on your system):
      pluginspath     D:\RetroArch\system\mame2019\plugins
      
    • plugin.ini:
      data        1
      hiscore     1
      
    • ui.ini (use the path on your system):
      historypath     D:\RetroArch\system\mame2019\history
      
  • Edit the init.lua in /system/mame2019/plugins/hiscore/
    • init.lua (use the path on your system):
      local hiscore_path =    "D:\\RetroArch\\saves\\MAME 2019\\mame2019\\hi";
      
  • Enable Read configuration from within the Quick Menu after starting a game.
  • Close MAME 2019 and everything should work on the next start.
4 Likes

Thank you so much for this.

Works great.

Is this going to be added in the buildbot at some point?

no plans for it currently, no

After trying to replicate my steps on a fresh and clean environment i am struggeling on setting up MSYS2:

https://docs.libretro.com/development/retroarch/compilation/windows/

pacman -U mingw-w64-x86_64-nvidia-cg-toolkit-3.1-2-any.pkg.tar.xz
loading packages...
resolving dependencies...
warning: cannot resolve "mingw-w64-crt", a dependency of "mingw-w64-nvidia-cg-toolkit"
:: The following package cannot be upgraded due to unresolvable dependencies:
      mingw-w64-nvidia-cg-toolkit

:: Do you want to skip the above package for this upgrade? [Y/n] n

error: failed to prepare transaction (could not satisfy dependencies)
:: unable to satisfy dependency 'mingw-w64-crt' required by mingw-w64-nvidia-cg-toolkit

@hunterk any idea? (sorry to bothering you)

Probably best to just not install the Cg toolkit (–disable-cg in your configure step). All you lose is Cg shaders.

1 Like

Problem solved.

I had to install the mingw-w64-x86_64-crt from sourceforge and not with pacman

#This is the wrong package:
pacman -S mingw-w64-x86_64-crt-git
#This works:
wget https://sourceforge.net/projects/mingw-w64-archlinux/files/x86_64/mingw-w64-crt-git-4.0.rc1.r183.g5e2e73b-1-any.pkg.tar.xz/download -O mingw-w64-x86_64-crt-git-4.0.rc1.r183.g5e2e73b-1-any.pkg.tar.xz
pacman -U mingw-w64-x86_64-crt-git-4.0.rc1.r183.g5e2e73b-1-any.pkg.tar.xz

After that the mingw-w64-nvidia-cg-toolkit installs fine

2 Likes

I noticed something weird today with this core. In the “slider options” when you press start for the menu, all the overclocking options are missing. They do exist in the “normal” version of the core or the standalone.

Is this an error or am i missing something?

Edit: It seems it affects some games. I tested Gunforce 2 (one of the few games i use overcklock) and they are missing from there.

Are you talking about these settings?:


1 Like

Yes.

My version don’t show these when i load the game.

However, i made some other tests and if i load a save state made from the previous MAME 0.214 core they appear again.

It’s weird, maybe there’s something funny with my core options, inis, etc.

Try to delete your default.cfg and gunforc2.cfg to see if this problem persists.

[EDIT] You have to Enable cheats from the Quick menu - Options

1 Like

If a “MAME2019” is ever made (Ugly name if you asked me you should make a “MAME2020” instead) Please make sure to also add a description to what MAME set it corresponds to.

The one that is already compiled in this thread is the 0.214 core.

1 Like

Thanks SO much! Finally a modern version which supports states, fast-forward AND hiscores! Got it working right away.

Every other MAME core has some issues… Couldn’t get hiscores working in MAME 2016, MAME 2013-Plus has questionable support for many games (i.e. Batsugun doesn’t have music).

@hunterk I do understand the hesitation to have a gajillion MAME cores in the buildbot, but as outlined in this thread there is definitely merit to having a “modern, stable” MAME core available. It certainly does not make sense for me to be on the most up-to-date MAME core, because many ROMs do break and there’s no other way to know for sure than to generate a new DAT file and check yourself - then re-validating and re-building roms is very time consuming and painful and just not something I want to do every two weeks.

What I enjoy about RetroArch is that I have a million systems and their games playable in an instant - a “stable” core allows me to have exactly that. With that said, I’d be happy to see a more modern MAME core added to the buildbot.

Can it also be compiled for Linux and/or Android?