06 October 2021

January 2016 - September 2021: 100.000 Views - Thank You

Without realizing it, this September saw my blog passing the 100.000 views mark. Even in rather silent times, this documentation seems to help Mac users.

Thank you for your interest, this is my contribution to MAME. Please let me repeat that this blog will always remain strictly non-commercial.

Cheers.

07 May 2021

Final Burn Neo 1.0.0.2 is the better MAME on Macs

Fast update 29 August 2021: After quick tests of MAME 0.235 and FBNeo 1.0.0.3/RetroArch Metal 1.9.8, the situation is still the same. Important note, however: After updating FBNeo (as well as any other Core), restart your Mac! Weirdly any updated Core crashes RetroArch immediately, while after a restart, everything works fine.

These are quite heretic news: On my Macs (both M1 and Intel), many arcade classics play better on the brand new combo Final Burn Neo 1.0.0.2/RetroArch Metal 1.9.2 than current MAME. If you are curious and ready to dive into RetroArch, this is definitely worth a try.

Moon Patrol (FBNeo with crt-guest-dr-venom2 shader)

I tested the newest incarnations of Final Burn Neo (via RetroArch frontend) and MAME official on my Macs, and to my surprise, Final Burn Neo currently has a clear edge over MAME in some classic arcade games. If you want to do your own testing, I recommend that you try out these three games, where results are quite obvious:

28 February 2021

MAME on Apple M1 - as good as expected! (work in progress)

I finally decided to move to a Mac mini M1 - and MAME just shines on it. No war stories here, but just the benchmarks!


R0ni compiles M1 MAME, so get it here: https://sdlmame.lngn.net/

This table shows you a performance comparison between:
- Mac mini M1 (native)
- Mac mini M1 (Rosetta2): no real need for this, but just to demonstrate Rosetta2 performance 
- Mac mini Intel (latest version)
- iMac (late 2013): best results under Mojave (Catalina became slower, and no Big Sur here)

./mame -video bgfx -str 60 -noafs -bgfx_screen_chains crt-geom -bgfx_backend opengl -noreadconfig -nosleep -nothrottle -lowlatency


07 February 2021

MAME Arcade Bezel Update!

Just to let you know that my Github repository containing realistic bezel artwork for MAME is significantly updated. No need to repeat the ReadMe file in Github, just move there:

https://github.com/estefan3112/MAME-Realistic-Bezel-Artwork/blob/master/README.md


Shinobi contains all updates, including the Screen Mask (very much smoothing the screen borders) and
adding a dedicated Screen Bezel (thereby adding a lot of depth to the bezel).


I was looking for a long time for a screen bezel for Oddyssey2/Videopac - so many thanks to SuSGoART for that one (I found it in the libretro forum, conversion to MAME layout format by myself).

While this project will probably never end, I believe that it is a very nice moment to grab the repo and enjoy the new stuff. Comments as always much appreciated.

31 December 2020

MAME Shader Roundup - GLSL Configuration Working Again! Happy New Year!

Happy New Year to everybody!

With a very big MAME 0.227 release, I took some time to sum up the options that Mac Users have in terms of shaders - please read at least this post first for an overview, and I follow up on that one.

Out of the box: When you run MAME without any tweaks, it only smoothens the pixels, but does not apply any shaders. By this, every operating system starts MAME games, while shaders are often very OS-centric.

When to use this: Only if you have a system that does not cope with any of the below options nicely.

GLSL is back again! For quite some time I thought that the good old OpenGL shaders no longer work, but they actually do. Let me summarise how to configure two variants of the CRT-GEOM shader for MAME GLSL.

Setup MAME 0.227 from scratch on Macs (Update December 2020/January 2021)

Another update on how to configure MAME from scratch in the very preferable way, which is
via its internal interface MEWUI (default MAME UI since 0.171) and a text editor.
  
If you are willing to work with your Terminal and a Text Editor, it is by far the best way to set up and maintain MAME, irrespective of which frontend you wanna use later on.

So let's go step by step from scratch. 
MEWUI - click to enlarge
Step 1 - Basic Homework 

Download and install SDL 2 as explained here. Download a good text editor - I now use Atom - https://atom.io, which needs a bit of a learning curve, but it's a very decent Open Source editor.

