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:
- Moon Patrol: noticeable smoother side scrolling in FB Neo
- Gyruss: noticeable smoother 3D scrolling in FB Neo
- Phoenix: noticeable smoother alien movements in FB Neo
- No games so far, in which MAME would have the edge (if FB Neo supports the game). Testing continues.
- Be sure to use the Metal version of RetroArch 1.9.2.
- Since some versions, the MAME Metal backend is very slow, so you end up with OpenGL, which did not get any updates from Apple since some MacOS versions.
- Within RetroArch, FBNeo provides some funky additional options that further enhance playability.
Supported games: MAME is the clear winner, but FB Neo 1.0.0.2 significantly increased supported games. In the classical Arcade section, there are not so many games left where you must rely on MAME.
Latency: This is where FB Neo shines again, as it supports the Retroarch Run Ahead feature. MAME just cannot match the snappiness of FB Neo with activated Run Ahead feature (1 frame Run Ahead suffices).
Shaders: If you can handle RetroArch shaders, FB Neo is the clear winner. As you can see above, I tweaked the crt-guest-dr-venom2 shader to something really nice (I tweaked the overall screen resolution, the curvature and the faded edges). But shaders and options are overwhelming - I will probably write a recommendation for this shader.
Bezels: MAME wins, as it provides for the better infrastructure, in which you can do far more enhanced stuff. RetroArch bezels work (see the new title photo), but with the greatest disadvantage that they do not automatically scale to the screen resolution. So with every new screen resolution, you must adjust the bezel settings.
Highscores: MAME is the clear winner. Unfortunately, FB Neo does not save high scores if you activate Run Ahead. As a workaround, you have to use the RetroArch save states - which however provide for a very powerful system. Automatically saving and loading save states is also an option.
Conclusion
If you focus on playability and smooth performance on Macs, Final Burn Neo and RetroArch are the place to be, if your games are supported.
See also the nice article written on libretro.com:
https://www.libretro.com/index.php/final-burn-neo-1-0-0-02-release/
To Do
I have already started a long RetroArch How-To, and this release provides further motivation to complete that one.
Hi Estefan, Matteo from Italy here.
ReplyDeleteI'm a huge fan of your blog! I'm a mama on Mac addict too.
I'm "working" on many project (bartops, front-ends, etc.) involving mama on Macs, but there's a problem I can't resolve. I've read everything on the net but ...nothing.
I think you're the only one who can help me :)
How can I contact you (mail or other method). I really need your help mate!
Thanks a lot in advance.
Matteo
I forgot, you can contact me at 816bit@gmail.com
ReplyDeleteThanks!
Well, I'll try to explain here...
ReplyDeleteThis is the problem.
I'm running retroarch with mame on my mac.
I use overlays. I resize them and set custom height/width/x/y settings for each roms (via .cfg files) so that each game perfectly runs "inside" its bezel.
The problem is that since Retroarch (and mame?) run at full screen using the current desktop resolution, if I correctly set all overlays and roms .cfg on my desktop computer (running i.e. @1980x1020), when I move to my laptop, using the same settings, everything is messed up, because my laptop starts at fullscreen using its own desktop resolution (i.e. @1440x900).
I'd like to force Retroarch (and/or mame?) to run at fullscreen at a fixed resolution (i.e. 1280x800, or anything else) so that the settings I apply to overlays and roms.cfg will be perfect on every computer I use regardless of its standard desktop resolution.
Just to mention, I've already use these options in retroarch.cfg (video_fullscreen = "true" - video_windowed_fullscreen = "false" - video_fullscreen_x = "1280" - video_fullscreen_y = "800"), but retroarch still runs at desktop resolution (i.e. on my desktop machine @1980x1020).
Reading the log file it states:
[INFO] [Video]: Video @ 1280x800
[INFO] [GL]: Found GL context: cocoagl
[INFO] [GL]: Detecting screen resolution 480x360.
[INFO] [GL]: Vendor: Intel Inc., Renderer: Intel(R) UHD Graphics 630.
[INFO] [GL]: Version: 2.1 INTEL-16.4.5.
[INFO] [GL]: Using resolution 1920x1200
[INFO] [Video]: Graphics driver did not initialize an input driver. Attempting to pick a suitable driver.
Thanks a lot in advance Estefan.
Matteo.
Hi Matteo, I am very sorry that I did not answer earlier - I am very lazy in this blog during summer. I will write you directly on your mail address, but the short answer is: MAME bezels scale automatically, while Retroarch bezels don‘t. That‘s why everything is messed up if you change resolution. At least I am not aware of a solution in Retroarch. If you switch resolutions, I would stick with MAME instead. Thanks for your kind wrds, as well! Best, Estefan
Delete