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.2k Posts 35 Posters 6.0m 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.
    • F
      Folly @DTEAM
      last edited by Folly

      @dteam

      I updated the old download script (get-cheats-artwork-overlays.sh) to our new location.
      So when someone finds it in the thread, it will work also.

      I choose not to change the names of the handheld systems.
      It can be done easily, because I tested this, but also other things have to be changed as well and we already had these names from the beginning.

      So, for now, I prefer to add an extra condition to detect whether it's a mamedev system name or an own created retropie name.
      So when generating for the mamedev tigerh name, lines will be added,
      and when generating for the own created retropie tigerh name, lines will not be added.
      This should be a fix for now.

      1 Reply Last reply Reply Quote 1
      • H
        hhtien1408 @Folly
        last edited by

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

        @hhtien1408

        Thanks !
        Seems you made a good description.

        If I have some energy left, I will look into it some more.
        I will add the idea of implementing into post 1.

        You have to keep in mind that if I could implement it, the config structure has to be somewhat the same as we are using now with using lr-mess and mame.
        So I have to look at that too then.

        Right now there are other things that have more priority.
        So can't really tell when I am going to try this.

        I have already added the method for adding NES Datach. Tested and worked perfectly under Ubuntu.

        1 Reply Last reply Reply Quote 0
        • H
          hhtien1408 @Folly
          last edited by hhtien1408

          @folly Nice work for lr-mess. Please check my post for NES Datach.

          1 Reply Last reply Reply Quote 0
          • H
            hhtien1408 @DTEAM
            last edited by

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

            @folly
            For supracan, I remember that only the first game worked. Has it changed? I never had issues to load that emulator.

            Read my reply above. All supracan games should work.

            DTEAMD 1 Reply Last reply Reply Quote 2
            • H
              hhtien1408 @Folly
              last edited by hhtien1408

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

              @hhtien1408

              Great to hear you have found the solution !
              I will test your line.
              (edit : no luck on trying this oob, using mamearcade_libretro.so on pi4)
              Perhaps something to implement for the future if it can be "cracked".

              Using mamearcade_libretro.so on pi4 does not work for sure because it is just for arcade, not including software list (the same with the one built from source as I told in the post at the beginning)
              For example, I am using Linux Debian, I will download this build:
              https://buildbot.libretro.com/nightly/linux/x86_64/latest/mame_libretro.so.zip
              In your case, you should choose the suitable build for arm here
              https://buildbot.libretro.com/nightly/linux/
              Noted that mame_libretro.so: arcade + non-arcade (softlist)
              mamearcade_libretro.so: arcade only)
              I have faced your situation before. I have added to my guide above.

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

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

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

                @folly
                For supracan, I remember that only the first game worked. Has it changed? I never had issues to load that emulator.

                Read my reply above. All supracan games should work.

                Same problem with your line. Only one game works, Boom Zoo.

                H 1 Reply Last reply Reply Quote 0
                • H
                  hhtien1408 @DTEAM
                  last edited by hhtien1408

                  @dteam All of supracan games works well under lr-mame with my scripts atm. Tested on Ubuntu Debian 21.04. I am playing dtc_dbz (Datach Dragon Ball). I don't know why you cannot make it work.

                  F 1 Reply Last reply Reply Quote 0
                  • F
                    Folly @hhtien1408
                    last edited by

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

                    @dteam All of supracan games works well under lr-mame with my scripts atm. Tested on Ubuntu Debian 21.04. I am playing dtc_dbz (Datach Dragon Ball). I don't know why you cannot make it work.

                    That is really great to hear that it can work !

                    If we can we will try again for ourselves.

                    But forgive me for saying, the solution you gave isn't really portable yet to the development of our generation script.

                    Perhaps nobody sees it, but everything it's quite structured.
                    The structure is there because it has to work with the most/if not all systems that are in the mamedev source.

                    So we are looking for a solution within our structure and it has to work on the pi4 and if it can work other systems that would be nice too.

                    Knowing now that you can get it working.
                    My question is, can you try for us and get it working on the pi4, if you have one ?

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

                      @hhtien1408
                      I confirm ! It works. The first time, I didn't copy your mame_libretro.so properly
                      Quick question, what is your best bsnes emulator in your list?

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

                        @dteam

                        Now that you can get it working also....
                        Does it also work if you use the lr-mame source install ?
                        I know it will take some time to compile, but can you try that too ?

                        DTEAMD H 3 Replies Last reply Reply Quote 0
                        • DTEAMD
                          DTEAM @Folly
                          last edited by

                          @folly
                          From precompile they only use mamearcade_libretro.so and not mame_libretro.so. My last update is 2 weeks ago. If nothing change, It will be the same result. I'll try from source today.

                          D H 2 Replies Last reply Reply Quote 0
                          • H
                            hhtien1408 @Folly
                            last edited by

                            @folly I sold rpi3 last year so I cannot test for you. If my command lines do not work for you and others, the problem may be the difference in OS (just a guess). Make sure you download the lr-mame suitable for your rpi4 arm from buildbot RA as I reminded you.
                            If I have time, I will upload pictures and videos later.
                            On my thought, rpi4 should work due to the linux similarity btw rpi4 and Linux Debian Gnome40.
                            So my solution is only confirmed works well under Ubuntu Debian!

                            1 Reply Last reply Reply Quote 0
                            • D
                              dmmarti @DTEAM
                              last edited by dmmarti

                              I still use the original Valerino version of the additional launcher script (run_mess.sh)....but here's how I got the NES Datach roms to launch.

                              I didn't spend time breaking it out into it's own system as I was just experimenting on getting it working (so I just added it to the existing nes config).

                              This is the line I added to my /opt/retropie/configs/nes/emulators.cfg file:

                              lr-mess-nes-datach = "/home/pi/RetroPie-Setup/scriptmodules/run_mess.sh /opt/retropie/emulators/retroarch/bin/retroarch /opt/retropie/libretrocores/lr-mess/mess_libretro.so /opt/retropie/configs/nes/retroarch.cfg nes /home/pi/RetroPie/BIOS -cart1 datach -cart2 %ROM%"

                              You have to add the "-cart1 datach -cart2" values into the emulator's line in order for it to pass it all correctly for run_mess.sh and Retroarch to use it.

                              Tested and working on my Pi 4 RetroPie build.

                              Hope that helps,

                              David

                              H 1 Reply Last reply Reply Quote 1
                              • H
                                hhtien1408 @Folly
                                last edited by

                                @folly lr-mame buit from source should not be worked with softlist (just for arcade only). The buildbot I suggested is for both arcade and softlists. Please read my guide again.

                                1 Reply Last reply Reply Quote 0
                                • H
                                  hhtien1408 @DTEAM
                                  last edited by

                                  @dteam That’s why I should use the binary from buildbot (mame_libretro.so including both arcade and non-arcade - softlists). Please read my guide above again. All your problems are my problems I used to face.

                                  1 Reply Last reply Reply Quote 0
                                  • H
                                    hhtien1408 @dmmarti
                                    last edited by hhtien1408

                                    @dmmarti Great to make it work under lr-mame with Datach. Can you write you runcommand again? Right?
                                    I used to make it the same under lr-mame but it just bring me to NES system, I should choose Datach and insert cart 2 manually.

                                    lr-mame-nes-datach = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame/mame_libretro.so /opt/retropie/configs/nes/retroarch.cfg nes /home/RetroPie/BIOS -cart1 datach -cart2 %ROM%"
                                    

                                    I don’t know run_mess.sh is for?
                                    Hope you could help me. In fact, I make Datach work under mame standalone (not lr-mame) even though lr-mame works well with Msupracan games.

                                    D 1 Reply Last reply Reply Quote 0
                                    • D
                                      dmmarti @hhtien1408
                                      last edited by

                                      @hhtien1408 .. the work that @Folly and @DTEAM have been doing is a further continuation of the original script/idea from @valerino (see his other post for it and the run_mess.sh script information).

                                      The way we are making it work with Retroarch and the lr-mess core on a RetroPie build is by sending an additional MESS *.cmd launcher file to the core (much like you used to do with standalone MESS in the past).

                                      This way we do not use software list conformity (don't have to use MESS's special rom filename, etc)...and we can pass additional parameters (like different -cart assignments, BIOS assignments, and RAM configurations).

                                      This makes is pretty easy to get any MESS based system up and running with Retroarch/MESS core in Retropie. Although, like this NES Datach system, sometimes we have to play around a bit with the passed parameters in order to get it to work. TI-99 I think was another one that had some special tweaks to it (can't remember exactly what).

                                      So, in this way, passing "-cart1 datach" and then "-cart2 %ROM%" ... let's us use the MESS *.cmd launcher script to get it working.

                                      I'm sure there's other ways, but in my testing this morning, that's how I got it working. These Datach roms are special somehow. I downloaded the official stand alone MAME today and verified it does not have a system called "nes_datach" but was also able to launch these roms using the "cart1 datach -cart2 romfile" method.

                                      Hope that makes sense,

                                      David

                                      H 1 Reply Last reply Reply Quote 1
                                      • H
                                        hhtien1408 @dmmarti
                                        last edited by hhtien1408

                                        @dmmarti
                                        It just bring me to NES system, I should choose Datach and insert cart 2 manually. If I paste the command line (nes datach -cart2) into official mame, it should work.
                                        Maybe enabling the softlist of lr-mame/mess does not allow my code line to pass to assign cart 1 (datach) and cart 2 (game like dtc_dbz). Your method does not use softlists, so no hash folder located at /BIOS/mame is not needed? Right?
                                        Could you explain step by step to use your method if I am using lr-mame (opt/retropie/libretrocores/lr-mame/mame-libretro.so)? Thanks.
                                        P.S. Success with mame standalone as I told in my guide above but no RA.

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

                                          @folly @hhtien1408

                                          All supracan games work wells also with (emulators.cfg):

                                          mame-basename = "/opt/retropie/emulators/mame/mame -v -c supracan %BASENAME%"
                                          mame-basename-autoframeskip = "/opt/retropie/emulators/mame/mame -v -c -autoframeskip supracan %BASENAME%"
                                          lr-mess-cmd = "/opt/retropie/emulators/retroarch/bin/retroarch --config /opt/retropie/configs/supracan/retroarch.cfg -v -L /opt/retropie/libretrocores/lr-mess/mess_libretro.so %ROM%"
                                          mame-system-supracan-cart = "/opt/retropie/emulators/mame/mame -v -c supracan -cart %ROM%"
                                          mame-system-supracan-cart-autoframeskip = "/opt/retropie/emulators/mame/mame -v -c -autoframeskip supracan -cart %ROM%"
                                          

                                          for Basename you need to add this rom path in opt/retropie/configs/mame/ mame.ini (for people who want to use the hashfiles (gamelist))

                                          /home/pi/RetroPie/roms/supracan
                                          

                                          I deleted my supracan folder and regenerated it with the script. Everything is fine now. I don't know why only the first game loaded before reinstalling everything.

                                          The non-working options are :

                                          lr-mess-basename = "/opt/retropie/emulators/retroarch/bin/retroarch --config /opt/retropie/configs/supracan/retroarch.cfg -v -L /opt/retropie/libretrocores/lr-mess/mess_libretro.so %BASENAME%"
                                          lr-mess-system-supracan-cart = "/home/pi/RetroPie-Setup/scriptmodules/run_mess.sh /opt/retropie/emulators/retroarch/bin/retroarch /opt/retropie/libretrocores/lr-mess/mess_libretro.so /opt/retropie/configs/supracan/retroarch.cfg \supracan /home/pi/RetroPie/BIOS/mame -autoframeskip -cart %ROM%"
                                          mame-cmd = "/opt/retropie/emulators/mame/mame -rompath /home/pi/RetroPie/roms/supracan -v -c %BASENAME%"
                                          mame-cmd-autoframeskip = "/opt/retropie/emulators/mame/mame -rompath /home/pi/RetroPie/roms/supracan -v -c -autoframeskip %BASENAME%"
                                          

                                          sometime, with those last options, the emulator load but not the game

                                          F H 2 Replies Last reply Reply Quote 1
                                          • F
                                            Folly @DTEAM
                                            last edited by Folly

                                            @dteam

                                            Confusing, but yes indeed, with the normal -cart lines they do load properly.
                                            I have had that working too, earlier on.
                                            But some games don't work as they should and sound is missing too.
                                            Do you have that same problem ?
                                            I was thinking the lr-mame_libretro.so way booted them better.
                                            Btw. I also tried with the mame-basename without succes, and yes I added /home/pi/RetroPie/roms/supracan in mame.ini .
                                            It seems it is not loading the rompath from the mame.ini.
                                            Forcing it in the commandline is working now using this :

                                            /opt/retropie/emulators/mame/mame -hash /opt/retropie/emulators/mame/hash -rompath /home/pi/RetroPie/roms/supracan -v -c supracan sangofgt
                                            

                                            I will test this part again on where it is going wrong.

                                            I did have a go again with with the lr-mame_libretro.so.
                                            No luck with the lr-mame_libretro.so nightly on pi4, it seems a 64bit one, and I run 32bit OS.
                                            So tried on my x86_64 ubuntu 20.04.
                                            Well boomzoo loaded, but others, no.

                                            DTEAMD H 2 Replies 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.