Change Finder Settings in order to display hidden folders and files, e.g. with Deeper (you need access to your User Library folder, which is by default a hidden folder). Another very smart way to display hidden folders and files is this key combo in the finder: SHIFT-CMD-. 

Shift - CMD - . and you see the hidden files greyed out, but fully accessible, very neat!

Of course, download MAME from here and unzip it into the place of your choice. Obviously this is the SDL version of MAME complied for Macs.

Recommendation: I currently keep my running MAME version in the folder 'mame' and keep only older versions in a version-related directory. This definitely helps you further on to stay consistent and carry on your work from version to version.

Step 2 - Create .ini files in the Terminal and manually configure ini paths

After a lot of testing, my recommendation is to create your first .ini files from the Terminal. This should save you from a lot of headache by multiple .ini files that just cause confusion.

  • Start Terminal and cd into your directory of MAME (recommendation: name your main directory mame, see above)
  • Now in the Terminal and in the right directory, the command ./mame64 -cc generates the three default config files in your mame directory:
mame.ini - your overall configuration file for MAME
plugin.ini - your configuration file for activating and deactivating MAME Plugins
ui.ini - your configuration file for the MEWUI interface
  • By default, mame.ini contains the following multiple ini paths:
inipath  "$HOME/Library/Application Support/mame;$HOME/.mame;.;ini"
Recommendation: In my own experience, this is rather unfortunate, because you may end up with multiple .ini files at multiple places rather easily. Since MAME then considers all these .ini files in a certain order, you may be lost in chaos. Right now, I actually prefer having all .ini files in the MAME sub-directory called ini, thus I reduce this line as follows:
inipath                   ini
This means of course that you have to move the three .ini files created in the first step into the ini subdirectory. As long as you do not forget about the ini directory when moving to a new MAME version, this is probably easiest to handle, and the /Library/Application Support directory stays clean of MAME config files
 Step 3 - Start MEWUI (the right way)

Open Terminal and switch to your MAME working directory (easiest way: type 'cd' and then drag the mame directory from the Finder into the Terminal -> press Return in the Terminal window)

Warning: starting mame64 with double-click does not work in the right way -> so start via Terminal as explained here. So you must be in the MAME working directory!

27 December 2020

MAME and MacOS Catalina (Update December 2020)

Update 28 December 2020: I finally updated my iMac Late 2013 to Catalina - and everything works in MAME as expected. 

Interestingly, nothing of the concernes raised in the community back in January actually turned out to affect the Open Source community. Homebrew has now been in Catalina development for more than a year, and this update took quite a while, some hickups included, which I however could resolve with Google.

19 December 2020

Intel UHD (bad for MAME) and macOS Big Sur 11.1 first impressions

As already anticipated in this post, probably any Intel Macs with Intel UHD Graphics are a quite bad choice for MAME. Here is new proof with the probably very latest Intel Mac mini, a machine that I otherwise very much like. 

But as also barefeats.com explain here, these Mac minis 'scream for an eGPU' when it comes to gaming and other GPU-intensive tasks.


This Mac mini has it all - except for the GPU.

For all Mac Users out there that are struggling with MAME performance - just check your GPU and forget about the rest. If you have some Intel UHD Graphics installed, you already know the culprit. Shaders will then not perform nicely, and also Bezel Artwork. So here is some numbers with identical MAME versions and identical ROM files.

21 May 2020

ARCADE - the better MAME for most of us (R0ni build link included)

Update May 2020: R0ni now provides official Mac builds for MAME Arcade in the directory of his site listed below.


There is a subproject of MAME, fully on par with the official project, but which can be easily overlooked. If you are willing to compile and build your own romset, this is the best MAME for most of us.

Website: https://arcade.mameworld.info
GitHub repo: https://github.com/Robbbert/store1
Official binaries: sorry, there are no longer official builds available, and it was not R0ni's decision 😑. So I will look into that once again and may build unofficial Arcade builds - but please look into the easy build instructions below.


The Arcade internal MAMEUI has a customized colour palette, which I much prefer over the standard palette. Otherwise standard MAME functions, which is good.
What is it?

