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

    Development of module-script generator for lr-mess, lr-mame and mame standalone

    Scheduled Pinned Locked Moved Ideas and Development
    developmentlr-messmamelr-mamescripts
    2.3k Posts 37 Posters 7.8m 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.
    • S
      shift
      last edited by shift

      Hi @Folly, I was testing the Jupiter Ace system (jupace) and I saw that to work correctly the "-ram 32k" parameter must be added, otherwise most of the roms don't work, I'm now using this command line:

      lr-mess-jupace-basename-32k = "/opt/retropie/emulators/retroarch/bin/retroarch --config /opt/retropie/configs/jupace/retroarch.cfg --appendconfig /opt/retropie/configs/jupace/retroarch.cfg.basename -S /home/pi/RetroPie/roms/jupace -s /home/pi/RetroPie/roms/jupace -v -L /opt/retropie/libretrocores/lr-mess/mamemess_libretro.so 'mame jupace -cfg_directory /opt/retropie/configs/jupace/lr-mess -c -ui_active -ram 32k -rompath /home/pi/RetroPie/BIOS/mame;/home/pi/RetroPie/roms/jupace/  '%BASENAME%''"
      
      

      when you get to the prompt, a precise line must be typed for each game (up to the "." if there is one, the rest are the game controls), for convenience here are those of all the games reported as working:

      3dmaze		load 3dmaze 3dmaze
      avoider		load avoider run
      invader1	load GR load GR load GR load GM load GM load GM z p
      aceinvad	load graphics gr load run run
      amce11	
      acemines	load mines mines
      acestar		0 0 bload astar 16384 call
      acevader	load gr load acevaders gr r. Z = left, X = right, M = fire
      adventa		0 0 bload adva 16384 call
      aliendef	load defender g
      amazmaze	load maze g
      astrian		load Lander run
      aticraid	load atic go
      blackisl	load black island
      bomber		load bomber play
      breakout	load breakout b. Left = A, Right = L
      callisto	8930 0 bload callisto
      cavern		load graphics load run gr run. A = up, Z = down
      cenipede	load centipede go
      chase		load chase chase. Cursor keys to move
      chess		load chess run
      dodge		load Dodger game
      ducksht		11272 0 bload dchars load duckshoot d. Fire = Enter
      firebird	load FIREBIRD run
      surround	load surround go
      frogger		load frogger go
      fungle		load FU run
      gobbgook	load gobblegook gobblegook
      grexfrog	load graphics load run grf run
      guessing	load game game
      kkong		load CHARACTERS CHARACTERS load KONG run
      lightrac	load LightRacer run
      memstars	load run run
      meteor		load gr meteor load meteor game
      metracer	load GR load GR load GR load GM load GM z p
      meteors		load asteroids g
      micromaz	load graphics load run s run
      minefld		11272 0 bload mchars load minefield m
      othello		load othello 11272 0 bload pieces go
      owler		load owler loading
      quickdrw	load quick-draw go
      quickdrp	load Qdraw run
      robohnch	load robohench g
      robohunt	load robohunt g
      sailhorn	load hornpipe hornpipe
      sambombs	load sam g
      sokoace		load sokoace play
      sacemap		load sokoed ed
      sbattle		load graphics load run gr run. Fire = F
      startrek	load startrek g
      sudoku		load sudoku sudoku
      schess2		load chess run
      tankbatl	load tankbattle g
      tetris		load tetris tetris
      hanoi		load hanoi hanoi
      turbo		load turbo 0 0 bload track turbo. Left = 5, Right = 6
      zapem		11272 0 bload zchars load zapem z. Left = 6, Right = 7, 9 = Thrust, 0 = Fire
      zombies		load zombpot zombpot
      
      FollyF 1 Reply Last reply Reply Quote 0
      • FollyF
        Folly @DTEAM
        last edited by Folly

        @DTEAM said in Development of module-script generator for lr-mess, lr-mame and mame standalone:

        Hi @folly, do you think it's possible to use Vulkan on pi5 for MAME standalone?

        I don't have much knowledge of that.
        Looked for some info and it seems it can use vulkan with BGFX stuff.
        That would mean background and shader stuff.
        On the stickfreaks website I found some info that it will not work correctly on Bullseye on the pi4.
        (https://stickfreaks.com/misc/raspberry-pi-4-mame-performance-guide)
        However for the pi5 this could be totally different.
        Seems that if the computer has it it will automatically be enabled.
        However not sure how one can see what is enable.

        DTEAMD 1 Reply Last reply Reply Quote 1
        • FollyF
          Folly @shift
          last edited by Folly

          @shift said in Development of module-script generator for lr-mess, lr-mame and mame standalone:

          Hi @Folly, I was testing the Jupiter Ace system (jupace) and I saw that to work correctly the "-ram 32k" parameter must be added, otherwise most of the roms don't work

          Ok, will do some tests.
          If -ram 32k is a good add-on I will add it to the script so it will be installed automatically when installing jupace.

          Thanks for the loader commands will have a look at them too.

          Edit 1 :
          Added the maximum of 48k to jupace when installing by default :
          https://github.com/FollyMaddy/RetroPie-Share/commit/c1d164d7e2b71a11c6a35d969f690fb60482dfac
          I tested it with 3dmaze and indeed adding ram works.

          Edit 2 :
          Loader commands can also be found in the hash table jupace_cass.xml

          1 Reply Last reply Reply Quote 0
          • DTEAMD
            DTEAM @Folly
            last edited by

            @Folly said in Development of module-script generator for lr-mess, lr-mame and mame standalone:

            I don't have much knowledge of that.
            Looked for some info and it seems it can use vulkan with BGFX stuff.
            That would mean background and shader stuff.
            On the stickfreaks website I found some info that it will not work correctly on Bullseye on the pi4.
            (https://stickfreaks.com/misc/raspberry-pi-4-mame-performance-guide)

            I found this (from 2020)
            https://retropie.org.uk/forum/topic/28362/enhanced-performance-of-mamedev-mame-in-x11/2

            FollyF 1 Reply Last reply Reply Quote 1
            • FollyF Folly referenced this topic on
            • FollyF
              Folly @DTEAM
              last edited by Folly

              @DTEAM

              Have read the topic link you proposed.
              Was indeed informing but hard to understand how things are really connected to each other.
              Seems resolution changes were working better with some drivers in x11 which improved the speed sometimes, right ?
              From my own perspective I have also seen these differences sometimes.
              Indeed Vulkan was mentioned having a possible impact when enabling BGFX and using the HLSL shaders.
              I think the questions would be :

              • When are resolution changes active underneath to perform speed improvements in drivers ?
                (using x11 or wayland in a desktop environment or not or in both situations and or using older or newer RaspberryPi's)
              • When is Vulkan installed and how can we check ?
              • Is Vulkan part of the mesa package ?
              • What does the mesa package do ?
              • When is Vulkan active ?
                (using x11 or wayland in a desktop environment or not or in both situations and or using older or newer RaspberryPi's)
              • Do we use HLSL shaders in our drivers, for example with the handheld ?

              What do you think are these questions correct ?

              Edit :
              We might find more info over here about mesa.

              DTEAMD 1 Reply Last reply Reply Quote 0
              • DTEAMD
                DTEAM @Folly
                last edited by DTEAM

                @Folly said in Development of module-script generator for lr-mess, lr-mame and mame standalone:

                What do you think are these questions correct ?

                Vulkan could be useful for 3D consoles (like Dreamcast) or newer 3D arcade games (like Naomi 2) under MAME standalone. Maybe the results will be disappointing, but it would be good to do the test.

                FollyF 2 Replies Last reply Reply Quote 0
                • FollyF
                  Folly @DTEAM
                  last edited by

                  @DTEAM said in Development of module-script generator for lr-mess, lr-mame and mame standalone:

                  @Folly said in Development of module-script generator for lr-mess, lr-mame and mame standalone:

                  What do you think are these questions correct ?

                  Vulkan could be useful for 3D consoles (like Dreamcast) or newer 3D arcade games (like Naomi 2) under MAME standalone. Maybe the results will be disappointing, but it would be good to do the test.

                  I think there are indeed some drivers that could work faster.
                  However I don't expect 50 % speed increases.

                  1 Reply Last reply Reply Quote 1
                  • FollyF
                    Folly
                    last edited by Folly

                    Script and database are updated to 267.

                    S 1 Reply Last reply Reply Quote 1
                    • S
                      shift @Folly
                      last edited by shift

                      @Folly Thank You!

                      Meanwhile, I continue to point out those systems that require some adjustments to the scripts in order to work.

                      Orion-128
                      It has a really complicated operation

                      • cassette
                        The script I used is this:
                      lr-mess-orion128-cart-cass = "/opt/retropie/emulators/retroarch/bin/retroarch --config /opt/retropie/configs/orion128/retroarch.cfg --appendconfig /opt/retropie/configs/orion128/ retroarch.cfg.add -S /home/pi/RetroPie/roms/orion128 -s /home/pi/RetroPie/roms/orion128 -v -L /opt/retropie/libretrocores/lr-mess/mamemess_libretro.so 'orion128 - rompath /home/pi/RetroPie/BIOS/mame;/home/pi/RetroPie/roms/orion128/ -cfg_directory /opt/retropie/configs/orion128/lr-mess -c -ui_active -cart /home/pi/RetroPie/ roms/orion128/romdisk.zip -cass %ROM%'"
                      

                      the romdisk.zip (a cartridge) must necessarily be loaded and then the cassette, this is the procedure for loading the cassette:

                      Once the game is launched you will arrive at the Orion-128 prompt, immediately press the "Scroll Lock" button to change the focus
                      You will enter the ROMDISK GUI
                      Select CH4# and press ENTER (the LOADER will load)
                      At the BBOA prompt? press A (the cursor should stop flashing)
                      Refocus by pressing "Scroll Lock" (GAME OFF)
                      Press F2 to play the tape
                      Refocus by pressing "Scroll Lock" (GAME ON)
                      Alongside BBOA? you will see the name of the game you chose at the beginning appear
                      Once loading is complete, press F4 (the LOADER will close)
                      In the next column you will see the name of the game you loaded
                      Go right with the cursor arrows, select it and press ENTER
                      Type RUN and ENTER

                      • floppy
                        The script I used is this:
                      lr-mess-orion128-cart-flop1-flop2 = "/opt/retropie/emulators/retroarch/bin/retroarch --config /opt/retropie/configs/orion128/retroarch.cfg --appendconfig /opt/retropie/configs/ orion128/retroarch.cfg.add -S /home/pi/RetroPie/roms/orion128 -s /home/pi/RetroPie/roms/orion128 -v -L /opt/retropie/libretrocores/lr-mess/mamemess_libretro.so ' orion128 -rompath /home/pi/RetroPie/BIOS/mame;/home/pi/RetroPie/roms/orion128/ -cfg_directory /opt/retropie/configs/orion128/lr-mess -c -ui_active -cart /home/pi/RetroPie/roms/orion128/romdisk.zip -flop1 /home/pi/RetroPie/roms/orion128/floppy/game1715.zip -flop2 %ROM%'"
                      

                      Once the game is launched you will arrive at the Orion-128 prompt, immediately press the "Scroll Lock" button to change the focus
                      You will enter the ROMDISK GUI
                      Select Boot# and press ENTER (the first floppy that loads the Norton Commander will boot)
                      You will enter directly into the Norton Commander GUI
                      Press D to change drive press B (you should have the floppy you chose at the beginning)
                      The launchable games are the .com ones, select the one you want and press ENTER

                      EDIT: I moved the romdisk.zip cartridge to the correct folder, which is .../orion128/cart

                      FollyF 1 Reply Last reply Reply Quote 1
                      • FollyF
                        Folly @shift
                        last edited by Folly

                        @shift said in Development of module-script generator for lr-mess, lr-mame and mame standalone:

                        Good to hear you got Orion-128 working.

                        I saw you saying : "The script I used is this: ".
                        We call that a runcommand which is normally installed by the script, so there will be no misunderstanding in what we mean.
                        I see you have edited the runcommands to get them working for the Orion-128.

                        Will have a look at the Orion-128 when I can, and perhaps I can change the way things are installed.
                        With some drivers this is not always possible.
                        Initially these installs were added in systems with EXRAS.
                        However I try to add more stuff to the DEFAULT installs like adding more ram.
                        Will have a look at what is possible.

                        Thanks for explaining how this system driver works.

                        1 Reply Last reply Reply Quote 0
                        • FollyF
                          Folly @DTEAM
                          last edited by Folly

                          @DTEAM said in Development of module-script generator for lr-mess, lr-mame and mame standalone:

                          @Folly said in Development of module-script generator for lr-mess, lr-mame and mame standalone:

                          What do you think are these questions correct ?

                          Vulkan could be useful for 3D consoles (like Dreamcast) or newer 3D arcade games (like Naomi 2) under MAME standalone. Maybe the results will be disappointing, but it would be good to do the test.

                          I see you experimenting with other things on the forum like aethersx2 and using xinit with it, if I am correct.

                          If you run a headless distro (OS without desktop) then you could try to load mame with xinit in the runcommand and see if it gives some improvements.
                          Would like to hear if it works and if it gives some higher speeds.

                          S 1 Reply Last reply Reply Quote 1
                          • S
                            shift @Folly
                            last edited by

                            I'm experimenting with the pecom 64 (or pecom 32, it's the same because they use the same BASIC), but there's no way to make it load the cassettes. The command should be PLOAD (I also tried DLOAD) + Enter and then F2 to start the tape, but the system seems to do nothing, and remains stuck, as if waiting for data that doesn't seem to arrive. Has anyone tried to make it work? There are examples online but only with standalone emulators, not with mame.

                            FollyF 1 Reply Last reply Reply Quote 0
                            • FollyF
                              Folly @shift
                              last edited by Folly

                              @shift said in Development of module-script generator for lr-mess, lr-mame and mame standalone:

                              I'm experimenting with the pecom 64 or pecom 32

                              Will have a look at these.

                              Edit :
                              Very strange indeed.
                              No message of the driver that it is not working somewhere.
                              Also tried many things with no luck.

                              DTEAMD S 2 Replies Last reply Reply Quote 0
                              • DTEAMD
                                DTEAM @Folly
                                last edited by DTEAM

                                @Folly

                                You can run MAME with X-init, it works . Now we must try Vulkan. I don't know where it is in the MAME GUI.

                                try this or select another system

                                mame-GP32_xinit= "XINIT-WM: /opt/retropie/emulators/mame/mame -c -autoframeskip gp32 -memc %ROM%"
                                

                                Maybe you don't need X init like RetroArch, to be honnest I'm greener than green for this.

                                FollyF 1 Reply Last reply Reply Quote 0
                                • FollyF
                                  Folly @DTEAM
                                  last edited by Folly

                                  @DTEAM

                                  I am in desktop already so I assume vulkan is active if usable and there should be no need to use xinit then.
                                  Did some tests, and here are the results just booting up the driver without a game on my pi5 :

                                  pi@raspberrypi:~ $ /opt/retropie/emulators/mame/mame -ui_active -videodriver x11 gp32
                                  Warning: layout view 'Handheld' contains deprecated bezel element
                                  Warning: layout view 'Handheld' contains deprecated bezel element
                                  Average speed: 46.70% (10 seconds)
                                  
                                  pi@raspberrypi:~ $ /opt/retropie/emulators/mame/mame -ui_active -videodriver sdl gp32
                                  Could not initialize SDL sdl not available
                                  
                                  pi@raspberrypi:~ $ /opt/retropie/emulators/mame/mame -ui_active -videodriver x11 -renderdriver opengl gp32
                                  Warning: layout view 'Handheld' contains deprecated bezel element
                                  Warning: layout view 'Handheld' contains deprecated bezel element
                                  Average speed: 46.23% (4 seconds)
                                  
                                  pi@raspberrypi:~ $ /opt/retropie/emulators/mame/mame -ui_active -videodriver x11 -renderdriver software gp32
                                  Warning: layout view 'Handheld' contains deprecated bezel element
                                  Warning: layout view 'Handheld' contains deprecated bezel element
                                  Average speed: 32.61% (1 seconds)
                                  
                                  pi@raspberrypi:~ $ /opt/retropie/emulators/mame/mame -ui_active -bgfx_backend vulkan gp32
                                  Warning: layout view 'Handheld' contains deprecated bezel element
                                  Warning: layout view 'Handheld' contains deprecated bezel element
                                  Average speed: 45.93% (8 seconds)
                                  

                                  Not much difference except when using software rendering.

                                  DTEAMD 1 Reply Last reply Reply Quote 0
                                  • DTEAMD
                                    DTEAM @Folly
                                    last edited by

                                    @Folly

                                    I'm trying to run Naomi but it won't load . Are you able on your side? I'll try Dreamcast later .

                                    The big difference should be with these machines

                                    FollyF 1 Reply Last reply Reply Quote 0
                                    • S
                                      shift @Folly
                                      last edited by

                                      @Folly Exactly, it makes me think that the driver isn't working correctly

                                      FollyF 1 Reply Last reply Reply Quote 0
                                      • FollyF
                                        Folly @shift
                                        last edited by Folly

                                        @shift said in Development of module-script generator for lr-mess, lr-mame and mame standalone:

                                        @Folly Exactly, it makes me think that the driver isn't working correctly

                                        I found some remastered wav files too but they didn't work either.
                                        Also tried an old mame version (240) and got the blue load flickering and the sound of loading the tape was different but still no joy.

                                        I added the question here :
                                        https://forums.bannister.org/ubbthreads.php?ubb=showflat&Number=123545#Post123545
                                        But the Mame Team does always difficult ;-(

                                        S 1 Reply Last reply Reply Quote 0
                                        • S
                                          shift @Folly
                                          last edited by

                                          @Folly I read the initial driver info: src/mame/sfrj/pecom.cpp and I think the explanation is right here (TODO):

                                          Pecom driver by Miodrag Milanovic

                                          2008-11-08 Preliminary drivers.

                                          • All commands to be in UPPERCASE.
                                          • Change background colour: SCR n
                                          • Enter monitor: PROB (B to exit)
                                          • If Capslock is engaged, then Shift doesn't work.
                                          • Control hangs the machine while it is pressed. It doesn't work in the
                                            expected way.
                                          • Don't touch the Shift key while loading a tape because it will corrupt
                                            the date.
                                          • The screen will flash in a crazy epileptic fashion while loading a tape.
                                            Beware!

                                          TODO:

                                          • Cassette: can load its own recordings, but not those from software list
                                            (software-list tapes are slower & wobbly)
                                          • Both machines currently have 32k ram.
                                          • Autorepeat seems a bit fast
                                          FollyF 1 Reply Last reply Reply Quote 0
                                          • FollyF
                                            Folly @shift
                                            last edited by

                                            @shift said in Development of module-script generator for lr-mess, lr-mame and mame standalone:

                                            Cassette: can load its own recordings, but not those from software list

                                            Aha, that makes sense.

                                            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.