• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
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.
  • R
    roslof
    last edited by 17 Oct 2020, 03:10

    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 17 Oct 2020, 12:06 Reply Quote 0
    • B
      barbudreadmon @roslof
      last edited by 17 Oct 2020, 12:06

      @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

      R 1 Reply Last reply 17 Oct 2020, 14:59 Reply Quote 0
      • R
        roslof @barbudreadmon
        last edited by 17 Oct 2020, 14:59

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

        R 1 Reply Last reply 17 Oct 2020, 20:08 Reply Quote 0
        • R
          roslof @roslof
          last edited by roslof 17 Oct 2020, 20:08

          @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 18 Oct 2020, 06:43 Reply Quote 0
          • B
            barbudreadmon @roslof
            last edited by 18 Oct 2020, 06:43

            @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
            5 out of 5
            • First post
              5/5
              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.

              This community forum collects and processes your personal information.
              consent.not_received