An update regarding MAME on Intel.

UPDATE:  MAME 0.255 for Intel MacOS is here!

It has been quite some time since I promised a solution and truth be told, the solution I had worked out didn’t work as I expected so I offered no solution instead. While MAME itself would actually build on MacOS 10.13 and above according to a dev, because of a 3rd party dependency, it failed. (Bgfx for those who care).

MAME developer Arbee (one of the main folks responsible for MAME working at all on MacOS the past decades) has kindly provided a gist (or a patch for us normal people) to make bgfx not make MAME fail to build. He’s also stated he plans to support this until the end of 2023. After that, MAME will likely move up to absolutely requiring MacOS 11 and above.

I’ll post Intel builds as soon as possible. I’ve to downgrade back to 10.14 yet (upgraded to 10.15 during my experiments) and re-setup a dev environment. But I’ll get it done and I’ll post an updated 0.255 when it’s ready.

So there you have it, six more months of MAME on your old Macs. If MAME is something you consider important on your older hardware, after that I suggest you look into and learn some Linux. Macs support Linux pretty well and I happen to mostly use Linux on my Macs over MacOS these days myself. MAME will run on your existing computer for many years yet if you ditch the outdated and unsupported MacOS you’re left on by Apple. That’s neither here nor there though. Eventually, you’re going to have to move on or stay in the past.

Updates will come within the next 24 hours.

7 thoughts on “An update regarding MAME on Intel.

  1. Hey, it’s the High Sierra guy from Reddit. Disabling SIP works! A few notes –

    Firstly, no idea why MAME 0.251 worked fine on one of my systems, and not on the other until I disabled SIP. Maybe I’ve messed with gatekeeper settings on the working system and forgot.

    Launching from terminal, with or without “-video opengl” will launch the MAME ui, but not display any of my roms. I no longer get the bfgx error when using “-video opengl”, whereas previously I would. I still get this error on the system where SIP is enabled, but MAME works.

    After launching MAME in terminal, launching via M64 will result in a black screen the first try or two. However after this, everything will launch fine, and available roms will display.

    However, when I launch via M64 without “-video opengl” in the script, the ui will load, but the cursor will only update every time I click. Key inputs do nothing.

    Thank you so much for the help!

    1. I’m not sure about how M64 works but it very well could be using its own config file which would differ than you using mame from the command line. It may use an existing config file if found though. Try running “./mame -createconfig” from your terminal and use an editor on that file to set opengl as your desired video mode and you’ll no longer need to input that each time. M64 should read that file when launching games, so you’ll likely need to set your rom path accordingly as well.
      As for inputs, it may be still yet some access issue, check “Security & Privacy” in the System Settings, in the Privacy tab, give the mame binary “full disk access” if it doesn’t have it already. That may fix the kb and mouse issues in general.

      I would personally recommend not using M64 as it only complicates things, but you should be able to get things working properly when a config file has been written. Mame will always use defaults without one, which can cause issues.

      1. To clarify, everything is working now. After disabling SIP, MAME runs as expected when launched through M64 with “-video opengl” in the script. This is the only way it works though.

        I did -createconfig and moved mame.ini (as well as plugin.ini) from my home directory to the ini folder in the MAME folder. I wasn’t exactly sure what you wanted me to edit, so I changed “video” and “videodriver” settings one at a time, from “auto” to “opengl”. None of this changed any outcomes when launching from terminal, however when “videodriver” was set to “opengl” I would get this error – “Could not initialize SDL opengl not available” Maybe videodriver isn’t what I was supposed to edit.

        The input issues only happened when I launched MAME with bgfx, not opengl.

        For some reason, using M64 with opengl in the script, with SIP disabled is the only way to get 0.251 running on High Sierra, however this works perfectly fine for me 🙂 Thank you again for all your responses

        1. The mame.ini needs to stay in the directory with the mame executable. Moving it to another location will do no good as mame can no longer read it there. Also to clarify what I meant, once the file is in the location mame expects to find it if you change the video line from auto to opengl. No other line would need changing. This would make mame use opengl by default rather than try to load bgfx.
          I’m glad it works either way for you, but if you adapted those small changes things should work even better in the end.

          1. In my last comment, I put mame.ini in the ini folder, and it didn’t work. When I put mame.ini in the same place as the mame executable, OUTSIDE of the folder, it looks like it read the file. However, setting “video” to “opengl” does the same thing as mentioned before where roms won’t show in the ui. This also happens when using -video opengl from terminal. The only way to get the roms to show is by using my customized M64 script.

            I don’t know why this is, but works fine for me. The updated 0.255 for intel is awesome! Thank you Jay and Arbee.

          2. I’ll see if I can’t replicate this when I’ve a moment but during my testing roms did show in the gui (for me) but there could be something else at play there as well.

  2. Thanks for thr working Intel Version for Ventura 13.4.
    I start the executable with the M64 App again. Working fine!

Leave a Reply

Your email address will not be published. Required fields are marked *