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 36 Posters 6.1m 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
      last edited by Folly

      @dteam said in Tutorial: Handheld and Plug & Play systems with MAME:

      @folly said in Tutorial: Handheld and Plug & Play systems with MAME:

      EDIT :
      There still seems to be an issue with artwork.
      lr-mess doesn't load roms if mame artwork is present in :
      /home/pi/RetroPie/BIOS/mame/artwork
      Both emulators seem to share the same directory structure.

      Normally, games run and lr-Mess loads Artworks if you are able to go in the MAME UI menu with lr-mame and select Artwork. For some reason, I'm able to go in MAME UI when I press (select and Y) and in Retroarch UI with (select and X). With Lr-mess, you have access to Retroarch artwork and mess artwork. Maybe the problem is there?

      I'm gonna try generate-systems-lr-mess_mame-1v8-alpha.sh tomorrow. What do you prefer that I test. Handheld games above, lr-Mess systems like Vectrex, NES, Artworks?

      @dteam

      Yes, it would be nice if you could test handhelds with mame and artwork.
      Can you then try if the handheld games also run with lr-mess ?

      Also testing some lr-mess systems using media would be great.
      As you said vextrex and nes will do for now.

      I like to hear what you think of the file/module naming and the commands that are being added in the emulators.cfg.
      Perhaps we can improve it somehow if we have better ideas.

      I added the version in the desired script and above systems are uncommented.
      So if you run the desired script it will generate those directly.

      The goal is to get it running with an original RetroPie-setup and that it is backwards compatible with the Valerino fork. (edit)
      Can you try with the original setup ?
      With the next command you only download the valerino run_mess.sh in the correct place :

      wget -nv -O /home/pi/RetroPie-Setup/scriptmodules/run_mess.sh https://raw.githubusercontent.com/valerino/RetroPie-Setup/master/scriptmodules/run_mess.sh
      
      

      run_mess.sh is only used if running games with lr-mess that use the -<media> option.

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

        @folly
        To do that, I'm gonna start from a fresh build.

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

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

          @folly
          To do that, I'm gonna start from a fresh build.

          I will do the same.

          I just did some fixes (16-02-2021 17:00) :

          • fix description in generated cmd module-script
          • saving generated files directly in RetroPie-setup
            • it doesn't matter where you run it from
          1 Reply Last reply Reply Quote 0
          • F
            Folly
            last edited by Folly

            This is what I have done so far :

            • used updated fresh raspberry pi os buster on rpi-4
            • installed original RetroPie-setup
              • version 4.7.8
            • installed the valerino run_mess.sh script
            • used the generate-desired-systems.sh to generate the modulescripts directly in the RetroPie-setup
              • generate-systems-lr-mess_mame-1v8-alpha.sh is used in the desired script
            • installed all scripts in the RetroPie-setup
            • tested 2 all_in1 games they worked with both lr-mess-cmd and mame-cmd
            • tested 1 konamih game and it worked with both lr-mess-cmd and mame-cmd-autoframeskipping
              • the standard mame directory's for artwork, cheat, etc. are in : /home/pi/RetroPie/roms/mame , so I used this artwork directory and placed the kgradius.zip (artwork file) in /home/pi/RetroPie/roms/mame/artwork
              • I used my script generate-overlay-configs.sh to generate overlay config files and placed the background.png as kgradius.png in /home/pi/RetroPie/overlays/konamih/
              • I could switch between mame+artwork and lr-mess+overlay with no problem.

            mame (+artwork+) vs lr-mess (+fullscreen+)
            (a while ago we tested artwork with lr-mess, lr-mess becomes really slow with artwork, autoframeskipping seems to work but the effect is not optimal) (adding autoframeskipping in the lr-mess command seems to be not working)(every emulator has it's own quality)

            2021-02-16-180316_800x600_scrot-resized.png 2021-02-16-180405_800x600_scrot-resized.png

            • copied the mame/mess BIOS files in /home/pi/RetroPie/BIOS/mame
            • tested a nes game and it worked with both lr-mess-system-nes-cart and mame-system-nes-cart (used no artwork for mame)

            mame vs lr-mess (lr-mess is sharper)
            2021-02-16-203329_800x600_scrot-resized.png 2021-02-16-203214_800x600_scrot-resized.png

            • tested a vectrex game and tested if the overlay would work with lr-mess just like it does with lr-vecx using mame hash naming for the game spike worked with lr-mess-cmdand overlay. lr-mess-system-vectrex-cart worked but without overlay.
              • lr-mess-system-vectrex-cart runs trough the valerino run_mess.sh that is why I think the overlay is not added !
              • lr-mess-system-vectrex-cart works but I did not test with artwork/overlay, but I think this can work !

            lr-vecx vs lr-mess-cmd vs lr-mess-system-vectrex-cart
            (lr-vecx looks great and has bright vector lines but speech synthesizer doesn't work yet)
            (speech synthesizer works with lr-mess and display is ok but vector lines flicker a bit)

            2021-02-16-204802_800x600_scrot-resized.png 2021-02-16-205508_800x600_scrot-resized.png 2021-02-16-205622_800x600_scrot-resized.png

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

              @folly
              I'm setting up a new SD card on a old Pi3 b+(not that old !!). I'll do tests on a Pi3.

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

                @dteam
                In the new 4.7.8, they install Lr-mess for all systems by default if you install lr-mess. It's the setup for Hash files. Am I right?

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

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

                  @dteam
                  In the new 4.7.8, they install Lr-mess for all systems by default if you install lr-mess. It's the setup for Hash files. Am I right?

                  I checked some logs, the hash files are installed with mame and not with lr-mess.
                  But I think lr-mess uses the hash files when mame is installed.

                  In the install log of lr-mess I found this error :
                  cp: cannot stat '/home/pi/RetroPie-Setup/tmp/build/lr-mess/hash': No such file or directory
                  Here it tries to copy the hash files but there are no files to copy.

                  I checked the module-script lr-mess.
                  It will only add for these systems (adding a similar command just like the lr-mess-cmd) :
                  nes gb coleco arcadia crvision

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

                    @folly
                    I agree, I saw the same thing. It's for some systems only. It's a step forward !

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

                      @folly
                      This is what I gonna try today

                      bash $version vectrex
                      bash $version nes
                      bash $version coleco
                      bash $version jaguar
                      bash $version gamate
                      bash $version cdimono1
                      bash $version fmtmarty
                      bash $version scv
                      bash $version c64_cart c64

                      bash $version ablmini # creates cmd script for all_in1 # bootable
                      bash $version alnattck # creates cmd script for classich # bootable
                      bash $version gnw_ball # creates cmd script for gameandwatch # bootable
                      bash $version jak_batm # creates cmd script for jakks # bootable
                      bash $version kgradius # creates cmd script for konamih # bootable
                      bash $version taddams # creates cmd script for tigerh # bootable
                      bash $version rzbatfor # creates cmd script for tigerrz # bootable

                      bash $version hbf700p # bootable # HB-F700P / Sony (MSX2)

                      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 and mame standalone:

                        I used my script generate-overlay-configs.sh to generate overlay config files and placed the background.png as kgradius.png in /home/pi/RetroPie/overlays/konamih/

                        Have you created a subfolder per games? Did you unzip the mame artwork file to extract the backgroud? For me, the easiest way to manage Artwork is with MAME UI (Select+Y), but It's great to have both options, especialy with your overlay configs generator. Good way to convert MAME artworks to retroarch.

                        Every systems working fine excepted C64. For system like FM Marty, you have 15 choices. It's realy nice to see all that.

                        The MAME Basename option never worked for me as it currently is.

                        It works if I replace (ex.: gamate) :

                        mame-basename = "/opt/retropie/emulators/mame/mame -rompath /home/pi/RetroPie/roms/gamate -v -c %BASENAME%"
                        

                        By

                        mame-basename = "/opt/retropie/emulators/mame/mame -v -c gamate %BASENAME%"
                        

                        The hash file folder for the lr-mess should be the same as the one for MAME, but I don't know if you can do that.

                        /opt/retropie/emulators/mame/hash
                        

                        It's because MAME generates it automatically during installation and updates. I am aware that if the user is only using lr-mess then there might be some issues but it avoids file duplication and the Hash files will be always updated.

                        Some MAME Basenames will never worked (like Jaguar), because we are using the names from Retropie (atarijaguar) , but I think It's a good choice to keep Retropie naming .... nothing is perfect!

                        Great job !!

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

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

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

                          I used my script generate-overlay-configs.sh to generate overlay config files and placed the background.png as kgradius.png in /home/pi/RetroPie/overlays/konamih/

                          Have you created a subfolder per games?

                          The script creates the overlays directory and subfolders in ovelays directory (konamih, tigerh, etc).
                          There are no subfolders per game created in, for example, directory konamih.

                          Did you unzip the mame artwork file to extract the backgroud?

                          Yes I did, this background is then renamed and used as retroarch overlay with lr-mess.
                          For MAME standalone I left the artwork zipped in /home/pi/RetroPie/roms/mame/artwork/<artwork>.zip.

                          For me, the easiest way to manage Artwork is with MAME UI (Select+Y)

                          What do you manage ?, In this way artwork is automatically loaded with MAME standalone.

                          but It's great to have both options, especialy with your overlay configs generator. Good way to convert MAME artworks to retroarch.

                          Indeed, I think so too, but it can have some improvement.
                          And it would be nice if the picture were automatically installed too.
                          I have to think about that.

                          Every systems working fine excepted C64. For system like FM Marty, you have 15 choices. It's realy nice to see all that.

                          The MAME Basename option never worked for me as it currently is.

                          It works if I replace (ex.: gamate) :

                          mame-basename = "/opt/retropie/emulators/mame/mame -rompath /home/pi/RetroPie/roms/gamate -v -c %BASENAME%"
                          

                          By

                          mame-basename = "/opt/retropie/emulators/mame/mame -v -c gamate %BASENAME%"
                          

                          We can try to change that to improve, agree ?

                          The hash file folder for the lr-mess should be the same as the one for MAME, but I don't know if you can do that.

                          /opt/retropie/emulators/mame/hash
                          

                          It's because MAME generates it automatically during installation and updates. I am aware that if the user is only using lr-mess then there might be some issues but it avoids file duplication and the Hash files will be always updated.

                          I am not sure yet how the hash tables are used by lr-mess.
                          On my old install there was a mess.ini somewhere.
                          On my new install I couldn't find one.
                          So it will have to wait until we discover how this works.

                          Some MAME Basenames will never worked (like Jaguar), because we are using the names from Retropie (atarijaguar) , but I think It's a good choice to keep Retropie naming .... nothing is perfect!

                          Can you try adding a subdirectory jaguar inside atarijaguar like this :
                          /home/pi/RetroPie/roms/atarijaguar/ jaguar

                          Great job !!

                          Thanks !

                          BTW. Did you try cheats ?
                          Don't know if it works.

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

                            @folly

                            I'm not able to run lr-mess-basename (doesn't work with coleco and gamate). But with coleco, lr-mess from Retropie works with BIOS in
                            /home/pi/RetroPie/roms

                            and hash files in /home/pi/RetroPie/BIOS/mame/hash

                            working

                            lr-mess = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mess/mess_libretro.so --config /opt/retropie/configs/coleco/retroarch.cfg %ROM%"
                            

                            not working

                            lr-mess-basename = "/opt/retropie/emulators/retroarch/bin/retroarch --config /opt/retropie/configs/coleco/retroarch.cfg -v -L /opt/retropie/libretrocores/lr-mess/mess_libretro.so %BASENAME%"
                            

                            For MAME cheat code, you need to run the games with the Hash files and follow the procedure here: (SOLVED) MAME "standalone" Cheats for systems like Coleco, Arcade and more.

                            Re-edit

                            In Retroarch (lr-mess), cheatcodes from retroarch load but not working for now
                            /opt/retropie/configs/all/retroarch/cheats

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

                              @DTEAM

                              I added your suggestion about :

                              mame-basename = "/opt/retropie/emulators/mame/mame -v -c gamate %BASENAME%"
                              

                              I have updated the script so this can/will be generated.
                              Kept the old commands also in for testing, perhaps they have to be deleted.

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

                                @DTEAM

                                So I understand it works oob in lr-mess if you add the cheats in :
                                /opt/retropie/configs/all/retroarch/cheats

                                About the cheats in MAME standalone.
                                I was aware of the thread and that it can work.
                                But does it work out of the box with my module-script or do we still have to add something in the mame.ini ?

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

                                  @folly
                                  Not for now, cheats from retroarch load but not working for now. I'm gonna do some tests. For your script with MAME, I have to do some test for cheatcodes before.

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

                                    @DTEAM

                                    For the lr-mess-basename command.
                                    I don't have an idea about this yet.
                                    Future work I presume.

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

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

                                      By @DTEAM, C64 and Atari Jaguar not working ( https://retropie.org.uk/forum/topic/29682/development-of-module-script-generator-for-lr-mess-and-mame-standalone/12 )

                                      Only for basename (Hash file)

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

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

                                        Every systems working fine excepted C64. For system like FM Marty, you have 15 choices. It's realy nice to see all that.
                                        The MAME Basename option never worked for me as it currently is.
                                        It works if I replace (ex.: gamate) :
                                        mame-basename = "/opt/retropie/emulators/mame/mame -rompath /home/pi/RetroPie/roms/gamate -v -c %BASENAME%"

                                        By
                                        mame-basename = "/opt/retropie/emulators/mame/mame -v -c gamate %BASENAME%"

                                        We can try to change that to improve, agree ?

                                        yes

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

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

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

                                          Every systems working fine excepted C64. For system like FM Marty, you have 15 choices. It's realy nice to see all that.
                                          The MAME Basename option never worked for me as it currently is.
                                          It works if I replace (ex.: gamate) :
                                          mame-basename = "/opt/retropie/emulators/mame/mame -rompath /home/pi/RetroPie/roms/gamate -v -c %BASENAME%"

                                          By
                                          mame-basename = "/opt/retropie/emulators/mame/mame -v -c gamate %BASENAME%"

                                          We can try to change that to improve, agree ?

                                          yes

                                          Did a second fix, because I didn't remove the old ones.
                                          I had to change the names of the old ones to *-test otherwise we had double commands with the same loader name.

                                          So now you can test gamate.

                                          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 and mame standalone:

                                            BTW. Did you try cheats ?

                                            for lr-mess in MAME UI (with hash files)

                                            put cheat.7z in /home/pi/RetroPie/BIOS/mame/cheat

                                            in custom-core-options.cfg

                                            /opt/retropie/configs/""system"" (ex: coleco)

                                            do

                                            mame_cheats_enable = "enabled"
                                            

                                            also in retroarch-core-options.cfg

                                            /opt/retropie/configs/all

                                            You must have the real MESS/MAME romset to do that
                                            1.jpg
                                            Boulder Dash - ColecoVision (lr-Mess)

                                            F 1 Reply Last reply Reply Quote 1
                                            • 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.