RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    lr-mame: Cinematronic Changes and the Pi 4B

    Scheduled Pinned Locked Moved General Discussion and Gaming
    lr-mameexperimentalaudioperformanceupstream
    5 Posts 2 Posters 616 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • roslofR
      roslof
      last edited by

      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.

      B 1 Reply Last reply Reply Quote 0
      • B
        barbudreadmon @roslof
        last edited by

        @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

        FBNeo developer - github - forum

        roslofR 1 Reply Last reply Reply Quote 0
        • roslofR
          roslof @barbudreadmon
          last edited by

          @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?

          roslofR 1 Reply Last reply Reply Quote 0
          • roslofR
            roslof @roslof
            last edited by roslof

            @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.

            B 1 Reply Last reply Reply Quote 0
            • B
              barbudreadmon @roslof
              last edited by

              @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.

              FBNeo developer - github - forum

              1 Reply Last reply Reply Quote 0
              • First post
                Last post

              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.