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.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.
    • H
      hhtien1408 @Folly
      last edited by hhtien1408

      @folly I manually got it working with mame-libretro downloaded from buildbot (nightly lastest). Runcommand in emulator.cfg. Thanks for all your support.
      My command line in emulators.cfg

      supracan= "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame/mame_libretro.so --config /opt/retropie/configs/supracan/retroarch.cfg %ROM%"
      default = "supracan"
      
      F 1 Reply Last reply Reply Quote 0
      • F
        Folly @hhtien1408
        last edited by Folly

        @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".

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

          @folly Nightly buildbot version is here, the complied one works well with neogeo but softlist cannot be used.
          https://buildbot.libretro.com/nightly/
          Be careful!
          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)
          You should down the first one (mame_libretro.so.zip and extract)

          • Create new system supracan directing to rom path home/Retropie/roms/supracan in es-systems.cfg with .zip and .ZIP extension and copy supracan to this rom path.
          • Super Acan Funtech
           <system>
              <name>supracan</name>
              <fullname>Super A'can</fullname>
              <path>/home/h2t/RetroPie/roms/supracan</path>
              <extension>.zip .ZIP</extension>
              <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ supracan %ROM%</command>
              <platform>supracan</platform>
              <theme>supracan</theme>
          
          • NES Datach
             <system>
              <name>nes_datach</name>
              <fullname>Super A'can</fullname>
              <path>/home/h2t/RetroPie/roms/nes_datach</path>
              <extension>.zip .ZIP</extension>
              <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ nes_datach %ROM%</command>
              <platform>nes_datach</platform>
              <theme>nes_datach</theme>
            </system>
          
          • Make sure softlist is enabled, automatic type is off, cart is chosen, boot from CLI is enabled in retroarch-core-option.cfg or setup via Retroarch GUI.
          mame_softlists_enable = "enabled"
          mame_softlists_auto_media = "disabled"
          mame_media_type = "cart"
          
          • Supracan and NES-Datach system has no bios. Any systems requiring bios, please copy to rompath of that system (not BIOS/mame anymore)
          • Copy hash folders into BIOS/mame and opt/retropie/libretrocores/lr-mame
          • Copy runcommand line to emulators.cfg
          • Supracan
          supracan = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame/mame_libretro.so --config /opt/retropie/configs/supracan/retroarch.cfg %ROM%"
          default = "supracan”
          
          • NES-Datach
          nes_datach = "/opt/retropie/libretrocores/mame/mame nes datach -cart2 %ROM%"
          default = "nes_datach"
          

          Noted that for NES Datach does not work with the same method of Supracan, using lr-mame just brings it to the NES system (not the Datach - subsystem of NES), at that point you should choose Datach rom and insert cart 2 (for example: dtc_dbz - Datach Dragon Ball game manually).
          So I found out another way is using the mame binary with no-nag screen. On the other way, you also can use your MAME stadalone just adjust your file location. The disadvantage is that you cannot utilize Retroarch features but you can set combo keys for reset, load/save state, exit… via MAME tab —> controls easily)
          Download link:
          https://drive.google.com/drive/folders/0B_hdh1Ds66TvflV4alVlSzNIbDh3a0R6aFczYlJBc2t2STJ4U0tJS2FOTEZPdTdOWVIwYk0

          • Download file mame225_x86_64-nonag_crvision.tag.gz from this link above
          • Extract and rename from mame225_x86_64-nonag_crvision to mame
          • Copy renamed file to /opt/retropie/libretrocores/mame, copy for Linux 64bit, I have tested carefully)

          *** Artworks, fallback artworks, shaders and other features of official MAME work perfectly aa they are in official MAME.

          This method can be applied to any systems (except system which uses many layer including cart1, cart2 like NES Datach).

          If you update your script, it could be such a great news.

          Enjoy!

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

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

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

              @folly

              Hi Folly,

              Thank you for the gamelists. I'm happy to read you have done It fast. I'm pretty busy with real life stuff, that's why I'm in and out from the forum. I've put back all videos and pictures in the good directories on the Google Drive. I did'nt add channelf and pv1000 because they are now proprely supported by Screenscrapper.

              If this is not working properly, just let me know

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

                @dteam

                Super, thanks for letting me know !
                I will test it.

                At the moment busy with version 2.2 .

                I just added a part that will be integrated in the generated module-scripts
                it will sort the emulators.cfg when a module-script is installed.
                Just tested it and it works really nice.

                I also added the BASENAME lines that I discovered trying supracan with mame.
                These lines should work on more systems, no doubt about that.
                I will test some other systems how they react.

                Perhaps I will also convert the line names so we can understand the lines better on what they do.

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

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

                  F H 3 Replies Last reply Reply Quote 0
                  • F
                    Folly @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.

                    Indeed, seems that not all games will work properly.
                    But that's not the interesting part to it.
                    What's interesting, though, is that I now discovered runcommand lines that should be added to the script.
                    I just found a way to do the same with lr-mess without even using valerino's script.
                    I have to look into this deeper but it seems quite a discovery because everywhere they say that this can't be done.
                    So I think I might found the secret to it.
                    Did the same with lr-mame, but I have no luck up till now.
                    Perhaps I should do a source install for that.

                    So @hhtien1408 I have found a way to run supracan with lr-mess too.

                    So here is a picture of boomzoo :
                    2021-05-25-192909_800x600_scrot.png

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

                      @dteam

                      As far as I can see, the discovered lines can't be used for our own created plaforms like :
                      all_in1
                      classich
                      konamih
                      tigerh
                      and perhaps more
                      So I want to use an if function for that.

                      When doing so I found an issue with the tigerh.
                      This seems to be a mame system Tiger-Heli.

                      Now using the if function can lead to a problem.

                      Can we consider to rename tigerh to tigerhh or tiger-hh ?
                      Perhaps we can do the same with classic-hh and konami-hh.
                      hh = handheld

                      Let me know what you think about that.

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

                        @folly
                        I have no problem with that. You can rename them.

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

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

                          What's interesting, though, is that I now discovered runcommand lines that should be added to the script.

                          This is great if it works

                          Another question. Do you think It's doable to create a default mame.ini per system? Like they do with Retroarch

                          see: https://docs.mamedev.org/commandline/commandline-all.html#mame-commandline-createconfig

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

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

                            @folly
                            I have no problem with that. You can rename them.

                            Ok if I have to I will let you know.

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

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

                              What's interesting, though, is that I now discovered runcommand lines that should be added to the script.

                              This is great if it works

                              I hope so. I already have problems again with the lr-mess lines as supracan needs no bios.
                              But coleco does, seems difficult to understand every time.

                              Another question. Do you think It's doable to create a default mame.ini per system? Like they do with Retroarch

                              see: https://docs.mamedev.org/commandline/commandline-all.html#mame-commandline-createconfig

                              Well, not sure how to do this !
                              I have to dig in that.
                              Can't promise anything, I have a real life too you know, haha :-)

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

                                @dteam

                                The downloads work ok they should work for all systems now.
                                Tested a few systems and those were fine.

                                Although this works fine I don't think updating will work.
                                I think the gdrivedl.py script looks for existing filenames, but doesn't check if it's different or not.
                                So if you want to update files you would have to manually remove those files and do the download again.
                                If I can I will try to find a fix for this.

                                I found a duplicate in the wrong directory, you can remove it if you want to :
                                ./gamate/media/emulationstation/gamelist.xml

                                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:

                                  I found a duplicate in the wrong directory, you can remove it if you want to :
                                  ./gamate/media/emulationstation/gamelist.xml

                                  deleted. done

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