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

      @folly
      New stuff! If you add the rom path in the mame.ini file for a system like Coleco, you can run mame basename line in the system menu like we did with konamih or jakks. With that, you can load the cheat codes from MAME.

      Other thing. In the MAME Arcade Romset, you have Nintendo Playchoice 10 roms and Sega MegaPlay roms . They run well with MAME standalone. For Megaplay, I think It's the only option.

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

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

        @folly
        New stuff! If you add the rom path in the mame.ini file for a system like Coleco, you can run mame basename line in the system menu like we did with konamih or jakks. With that, you can load the cheat codes from MAME.

        Other thing. In the MAME Arcade Romset, you have Nintendo Playchoice 10 roms and Sega MegaPlay roms . They run well with MAME standalone. For Megaplay, I think It's the only option.

        Cool !
        I have to investigate that.

        1 Reply Last reply Reply Quote 0
        • R
          RussellB @Folly
          last edited by

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

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

          @folly At Folly's request I'm posting the changes I made to the run_mess.sh script which allows for each game that uses it to be started with a command file that instead of having it named 'tmpmess.cmd' it is named after the ROM that it is starting, e.g. "Alice in Wonderland (USA).cmd". This way each game is unique and RetroArch/mess will save custom game configs to that instead of constantly overwriting 'tmpmess.cfg'.

          These are the changes:
          First part :

          _system="$4"
          _biosdir="$5"
          +#
          +# Use the name of the rom to generate the 'tmpmess.cmd' file so RetroArch can save a custom game config
          +#
          +_fname="$(basename "${*: -3:1}")"
          +_fbname="${_fname%.*}"
          

          Second part :

          # generate mess.cmd
          echo "\t/tmp/mess.cmd content: ${_cmdarr[@]}"
          -_tmpcmd="$_romdir/tmpmess.cmd"
          +#
          +# Now use the root name of the rom file as the name of the cmd file
          +#
          +_tmpcmd="$_romdir/$_fbname.cmd"
          

          Using this with mess for Philips CD-i roms now every game has a bezel and I changed the screen offset to move the "CD-i" out of the view. Looks cleaner that way to me.

          Hope this helps!

          RussellB

          I have done some tests with your edited parts.
          From what I am seeing now, it's a pretty good solution for many issues indeed.

          Edit :
          @RussellB
          To read your code clearer I have edited the code part in this post with the diff function.

          Can you take a look at it, is it still correct ?
          To see how the diff function works just "Quote" my post and you will see how it's done :

          = keep
          - = remove
          + = add
          

          I will look at it some more, but overall I think this should be added to the run_mess.sh script from Valerino .

          @valerino
          If you have some time, could you take a look at it too ?

          That looks correct. Sorry for the late reply.

          F R 2 Replies Last reply Reply Quote 0
          • F
            Folly @RussellB
            last edited by

            @russellb

            Thank's.
            I will wait for @valerino, because it's his script.
            I think he will implement it when he knows what it does.

            1 Reply Last reply Reply Quote 0
            • R
              RussellB @RussellB
              last edited by RussellB

              @russellb 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:

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

              @folly At Folly's request I'm posting the changes I made to the run_mess.sh script which allows for each game that uses it to be started with a command file that instead of having it named 'tmpmess.cmd' it is named after the ROM that it is starting, e.g. "Alice in Wonderland (USA).cmd". This way each game is unique and RetroArch/mess will save custom game configs to that instead of constantly overwriting 'tmpmess.cfg'.

              These are the changes:
              First part :

              _system="$4"
              _biosdir="$5"
              +#
              +# Use the name of the rom to generate the 'tmpmess.cmd' file so RetroArch can save a custom game config
              +#
              +_fname="$(basename "${*: -3:1}")"
              +_fbname="${_fname%.*}"
              

              Second part :

              # generate mess.cmd
              echo "\t/tmp/mess.cmd content: ${_cmdarr[@]}"
              -_tmpcmd="$_romdir/tmpmess.cmd"
              +#
              +# Now use the root name of the rom file as the name of the cmd file
              +#
              +_tmpcmd="$_romdir/$_fbname.cmd"
              

              Using this with mess for Philips CD-i roms now every game has a bezel and I changed the screen offset to move the "CD-i" out of the view. Looks cleaner that way to me.

              Hope this helps!

              RussellB

              I have done some tests with your edited parts.
              From what I am seeing now, it's a pretty good solution for many issues indeed.

              Edit :
              @RussellB
              To read your code clearer I have edited the code part in this post with the diff function.

              Can you take a look at it, is it still correct ?
              To see how the diff function works just "Quote" my post and you will see how it's done :

              = keep
              - = remove
              + = add
              

              I will look at it some more, but overall I think this should be added to the run_mess.sh script from Valerino .

              @valerino
              If you have some time, could you take a look at it too ?

              That looks correct. Sorry for the late reply.

              @valerino....

              I ran into the issue that when mame/mess were run with tmpmess.cmd all the roms used the same configuration file, tmpmess.cfg. The first line of code there takes the third-to-last parameter sent to the run_mess.sh and assumes it's the name of the rom. Next line gets the root of the filename minus full path and extension. The last remaining line of code replaces tmpmess.cmd with the root name of the rom and .cmd. That way it's unique per rom. This allowed me to specify custom configs, including bezels and screen locations, etc. per rom.

              Hope the explanation helps.

              R 1 Reply Last reply Reply Quote 1
              • R
                RussellB @RussellB
                last edited by

                @folly,

                Can I recommend moving the location of the run_mess file away from the home directory and into something like /opt/retropie/scripts? I moved it because I don't like having rom dependencies in the home folder.

                RussellB

                F 3 Replies Last reply Reply Quote 0
                • F
                  Folly @RussellB
                  last edited by Folly

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

                  @folly,

                  Can I recommend moving the location of the run_mess file away from the home directory and into something like /opt/retropie/scripts? I moved it because I don't like having rom dependencies in the home folder.

                  RussellB

                  I understand what you mean, but there problems doing it that way.

                  The problem is, the run_mess.sh script is within the fork of @valerino of the RetroPie-Setup.
                  So when you clone the repository the run_mess.sh script is already there.
                  In the github Repositories you don't have the directories /opt/retropie/...... .
                  If you want it there you have to "install/copy" it.
                  So that is why it's in that place.

                  If we really want this, all the 30+ valerino scripts have to be changed by hand.
                  And you have to make an installer part for the run_mess.sh.
                  I don't think Valerino has time for that.

                  I could change my script, but then it isn't compatible anymore with the Valerino fork.
                  An other reason not put in /opt/retropie/...... is, you have to be "root" to copy it in that folder.
                  My generator script, the one without the front-end gui, can be run without root user.
                  I like to keep it that way.

                  So overall, it is better to keep it this way to avoid problems.

                  I hope you understand.

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

                    This post is deleted!
                    1 Reply Last reply Reply Quote 0
                    • F
                      Folly @RussellB
                      last edited by Folly

                      This post is deleted!
                      1 Reply Last reply Reply Quote 0
                      • F
                        Folly
                        last edited by

                        I had a bad connection so my post was tripled.
                        That's why I removed above posts.

                        1 Reply Last reply Reply Quote 0
                        • R
                          RussellB @Folly
                          last edited by

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

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

                          @folly,

                          Can I recommend moving the location of the run_mess file away from the home directory and into something like /opt/retropie/scripts? I moved it because I don't like having rom dependencies in the home folder.

                          RussellB

                          I understand what you mean, but there problems doing it that way.

                          The problem is, the run_mess.sh script is within the fork of @valerino of the RetroPie-Setup.
                          So when you clone the repository the run_mess.sh script is already there.
                          In the github Repositories you don't have the directories /opt/retropie/...... .
                          If you want it there you have to "install/copy" it.
                          So that is why it's in that place.

                          If we really want this, all the 30+ valerino scripts have to be changed by hand.
                          And you have to make an installer part for the run_mess.sh.
                          I don't think Valerino has time for that.

                          I could change my script, but then it isn't compatible anymore with the Valerino fork.
                          An other reason not put in /opt/retropie/...... is, you have to be "root" to copy it in that folder.
                          My generator script, the one without the front-end gui, can be run without root user.
                          I like to keep it that way.

                          So overall, it is better to keep it this way to avoid problems.

                          I hope you understand.

                          Got it. Thanks.

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

                            @dteam

                            Here a small update on the progress on the front-end module script :

                            I am working on the front-end module-script add-mamedev-systems-test5.sh.
                            I have made some progress in rebuilding and building stuff into the front-end.
                            I can now generate sub-menu's for #,A,B,C etc .
                            But I can't show the systems already in there, this seems quite difficult at the moment.
                            Progress is really slow at the moment.

                            I have to leave it for a while and re-think my approach again.
                            I hope I can find some better/easier ways.

                            Another idea is to make this script in such a way that I can just copy and paste my generate-systems-lr-mess_mame-2v0-alpha.sh into the front-end module-script.
                            That way I can just maintain the 2v0 script and paste it into the front-end each time when I update it.

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

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

                              Another idea is to make this script in such a way that I can just copy and paste my generate-systems-lr-mess_mame-2v0-alpha.sh into the front-end module-script.
                              That way I can just maintain the 2v0 script and paste it into the front-end each time when I update it.

                              This is what I am doing at the moment with V1.8.

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

                                @dteam

                                Ok, yes indeed you can do that too.
                                Btw. I have been keeping 2.0 and 1.8 both up to date.

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

                                  @folly
                                  I know. I updated my cdimono1 with v1.8 to see what RussellB did.

                                  I'm running adam for coleco_sgm with MAME. I created a separate folder for that (coleco_sgm). Everything goes well exepted the MAME UI menu. I'm not able to go in. Have you a solution for that. It's the first time I met this problem.

                                  mame-system-adam-cart1 = "/opt/retropie/emulators/mame/mame -v -c adam -cart1 %ROM%"
                                  
                                  F 1 Reply Last reply Reply Quote 0
                                  • F
                                    Folly @DTEAM
                                    last edited by

                                    @dteam

                                    You should use the scroll-lock key to toggle between FULL and PARTIAL emulation.
                                    With PARTIAL the UI should be enabled.

                                    If this doesn't work we have to look further.

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

                                      @RussellB

                                      I added your edited code to my repository.
                                      I also added it to my standalone scripts :
                                      generate-systems-lr-mess_mame-1v8-alpha.sh
                                      generate-systems-lr-mess_mame-2v0-alpha.sh
                                      When running above script, the run_mess.sh script is always updated by the script.

                                      https://github.com/FollyMaddy/RetroPie-Share/tree/main/00-scriptmodules-00

                                      This shows the difference betweem the original and yours :
                                      https://github.com/FollyMaddy/RetroPie-Share/commit/5f915ca6d2e05f3ff6f0dc7fe6b8ff21ca1d6677

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

                                        @DTEAM @RussellB

                                        I did one test.
                                        Can you both do some tests too ?

                                        I like to know if it still works ok.

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

                                          @dteam
                                          You should use the scroll-lock key to toggle between FULL and PARTIAL emulation.
                                          With PARTIAL the UI should be enabled.
                                          If this doesn't work we have to look further.

                                          Fixed. It was a simple problem with my default.cfg file in /home/pi/RetroPie/roms/mame/cfg
                                          Not a real issue

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

                                            @dteam

                                            Indeed, I was thinking you knew about the scroll-lock part ,so indeed it had to be something else.
                                            Nice to have that one fixed !

                                            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.