23 December 2018

Using and configuring Joysticks with M.A.M.E./QMC2 - Update December 2018

Update December 2018: First thing to do is to test whether your joystick is fully functional under MacOS. The easiest way to do is to use an online Gamepad Tester like this one:
http://html5gamepad.com/
This gives you a basic understanding of whether your gamepad works in your OS or not. In the case of the PS4 controller, for example, everything shows up under Safari (Google Chrome misses out on the PS Button as B12), which gives you a good first feeling that this joypad should work in MacOS software.

Second, if it works, you have two choices: 

1. Leave it as is: My first joypad, for example was a Logitech F310 Gamepad, a good choice. Switched on the backside to Direct Input, it runs out of the box in QMC2. No drivers under MacOSX required.

Update November 2016: Since the X Input mode emulates XBox controllers, I gave this XBox driver from Github a try - and it works! The immediate advantage is that all things are configurable in the MacOS System Settings, and RetroArch automatically assigns the joypad to XBox configuration, which is nice. Further insights will follow, but that's a good thing. It is fully compatible with MacOS Sierra.




As a second joypad, I went for a PS4 controller, and this thing rocks, both on USB and Bluetooth. No additional drivers required. Build quality is superb, this is a clear recommendation. It is still my favorite joypad for MAME.




Read further for MAME Joystick settings...

MAME in MacOS 14.14 Mojave, Thoughts on Significance of GPU

After the hickups around upgrading iMacs equipped with Fusion Drives have been sorted out, I upgraded to MacOS Mojave. Also for MAME, it was definitely worth it.

For all of you having Fusion Drives plus Bootcamp on your Mac - it is finally safe to upgrade, provided that you first backup your Windows data, delete your Bootcamp partition and do the upgrade to Mojave thereafter: https://support.apple.com/en-us/HT209057 (worked perfectly for me). My Fusion Drive is finally on APFS. Also the installation of Windows 10 via Bootcamp was entirely flawless.

Speaking of Mojave - I really love the new Dark Mode.

 

So what about MAME in Mojave - here I have really good news. From my first benchmark tests, Mojave seems to bring quite consistent performance increases to MAME running BGFX/Metal. This is the command from the Terminal:
./mame64 -window -video bgfx -str 60 -noafs -bgfx_screen_chains crt-geom-deluxe -bgfx_backend metal -noreadconfig -nosleep -nothrottle ROMFILENAME
In both instances the current MAME 0.204, with and without Artwork

Game
High Sierra
Mojave
1942 (Revision B)
743.95% / 761.62%
 771.05%/767.06%  
1943
707.83% / 760.09%.
704.09%/761.15%
3wonders
577.99% / 582.34%  
822.15%/604.72%
elevator
588.24% / 587.99% 
603.27%/604.03%
gyruss
370.31% / 379.10%
545.74%/590.24% 
Inthunt
584.24% / 570.71%  
615.52%/592.22%
mslug
605.41% / 610.59%
610.48%/619.22%
offroadc
149.43% / 167.06%
285.55%/284.72%
rtype
676.01% / 631.30%
696.62%/658.33%

I immediately noted the quite significant performance in Gyruss and Offroad Challenge. Which brought me to a long-standing question:

How important is the GPU of your Mac for MAME performance?

01 December 2018

41.000 page views later ... the state of MAME on MacOS

I remember January 2016, when I started this Blog. MAME on MacOS was working, but a somewhat limited venture with scarce information being available on the Internet. I started this blog based on my own trial and error attempts. Since then a lot has changed to the better. 44 posts and 41.000 page views later, it's time to have a look at the current state of MAME on Macs.  