- Working Arcade games only (so skeleton drivers or games booting into a black screen)
- No mechanical games (pinball games etc)
- No casino or gambling games
- No computers, consoles, terminals, etc.
- No games that display a black screen

26 April 2020

Standalone Spinner for MAME - The one and only How-To!

Arkanoid ... finally!

Arkanoid was very popular amongst us youngsters. I was one those that managed all 100 levels, but certainly not with just one coin. I also think that this was just manageable in the cocktail table version due to the stamina and focus required for this difficult game. We typically used to take the challenge by two, so that after dying, you could relax a bit while the other guy plays, and that worked out quite well.

A spinner for MAME has always been in my plans simply because of Arkanoid. But I always hesitated because I wanted a standalone spinner (for reasons stated below), while basically all online instructions relate to integrating a spinner into your overall arcade control panel.

Now, finally, it is there and works just perfectly.

My prototype with cardboard. As you can see, very decent styling.
I might even stick with the cardboard version because it works so well.

11 April 2020

Negatron - a MAME Desktop Frontend at its best

Okay, I quite finished my review, but will update it incrementally from time to time.
Update 11 April - Negatron Cross Platform Pack, MAMEUI screenshot, further .ini info and NegaMAME
Update 13 April - included further information on Extras, In-Game Extras and the Manuals tab; edited the information on .ini issues.
Update 14 April - finishing up with a conclusion
Update 30 April - negatron 0.100.1 gets rid of some Mac-specific bugs, so go and get it!

MAME frontends for MacOS have always been scarce. That's why I was surprised to learn about this Negatron MAME Desktop Frontend being available cross platform, thus for MacOS as well. Already after my first tests, I was blown away by its capabilities. This review tries to point to the outstanding functions, especially for MacOS users, so that you can choose whether to give it a try.


Version tested: 0.100.1 (yes, the software is around since 2015, and I was never aware of - shame on me!)
Website NegaMAME: http://www.babelsoft.net/products/negamame.htm (a dedicated MAME derivative)
The software is updated frequently by its developer XinYingHo.

02 April 2020

Funding for OSX MAME Website during Covid19 time - please do consider!

This is a post during the Covid19 Lockdown:

Jay, the maintainer of https://sdlmame.lngn.net/, is directly affected by the Covid19 lockdown, and he kindly asks for assistance to keep his site up and running:

https://www.gofundme.com/f/save-lngnnet-services?d=tueAWZxgx3lwv%2B67DwkexMpwQQV7JY7L7yRHDj9Qc5g%3D

I did my part, and please consider to do the same. Thanks indeed.

24 February 2020

OpenEmu - A New Strong Contender for MacOS MAME

These days I revisited OpenEmu after quite some time, and it is a fair statement that it became an extremely attractive contender for playing MAME in MacOS.


This shall only serve as a teaser for an in-depth review - just briefly what makes OpenEmu a compelling option for gaming MAME in MacOS:
  • Up to date - current MAME Core is 0.217 (note: the MAME Core only comes with the "Experimental" version of OpenEmu!).
  • Performance is extremely good. OpenEmu claims to have developed a Metal backend for better performance in MacOS. While there is nothing documented about this, so far all games work flawlessly. A more objective testing than playing games you know does not seem to be available.
  • Shaders built in, can be changed in the game on the fly. It is by far the most convenient way of applying shaders for MAME games. And you find CRT-GEOM or even CRT-Royale-Kurozumi amongst them! Shader options are also very convenient.
  • And of course outstanding usability, which you will not find in any other MAME emulator:
    • import roms by drag'n'drop and enjoy immediate scans for artwork; import also provides a smart mechanism for resolving conflicts with other emulators; if you launch a game with missing roms (e.g. neogeo.zip), OpenEmu tells you this; also importing of bios files is drag'n'drop (more important for the other emulators)
    • outstanding configuration of joypads, with a lot of them being recognized automatically
  • Autostate out of the box: MAME currently does not save hiscore files in OpenEmu, and there is nothing to worry about that. Because OpenEmu, by its default options, just autosaves your last state and resume there at restart. So your highscores are just saved by savestates, and that's just fine.
