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.