The bright side of things:
The mixed picture:
  • With newer versions of MAME (still have to figure out since when), the CRT-GEOM OpenGL shaders tested here no longer work. So you need to rely on BGFX with similar performance in the CRT-GEOM shader, which is basically no problem.
  • Retroarch/MAME would be great, but only old versions work on Macs. The MAME/current core is outdated. MAME 2010 is decent for old school games, but from time to time buggy in my own testing. I am unsure about the stability of the Metal driver of Retroarch, it seems to crash from time to time. Retroarch/MAME under Ubuntu is a by far more stable experience (though it also has its limitations). I am particularly missing the brilliant Runahead feature in MAME/current cores (for Linux as well). So while I am constantly looking into this, current limitations are too many for a good MAME experience. 
  • What about OpenEmu? While I really appreciate their Mac approach on emulation, it simply comes with too many limitations in MAME - for a reason the MAME emulation is only experimental in OpenEmu. OpenEmu seems to use version 0.169 of MAME, and if I am not mistaken, this is also where Retroarch/MAME currently stands. Despite the higher learning curve, I would prefer Retroarch over OpenEmu.
What is still true for MAME in overall:
  • For best MAME experience, you should not shy away from text editors and config files. You will have a better system if you do your configuration in these files manually. Don't rely on frontends for configuring MAME - but go this way:  https://mameonmacs.blogspot.com/2017/05/mame-0185-from-scratch-via-mewui-update.html
  • Shaders and in-game artwork (bezels and backtrops) make a huge difference. Just have a look at the title picture of this Blog, and you'll understand.
  • Also have a look at the special realistic artwork bezels that I am building up in this repository. I am still blown away by their quality (mainly created by John Merrit and Orionsangel): https://github.com/estefan3112/MAME-Realistic-Bezel-Artwork
Since MAME lives from the community, may I repeat that any feedback form your side is much appreciated! Apologies for missing out on them from time to time, but I surely read them all. 

29 November 2018

41.000 page views later ... the state of MAME on MacOS

I remember January 2016, when I started this Blog. MAME on MacOS was working, but a somewhat limited venture with scarce information being available on the Internet. I started this blog based on my own trial and error attempts. Since a lot has changed to the better. 44 posts and 41.000 page views later, it's time to have a look at the current state of MAME on Macs.  

The bright side of things:
The mixed picture:
  • With newer versions of MAME (still have to figure out since when), the CRT-GEOM OpenGL shaders tested here no longer work. So you need to rely on BGFX with similar performance in the CRT-GEOM shader, which is basically no problem.
  • Retroarch/MAME would be great, but only old versions work. The MAME/current core is outdated. MAME 2010 is decent for old school games, but buggy in my own testing. I am unsure about the stability of the Metal driver of Retroarch, it seems to crash from time to time. Retroarch/MAME under Ubuntu is a by far more stable experience (though it also has its limitations). I am particularly missing the brilliant Runahead feature in MAME/current cores (for Linux as well). So while I am constantly looking into this, current limitations are too many for a good MAME experience. 
  • What about OpenEmu? While I really appreciate their Mac approach on emulation, it simply comes with too many limitations in MAME - for a reason the MAME emulation is only experimental in OpenEmu. OpenEmu seems to use version 0.169 of MAME, and if I am not mistaken, this is also where Retroarch/MAME currently stands. Despite the higher learning curve, I would prefer Retroarch over OpenEmu.
What is still true for MAME in overall:
  • For best MAME experience, you should not shy away from text editors and config files. You will have a better system if you do your configuration in these files manually. Don't rely on frontends for configuring MAME - but go this way:  https://mameonmacs.blogspot.com/2017/05/mame-0185-from-scratch-via-mewui-update.html
  • Shaders and in-game artwork (bezels and backtrops) make a huge difference. Just have a look at the title picture of this Blog, and you'll understand.
  • Also have a look at the special realistic artwork bezels that I am building up in this repository. I am still blown away by their quality (mainly created by John Merrit and Orionsangel): https://github.com/estefan3112/MAME-Realistic-Bezel-Artwork
Since MAME lives from the community, may I repeat that any feedback form your side is much appreciated! Apologies for missing out on them from time to time, but I surely read them all.

19 November 2018

Attract Mode 2.5.1 released and MAME Exit Freeze Resolved

While Atteact Mode undergoes further improvements with a release of v.2.5.1, the really big news of this weekend is that a forum user finally found the right settings under Windows 10, and this immediately resolved my problems in MacOS High Sierra as well:

The only thing I had to change was in the Emulator settings - specifically for MAME:
Non-blocking wait mode - change from 0 to 1

That's all. Now MAME correctly exits back to Attract Mode on my machine just as before. No hanging black screens and force-quit of AM any longer. Very good - kudos to user mrteeney!