I wanted to write this teaser very fast because OpenEmu now has reached a state where it becomes a top option for MAME in MacOS. In my review, I will also elaborate on the current deficits (e.g. no Artwork), but all in all, for the casual arcade gamer, this software is just brilliant. Stay tuned, I need to test further.

Read further for my in-depth review of OpenEmu (this review is reduced to the MAME core, wile OpenEmu's potential obviously go far beyond MAME emulation):

12 January 2020

Update MAME 0.217 - Low Latency (WIP) and 60.000 views :-)

Update 15 Jan 2020: Performance tests with nine of my reference games indicate no performance losses when activating Low Latency

In the terminal, cd into the mame folder and run:


./mame64 -video bgfx -str 60 -noafs -bgfx_screen_chains crt-geom -bgfx_backend metal -noreadconfig -nosleep -nothrottle -lowlatency [game]

./mame64 -video bgfx -str 60 -noafs -bgfx_screen_chains crt-geom -bgfx_backend metal -noreadconfig -nosleep -nothrottle -lowlatency [game]

The test results are either identical or even in favor of low latency. MAME 0.217 is also a hot performer, so the BGFX shaders now really perform flawlessly. I could not be happier with current MAME performance-wise.

Update: With MAME 0.217, you can configure Low Latency within MAMEUI! I explained here how to properly access MAMEUI.




Thanks to a visitor of this blog (hi, Borsuk 😊), I became aware of a new MAME option that introduces a mode with lower input latency. 

As so often with MAME, info is rather scarce, both the Github commit and the MAME documentation explain the minimum:
https://github.com/mamedev/mame/commit/eab5bcac0029e4e298e1f194133c21580098508d
https://docs.mamedev.org/commandline/commandline-all.html (search for "lowlatency")

Things to consider:
  • In running systems, you need to add the option to your existing mame.ini (and of course also in any game-specific inis).
  • Currently the default is 'off' because of the potential side effects in some systems.
  • First check whether your mame version is capable. Then you can look into your current configuration. In the terminal, within the mame directory, execute: 
    • ./mame64 -showusage - under the header "CORE PERFOMRMANCE OPTIONS" you should find the following entry: 
      -lowlatency          draws new frame before throttling to reduce input latency
    • then ./mame64 -showconfig - under the header "CORE PERFORMANCE OPTIONS" you should find: 
      lowlatency                1
    • 1 for on or 0 for off. If not, you have to add it in your mame.ini
So is it worth the hassle? I am undecided right now. Further testing is needed.

And this blog reached 60.000 views since I started back in 2016. Thank you for all of you that are still into reading old-fashioned Blog entries. While I see the advantages of YouTube instructions in some cases, I still prefer sharing know-how as text - particularly because I try to update my posts if it makes sense and put them to a later date in this blog.

24 December 2019

Christmas 2019 - Updating MAME Bezels - 4k Bezels by ArsInvictus

As a small Christmas present, I have started updating my Github repo consisting mainly of John Merrit's fabulous bezels:


Main priority is to smoothen down the corners, one of the bigger flaws of these bezels. Just have a look at all bezels until (including) frogger, they look significantly better.

Everything else is explained here:

Finally, do not miss out on these incredible new 4k bezels by ArsInvictus:

https://forums.libretro.com/t/new-4k-bezel-overlays/25247/73

On his Dropbox link, you will also find a dedicated MAME directory that already includes the .lay files. With his kind permission, I will include some of his bezels with those of John Merrit because they often match perfectly.

Enjoy and Merry Christmas!

17 November 2019

MAME in Retroarch 1.8.1 - Mac and iOS (WIP)

Work-In-Progress: collection of my experience in using Retroarch on Macs and on my iPad for quite some time, i.e. approx. 2 years; during that time it made tremendous improvements and added a lot of interesting cores

Disclaimer first: Retroarch (at least on Macs and iOS devices) is very fluid and sometimes experimental. Crashes occur. For a stable MAME experience, I still recommend official MAME as the main focus of this Blog.

