lr-mame: Cinematronic Changes and the Pi 4B
-
lr-mame is an Experimental system for RetroPie. Stability with this cutting-edge version of MAME is hit-and-miss.
Starting with MAME 0.223, the MAME developers implemented a long-awaited change. Audio for many Cinematronics games no longer require samples:
- Space War
- Armor Attack
- Barrier
- Boxing Bugs
- Rip Off
- Solar Quest
- Speed Freak
- Star Castle
- Star Hawk
- Sundance
- Tail Gunner
- War of the Worlds
- Warrior
6979: Added netlist-based audio for thirteen early Cinematronics vector games, and minimal artwork for Warrior. [Aaron Giles]
Be aware that lr-mame 0.223 and lr-mame 0.224 (current binary) have terrible performance issues with these games due to the change. The change is indeed working, but at a huge performance cost.
Potential good news is that it appears lr-mame 0.225 may have optimizations to netlist code:
-netlist: code maintenance and performance optimizations. [Couriersud] * rename some misleading type names * remove callback_t and replace by better scalable approach * hide implementations details * move sources classes from putil.h to psources.h * reduce code complexity * improve parsing performance, parsing netlists now is twice as fast. * fix issues around multi-byte string support * moved psplit into pstrutil.h
The RetroPie binary for 0.225 is not yet available, so you'll have to compile via source. It takes several hours to do this. Even so, this may not resolve the performance issue.
Calling this out to folks who frequently update the Experimental lr-mame. I personally reverted to MAME 0.222 without issue, but will experiment with 0.225 and see if things are reasonable with these classic games.
-
@roslof interested in knowing if netlist emulation will perform "ok" now with their new code, the fact it required kinda beefy devices is the main reason it was never implemented in FBNeo
-
@barbudreadmon said in lr-mame: Cinematronic Changes and the Pi 4B:
@roslof interested in knowing if netlist emulation will perform "ok" now with their new code, the fact it required kinda beefy devices is the main reason it was never implemented in FBNeo
Couple of things: I confirmed lr-mame source updated to 0.225 about 2 weeks ago. I have isolated a Pi 4B and am building lr-mame from source now.
Beyond testing Cinematronic games, is there anything else tied to netlist emulation you'd be interested in checking?
-
@barbudreadmon ran my control test (Star Castle) and there is no measurable improvement with 0.225 over 0.224.
Device:
Raspberry Pi 4B+
CPU 2000 (OC)
GPU 750 (OC)Star Castle
Alternate render method (enabled)
Main CPU Overclock (default)
Resolution (640x480)FPS (Idle | Normal Play)
lr-mame 0.222 (38 | 38)
lr-mame 0.224 (38 | 31)
lr-mame 0.225 (38 | 31)Note idle FPS is at max, but once you begin to generate new game events, framerate plummets and fluctuates around 31 FPS. Audio cuts out, as you would expect, negating any positive benefit of the netlist emulation change.
At this point there are well over a dozen games, some very popular, that will not play at max framerate with lr-mame 0.223 - current 0.225 on the best Raspberry device.
If these games are important to users/players, would advise sticking with lr-mame 0.222 and not update until optimizations are in place, or new hardware becomes available. Of course fb-neo is another alternative; however it's hard to beat the appearance of MAME's Alternate Renderer.
-
@roslof said in lr-mame: Cinematronic Changes and the Pi 4B:
not update until optimizations are in place
Well, i doubt that's gonna happen soon, netlist emulation has been around for 10 years and always required a somehow good cpu. It'll probably take some time before they make another breakthrough performance-wise, and i'm not sure the MAME team even care about performance in the first place.
@roslof said in lr-mame: Cinematronic Changes and the Pi 4B:
Of course fb-neo is another alternative
Actually, this driver is the only vector games driver we are missing. In my previous post i was talking about netlist emulation in general, since it's used in most 70s and early 80s games, i guess we'll keep using samples for now.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.