Sources:
http://forum.attractmode.org/index.php?topic=2589.0
https://github.com/mickelson/attract/issues/374


28 October 2018

Brief Update on Attract Mode 2.5 official (Update 2 on 11 Nov)

Update 2 - a word of caution: Since I updated to Attract Mode 2.5, I am another victim of the infamous 'MAME loses focus' bug as described here:
http://forum.attractmode.org/index.php?topic=2589.0
This bug makes the Attract Mode - MAME combination unusable because I need to force quite Attract Mode every single time I exit a MAME game. So if you have an older running system, it might be a good idea to avoid it for the time being.

Update: Attract Mode 2.5 has been released - so grab the Mac binary and enjoy!


Attract Mode has again become better. Now there is really nothing to complain on Macs as well. I also include instructions how to compile Attract Mode by yourself.

A fast photo taken from my iMac running Attract Mode and Cosmo's Layout
My recommendations for running Attract Mode with MAME:

1. Compile your own binary, it just works and you have some very nice improvements implemented (most of all, very fast artwork loading). What you need is not that much:
(a) Homebrew: you should have it installed and be accustomed with it
(b) Homebrew recipies "pkg-config", "ffmpeg", "sfml" and "libarchive" 
(c) Get the Attract Mode source code from github: https://github.com/mickelson/attract
(d) Move the source code to /private/tmp/ - the source code will be deleted at reboot
(e) In the Terminal, switch to the following Attract Mode source code subdirectory:
       /private/tmp/attract/util/osx
(f) Execute the following script in the Terminal
       ./create-pkg.sh
This creates a MacOS package for installing Attract Mode via Drag&Drop in the attract directory.


2. Recommended Layout: Cosmo Arcade

3. For instructions on setting up Attract Mode and Layouts, just search for 'attract' in my blog or just jump to this post:


Should you still hesitate, believe me: It is really worth the time. Best gaming experience you can get on your Mac.

01 September 2018

MAME 0.201 - Major BGFX Performance Achievements!

We have been waiting for this for a long time: MAME 0.201 finally fixes the problem with BGFX when running Artwork Bezels 

As of MAME 0.201, you can run BGFX/Metal shaders along with Artwork bezels without taking a huge performance hit. This is really great news. BGFX/Metal is finally becoming stable on Macs.

Just to remind you why Artwork matters (click to enlarge):


My iMac running 1943
My iMac running 1943 with Artwork












Here is my testing of MAME 0.200 vs. 0,201 in BGFX/crt-geom-deluxe/Metal with Artwork/without Artwork - from the Terminal in the MAME main directory:
./mame64 -video bgfx -str 60 -noafs -bgfx_screen_chains crt-geom-deluxe -bgfx_backend metal -noreadconfig -nosleep -nothrottle (-nobezel) (romfilename)

28 July 2018

Attract Mode 2.4.0 is out - for MacOS as well!

Very exiting news - after a very long time since version 2.0, there is a new version 2.4.0 out that also includes a MacOS bundle. In this blog, you will find quite extensive articles about setting up a superior frontend for MAME under MacOS. All should work in this version as well.

At first glance, everything seems to work just as it should, but I will do further thorough testing. It is just great to have an official MacOS release out again.


And enjoy!

Important when running MAME: Be sure to have the lower right corner not activated as Hot Corner, as described here:
https://github.com/mickelson/attract/issues/472
If activated as Hot Corner, Attract Mode starts into the screensaver, and if you have your screensaver protected with your password, you can only shut down your Mac!
In newer attract.cfg versions, you will find this option:
move_mouse_on_launch no
This option disables moving the mouse to a corner -> another way of solving it. Be sure that your attract.cfg contains this line.

Just to remind you of my tutorials for setting up Attract Mode under MacOS:

Part 1 - https://mameonmacs.blogspot.com/2017/01/attract-mode-for-mame-under-osx.html
Part 2 - https://mameonmacs.blogspot.com/2017/01/attract-mode-for-osx-setup-part-2.html

18 April 2018

Testing Out MAME Retroarch