Valid reasons for trying out MAME in Retroarch:
  • Retroarch GUI (RGUI): if you get used to this joypad-centric kind of configuration, it is very useful; during a running game, you switch to RGUI, change config and see results (this is a very disputed topic, and Retroarch opponents will call RGUI as the main problem, but for me, after quite some time, it is a very good way to test stuff) 
  • Abundance of configuration options: again, many hat this, but these various config options show how much innovation happens in Retroarch; and they are worth testing
  • Joypad support: great to fine tune - you will spend a lot of time here!
  • Shader options: you can configure a lot of shader options if you are really into it
  • Latency options: are quite interesting for the very competitive gamer
  • Cross-core UI: if you run other cores, e.g. for consoles, you gain experience and can use this for MAME as well
  • No bezel artwork: if you do not care about MAME artwork
  • Because it's fun testing: just for learning Retroarch, I just enjoy experimenting with all these possible configuration possibilities
Mac vs Retroarch iOS

31 October 2019

MAME 0.215 - clear BGFX Performance Improvements (WIP)

Yesterday MAME 0.215 came out, and the Changelog also refers to changes in the BGFX shader. While the main change, the implementation of a Vulcan shader, is entirely unrelated to MacOS, my initial performance tests with the usual candidates show massive performance improvements.

System: MacOS Mojave 10.14.6
MAME: official build 0.215 (http://sdlmame.lngn.net/)
Terminal command: ./mame64 -window -video bgfx -str 60 -noafs -bgfx_screen_chains crt-geom-deluxe -bgfx_backend metal -noreadconfig -nosleep -nothrottle (ROMFILENAME

Example 1942 (Revision B): 765.06% in MAME 0.201, 907,94% in MAME 0.215

Details to follow, I hope.


17 October 2019

Attract Mode 2.6.0

Two days ago, Attract Mode 2.6.0 has been released, and you can currently grab the Mac dmg only here on the Github website:
https://github.com/mickelson/attract/releases
According to the changelog, this is an interim release that improves stability of the software. This is always welcome and worth a post. It's a great piece of software.

04 October 2019

The State of MAME in October 2019

No post for a very long time - because basically everything works on my Mac as it should be. Here is the current state of MAME in October 2019 (updated 10 October 2019 once again).

Core: MAME Mac Binary

First and foremost: MAME, currently v.214, is rock stable in MacOS Mojave. Everything that I wrote in this Blog still applies:

- MAME installation from scratch
- What I said about MAME in November 2018 and further links inside this post

The developers keep staying extremely busy and the system just further evolves. Enhancements in my favourite Arcade games stay moderate, but they are all nearly perfect anyway. Game & Watch enhancements deserve to be mentioned, they all become more and more real eye candies - it is nice to remember these first handheld times.

A fast photo of a Game&Watch game, please excuse the moire.
Frontend:Attract Mode

The same applies to Attract Mode, my favorite MAME frontend on Macs. Version 2.5.1 is nearly one year old, but still rocks. The more adventurous can compile a version with the latest minor tweaks - I explained in my Blog how this works:

- Attract Mode - how to compile
- Attract Mode HowTo, part 1
- Attract Mode HowTo, part 2

Another very stable software for your Mac.

Attract Mode/Cosmo Arcade Display on my Mac - you cannot ask for more
Shaders: BGFX/Metal/CRT-GEOM-DELUXE

01 February 2019

BGFX in MAME - Tweaking and In-Depth Look (plus a video) - Update January 2019

BGFX really rocks and after some MAME Updates, it became my standard shader.

Update January 2019: MAME 206 corrects the HLSL shader, so the purple screen is gone.
The 'Scale' values as described below are now in lines 186 and 191. Now I need to head for the new phosphor settings and update the below table for HLSL settings (I still do not like the default settings that much). Below you find the updated table of my current HLSL settings plus the Scale values for the lines 186 and 191.

Update December 2018: Since the October 2018 release, the HLSL shader has been updated by phosphor settings. As a result, BGFX/HLSL produces a purple picture, at least on my Mac in both MacOS and Linux - is this an SDL MAME problem? I am still investigating into that, and for the time being, I stay with BGFX/CRT-GEOM-Deluxe, which still provides very decent results.


HLSL under Windows (Bootcamp)
HLSL under MacOS and Ubuntu
Since both MacOS and Ubuntu is affected, this could point to an SLD problem.