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.5m 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

      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
                                      • F
                                        Folly @DTEAM
                                        last edited by Folly

                                        @dteam

                                        I need some more information to translate this to a proper solution.
                                        I hope I can think of a way to make a good implementation ;-)

                                        Did you run Boulderdash with the loader lr-mess-cmd or lr-mess-basename ?

                                        The custom-core-options.cfg isn't added as config running the above loaders, but is added using, for ex., lr-mess-system-coleco-cart .
                                        Does it work when you use (hash file names) with this loader, for example ?

                                        The retroarch-core-options.cfg should always be loaded, perhaps an idea to add it only in this config.
                                        Can you test, if this works, if you only use mame_cheats_enable = "enabled" in retroarch-core-options.cfg ?

                                        Edit :
                                        I have updated the script so the `install-<system>-cmd module-script will add mame_cheats_enable = "enabled" in retroarch-core-options.cfg.
                                        I hope this is a good solution and that it's not conflicting with something else.

                                        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:

                                          Did you run Boulderdash with the loader lr-mess-cmd or lr-mess-basename ?

                                          lr-mess-cmd + MESS romset
                                          and
                                          lr-mess + MESS romset

                                          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%"
                                          

                                          I think you don't need Hash file to run cheat finally. You just need the good game rom

                                          For retroarch cheat codes, I'm not able to use those. They load, but nothing happens.

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

                                            @dteam

                                            Perhaps we want too much and coleco seems difficult on my end.
                                            Reading your reply the cheats addon won't do much, perhaps I have to remove it again.

                                            Can you check your /dev/shm/runcommand.log if you can find something about how cheats are being loaded ?

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