30 May 2026

Negatron - a MAME Desktop Frontend at its best

Update 30 May 2026: Quick summary on how to run Negatron with MAME installed via Homebrew
While this turned out to be a bit tricky, it then works nicely in the end if you follow these steps:
  1. I assume that you have a running Homebrew MAME setup (as per my separate blog entry) and that Negatron is installed.
  2. Delete/backup any existing negatron.ini file in $HOME/Library/Application Support/Negatron and restart the initial Negatron setup.
  3. In the initial config dialog, choose the Homebrew MAME executable: /opt/homebrew/bin/mame
  4. Choose the EXTRAS and Multimedia root folder: $HOME/Library/Application Support/mame (as suggested in my Homebrew setup, where $HOME must be replaced by your actual user path)
  5. In Negatron, head for the settings and change the mame.ini path to: $HOME/Library/Application Support/mame/mame.ini (as suggested in my Homebrew setup)
  6. Now, the important hack (as suggested by the Negatron developer): Exit Negatron, show the contents of the Negatron.app (right click - Show Package Contents) in the Finder and delete both SDL3.dylibs from the Contents/app subfolder -> this allows MAME to use the Homebrew SDL3 libraries instead of the Negatron ones, which for whatever reason do not work with Homebrew MAME
Now Negatron should properly launch the Homebrew MAME executable, which is glorious.

Update 30 January 2026: Negatron is back and fully working on ARM Macs - download the best MAME frontend for MacOS here.

No need for you to join the Dark Side of Negatron - Modena (Default) is bright.

MAME frontends for MacOS have always been scarce. I was surprised to learn about this Negatron MAME Desktop Frontend being available (actually since 2015!) for MacOS as well. Already after my first tests, I was impressed from its capabilities. This review tries to point to the outstanding functions, especially for MacOS users. This is a rewrite of my old 2020 post.


Version tested: 1.0.2 of January 2026 
Github NegaMAME: https://github.com/xinyingho/NegaMAME (a dedicated MAME fork)
The software is updated regularly by its developer XinYingHo.


That's why it is by far the best MAME frontend you can get for MacOS: 

  • Integration into official MAME is excellent in my testing. As I now also integrated my MAME setup into Homebrew for automatic updates, I would not want to opt for the special MAME version called NegaMAME (explained below). You can configure virtually everything in the UI, so it‘s advisable to make backups of your .ini files beforehand.
  • The interface is very customizable, even more than QMC2, and the different artwork and manuals you can add to each system is also unmatched by QMC2. Video preview also just works. See the ‚OMG‘ sections below 😉.
  • Negatron also has a smart integration of Software Lists, far better than MAMEUI and QMC2 (is broken since quire some time). I still have to look into this further.
  • Updates of MAME are recognized during the next Negatron launch, and it also updates its own databases with the new version.
  • New - SDL3 Input Mapping: With the implementation of SDL3, the entire User Interface is mapped to joypad support. 
  • Information from the developer: https://github.com/xinyingho/Negatron/blob/master/README.md

All in all, Negatron seems to be a worthy successor of QMC2. Give it a try, you will not be disappointed.

Read further for all the details.

09 May 2026

MAME (current) for RetroArch: running list of improvements

I will use this post as collector for any further improvements that we see in the MAME (current) RetroArch core.

Update 9 May 2026 - with the tremendous help of a community member, I now understand that MAME (current) still supports the .lay files of MAME official. However, due to the limitations of the RetroArch implementation, you will only need this for very special topics, but not for classical bezel artwork.

If I am not mistaken, there is no documentation of this setup anywhere - so here you are.

Very long time ago, I did a deep dive into the logic of a MAME .lay file:
With a highly capable shader such as koko-aio, there is no longer the need for such .lay file in RetroArch. However, there are things that a MAME .lay file is still valuable in RetroArch:

Configuration in the RetroArch shader, such as koko-aio:
  • Arcade machine artwork
  • Bezel configuration in every single detail
  • most Backdrops
What's left for a configuration in the MAME .lay file:
  • Screen overlays for colorizing pixels

The colorization of the pixles is done with an overlay in the MAME .lay file

In comparison without the overlay

  • Dual screen setups, like in certain Game & Watch handheld games

The alignment of the two screens is done in the MAME .lay file

  • Backdrops, like those of Game & Watch handhelds, only look good if configured in a MAME .lay file
Grass, hens and wood is in a MAME .lay file as backdrop, not in koko-aio