Mini Update November 2018: Since Retroarch/MacOS is still not ready for prime time, this is about testing out Retroarch, MAME official is still my favorite.

So I have been testing out Retroarch for quite some time, and only as of the most recent Nighty 1.7.2 builds, I realized that it is time to switch from MAME to test out Retroarch. Here I will explain why I believe that Retroarch - even with old MAME Cores - can provide the best retrogaming experience so far.

UPDATE 24 April 2018: Retroarch 1.7.2 is out as a stable build, so grab it here.

If you have never dealt with Retroarch - look into ETA Prime's brand new video on installing Retroarch that also works on Macs: 

If your Mac has an NVidia Card, I recommend that you try out the CG version of Retroarch because it has an abundance of shaders on board. 

Here is an overview of the Retroarchs pro's and con's:

+ The brand new Runahead feature of Retroarch 1.7.2 also works on MAME and is a game changer. With a Runahead of two frames, the very snappy Arcade games, such as 1942, Pacman, Gyruss and the like, for the first time are as snappy as expected. If you are in games such as 1942, just try it in RetroArch with the 2 frames Runahead feature - and you will be blown away by its immediate snappyness.
Here is the explanation of the Runahead feature: 
Note: For this crucial feature, you must install a Nightly Build of Retroarch on your Mac.

+ If you like to experiment with different shaders, Retroarch is paradise. In fact, you could be lost in the sheer amount of different shaders. In any case, it is safer to load the pre-defined Shader Presets.  My favorite shader is called x4br-hybrid-crt.cg (it is also available in OpenGL). This shader brings a very attractive combination of xbr Scaling with crt-type scanlines. The results are very pleasing to me, a kind of slight modernization, but still with sufficient retro feeling.

Wonderboy In Monsterland with x4br-hybrid-crt Shader - best of both worlds (click to enarge)
+ Retroarch is already very strong in reckognizing joysticks from scratch. My PS4 joyapd via USB works extremely well. Combined with the Runahead feature, hardly to beat for me.

+ The MAME 2010 Core finally is ready for productive use. It has internal Highscore support out of the box, and most games just work very nicely.

Here is what you need to know about the drawbacks of Retroarch compared to native MAME:

- The MAME current Core of Retroarch does not compile in MacOS, and neither does the Linux Core work on my machine. MAME 2010 works very well, so you miss out on all enhancements in MAME since 2010. If you are, like me, with Arcade Classics, you probably do not miss an awful lot.

- With the different MAME Cores, Rom management becomes a challenge. You will have to deal much more with Rom problems, and Roms that work on one core by far do not always work on another Core.

- In overall, Retroarch has a steep learning curve, but if you ask me, it's worth it for perfecting your Arcade game experience.

Update since my tests: Unfortunately MAME 2010 proves to be buggy, I would love to explain in more detail, but can't. Some games crash after some time. So all in all, it is too early for me to move.





02 March 2018

MAME 0.195 is a good build on Macs

From my first tests, MAME 0.195 is a nice build: It compiles nicely and has a running BGFX/Metal backend. I spotted some irregularities in BGFX, but all in all my favorite games seem to run smoothly. As always, the list of changes is overwhelming.

08 January 2018

MAME 0.193 and Dave Haywoods Review of MAME in 2017

As pointed out by the developers here, MAME 0.193 seems to have issues in BGFX - at least in the Windows build. Although I did not encounter those in the official Mac build, it seems to me that the nothrottle command does not seem to work in BGFX because all games run at exactly 100% in  BGFX.

Important Update: I moved to MacOS High Sierra due to Spectre and the Meltdown. Here I see a consistent decrease of performance by up to -15% in the games I had tested before. This seems to be consistent with predictions in the tech community. This observation currently only applies to OpenGL, since BGFX for some reason does not execute the -nothrottle option in MAME 0.193.

Before that, under MacOS Sierra, I had noticed quite significant performance gains under OpenGL/CRT-GEOM Deluxe of 10-20% in nothrottle mode.

And if you want to have an impressive overview of what happened in 2017 on the MAME side, this is a must read: https://mamedev.emulab.it/haze/2017-new-focus/
A very impressive summary and many nice screenshots. So that you know what you should test on your newer MAME systems.