The apparent challenge is that you need to be absolutely sure what you need in the MAME .lay file and what not. Have a look into the two Game & Watch examples, that should help.

Installation of MAME lay files

Like in MAME official, the relevant file are compressed into a .zip file having the name of the game. In the .zip file, the layout file is called default.lay, and it contains the references to the other files in this .zip file.

Installation path in RetroArch: 
RetroArch/system/mame/artwork

For your orientation, the system folder is the folder that contains all other system data, such as bios files of consoles. Inside of this folder the mame subdirectory is written in small letters, as well as the artwork directory. Same as in official standalone MAME.

I hope that this information helps, it is incredibly hidden in the Internet. Cheers.


Update 4 August 2025 - just briefly an overdue update on easier highscore support in MAME (current) for RetroArch, which I can confirm as working (done with newest MAME version 0.279)

Preparatory steps:

  • Step 1: have the MAME (current) core installed
  • Step 2: verify that you have the following directory: $HOME/Documents/RetroArch/system/mame - if not, then create it
  • Step 3: download the entire master file from github as a zip file: https://github.com/libretro/mame and extract it
  • Step 4: move the following directories into the mame directory according to Step 2: hash and plugins
Activating Highscore Support from within MAME (current):
  • launch a game in MAME (current), enter Quick Menu, and in the Core Options/System, enable "Boot to OSD"
  • Completely close RetroArch, launch it again and launch a game (horizontal monitor!) in MAME (current) -> the OSD appears
  • With (TAB), jump to the General Settings of the MAME OSD, go to Plugins and activate "Hiscore Support" - don't forget to save the settings in the MAME OSD. 
  • After this, disable "Boot do OSD" in the Core Options and completely close RetroArch again.
  • MAME has now generated the necessary ini files in $HOME/Documents/RetroArch/system/mame/ini
From now on, games should save highscores in $HOME/Documents/RetroArch/system/mame/hiscore. Play any game and get a hiscore, and it should create this directory and save hiscores into it. 

Very good news: In my tests, I could successfully move all hiscores from MAME official to MAME (current) in RetroArch! The solution now seems compatible and stable enough.

Still a bit clumsy, but far better than before. 

Reminder: samples for very old MAME games need to be here as well - $HOME/Documents/RetroArch/system/mame/samples

Game & Watch Games in MAME with Screenshots

Finally: Game & Watch handhelds decently run in RetroArch with the koko-aio shader

This has been a major struggle, and with the spontaneous help of the creator of the koko-aio shader, these handhelds are up and running in RetroArch as well. Thanks to the capabilities of koko aio and its creator, the shader presets are compelling and even superior over official MAME.

If you want to test this out immediately, download my today's release of koko-aio with all the Arcade textures included here:

https://github.com/estefan3112/koko-aio-slang/releases/tag/0.8ng

These two Game & Watch presets are already included in the base package:



Technical Notes on the challenges:

  1. Partial reliance on MAME.lay file: For certain effects, such as a consistent overlay and a proper dual screen setup, you still need a reduced .lay file. The respective .zip files are provided in my koko-aio release (under system) and need to be placed under RetroArch/system/mame/artwork. So I had to split the layout between koko-aio (for the bezels and the shader) and the functions that koko-aio does not and will never support.
  2. MAME Alternative Renderer required: These games only look good if you use the Alternative Renderer of MAME current, which does own upscaling. In my koko-aio release, I provide game-specific .opt files for activating the Alternative Renderer and a resolution that runs on my M2 Mac Mini. Files need to reside besides the .slangp files in the RetroArch/config/MAME folder to be used automatically.
  3. Reference to koko-aio fast hires presets: As MAME does its own upscaling in the Alternative Renderer, it was very important to use one of the fast Hires shader presets. As regular koko-aio does its own upscaling, a reference to this preset resulted in very laggy performance.
  4. No Runahead or other latency option: Another very important catch is if you have Runahead or any other latency option of RetroArch enabled. Disabling Runahead (in any form) significantly improved performance. In my koko-aio release, I provide game-specific .cfg files for disabling Runahead, because for all other games, it is of great help.

The developer of koko-aio also provided a last minute patch for even nicer looks, so be sure to use my install file, which contains an entire instance of the koko-aio shader, bleeding edge.

Feel free to feedback on this release, should you run into any issues. It would also be very interesting to get feedback on performance of this setup on other machines. Thank you, and cheers!