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.3k Posts 37 Posters 7.7m 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.
    • FollyF
      Folly @DTEAM
      last edited by Folly

      @dteam

      Seems most people do it that way.

      I use my pi as desktop computer + retropie.

      Perhaps an idea to use a "raspberry pi os with desktop" and install retropie on top, then you don't have to struggle with ssh and filezilla.
      On the pi4 "emulationstation" can run in the desktop environment.
      Or you can just boot in cli or go back in cli and run "emulationstation" without going to the desktop. (works with pretty much all pi's)
      You can even run games from the file manager if you install my RetroRun script. (works with pretty much all pi's)

      Interesting ?

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

        @folly

        On my side, I'm running RetroPie on a handheld build. I did that for a Pi3 more than 2 years ago and I converted It for a Pi4 (It's really tight). I have used recycled materials (screws, old controller, LEGO parts, wooden tin for clementines, door screen, springs, old plank, old pencil basket) and materials from my children's DIY material basket (Popsicle sticks and toothpicks). Maybe It looks like hell but the gameplay is wonderfull , it's solid and the battery is huge (10000 mAh). For the controller, I have used a Teensy LC and for the touchscreen, It's a 5 inch (The touchscreen works well with Drastic for Nintendo DS). For USB and HDMI, I have used ribbon wiring. I have used a small amp for the speakers (stereo sound). SD card = 512 GB

        04.jpg
        05.jpg
        03.jpg
        02.jpg
        01.jpg

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

          @dteam

          Oh I see, that's a different story.
          Now I see why you are doing ssh and filezilla !

          I must say, looks very cool.
          You must have enjoyed building it.

          Nice job !

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

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

            @dteam
            Oh I see, that's a different story.
            Now I see why you are doing ssh and filezilla !
            I must say, looks very cool.
            You must have enjoyed building it.
            Nice job !

            Thanks. Yes, It was a really fun creative project to do. I recommend it to everyone. It took me a lot of time to do it. I had to use wooden clamps for each piece. I preferred this project more to the one I did with a 3d printer for a Pi Zero. The wooden project is original and It's not a copy from another project (even the electronic part of it !!)
            6.jpg

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

              @dteam

              I can refer to it.
              It's always fun to do your own thing.

              If I have some time, I will make some photo's of my projects.

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

                @DTEAM @valerino

                Today I had a look a config module-scripts (docsview.sh) containing the dialog api.
                It took me quite some time but I changed it a bit to get the systems into the dialog menu.
                I was also able to generate some scripts.

                It's nowhere near how we want it.
                But it's a start of finding out how we can do this.
                I takes about 15 seconds to extract the systems from mame and display them in the menu.
                Basically I got this :
                2021-03-31-210848_1600x900_scrot.png

                With the RetroPie-Setup we are root user.
                So the generator-script, which contains the $HOME string wants to do all in the root directory.
                So we have to come up with something to fix this.

                This is the log selecting a system and generate some module-scripts :

                = = = = = = = = = = = = = = = = = = = = =
                Running action 'gui' for 'add' : RetroPie-Setup Docs Viewer
                = = = = = = = = = = = = = = = = = = = = =
                
                  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                                 Dload  Upload   Total   Spent    Left  Speed
                
                  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
                  2 29333    2   863    0     0   1913      0  0:00:15 --:--:--  0:00:15  1909
                100 29333  100 29333    0     0  64326      0 --:--:-- --:--:-- --:--:-- 64185
                
                install @valerino run_mess.sh script
                /root/RetroPie-Setup/scriptmodules/run_mess.sh: No such file or directory
                read all available extensions per system
                read compatible extension(s) for the individual media
                read computer description(s)
                read and match RetroPie names with mamedev names
                cat: /root/RetroPie-Setup/platforms.cfg: No such file or directory
                generate and write the install-<RPname>-from-mamedev-system-<MESSname><-media>.sh script file(s)
                generate and write the install-<RPname>-cmd.sh command script file(s)
                grep: /root/RetroPie-Setup/platforms.cfg: No such file or directory
                
                Log ended at: Wed Mar 31 21:03:49 CEST 2021
                Total running time: 0 hours, 0 mins, 52 secs
                
                DTEAMD V 2 Replies Last reply Reply Quote 2
                • DTEAMD
                  DTEAM @Folly
                  last edited by DTEAM

                  @folly

                  In your list, Zupapa is an arcade game. I'll try to found a list without arcade game and without mechanical machine.

                  In category.ini (0.229) from https://www.progettosnaps.net/renameset/
                  we can found filtered list with drivers. Can it be usefull?

                  FollyF 1 Reply Last reply Reply Quote 0
                  • V
                    valerino @Folly
                    last edited by

                    @folly this is almost what i meant yes :) sorry but i hadn't time to look at the code myself. anyway, seems you're on the right track.

                    tell me more about the problem with the env vars, should be easy to fix.

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

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

                      @folly

                      In your list, Zupapa is an arcade game. I'll try to found a list without arcade game and without mechanical machine.

                      In category.ini (0.229) from https://www.progettosnaps.net/renameset/
                      we can found filtered list with drivers. Can it be usefull?

                      Indeed, we should use a filter.
                      Perhaps we can implement it on the way.

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

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

                        @folly this is almost what i meant yes :) sorry but i hadn't time to look at the code myself. anyway, seems you're on the right track.

                        tell me more about the problem with the env vars, should be easy to fix.

                        Basically I use the $HOME string in my script, because we want to place the files also in the correct place if the user isn't pi.
                        But now we are root with sudo.
                        Perhaps we can extract the normal user and run the script with that user instead. (sudo -u pi, or something like that)
                        And perhaps we have to correct the ownership of the files.
                        Well, we can discuss some of that.

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

                          @folly

                          In the MESS 0.151 hash folder, we can found 609 .xml files associated to the systems.
                          we could add kgradius and the others for MAME systems (Jakks, KonamiH, etc.) + 7

                          Normally, I think we should found roughly 616 systems in the list. Am I correct?

                          New edit: some systems doesn’t have hash file like svmu. Probably a little bit more than 616 systems

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

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

                            @folly

                            In the MESS 0.151 hash folder, we can found 609 .xml files associated to the systems.
                            we could add kgradius and the others for MAME systems (Jakks, KonamiH, etc.) + 7

                            Normally, we should found roughly 616 systems in the list.

                            Basically you say, not all handheld games, we have working, are in the mame hash lists.
                            And someone should add them trough github.
                            Am I correct ?

                            (you mean find ?)

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

                              @folly
                              Ideally we should add the real name (like Jakks) but behind it it could be the name of a game as your script handles. I imagine it will depend on how you handle it in your script.

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

                                @dteam

                                You would like to categorize all Jakks games as a cartridge of the jakks system, for example.
                                Do I conclude correctly ?

                                Well I think they separated them as standalone systems because not all hardware is identical.
                                I read that MAME wants to do the most perfect hardware emulation, so that is why they seperated them.
                                So I don't think there is any change they will change that, sorry.

                                I get your point though.

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

                                  @folly
                                  Yes, and you have a good point. To avoid the problem for driver, do we have to create 7 systems in mame.ini (rompath) like I did in the tutorial? Is it a solution. We could manage It like the arcade folder.

                                  The idea is to select and install one time (from Mess/Mame selection list) for all games from a games family (only the systems from my tutorial - 7 systems)

                                  Other option, Could we create an override for.ini in the system folder (jakks, konamih, etc.)

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

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

                                    @folly
                                    Yes, and you have a good point. To avoid the problem for driver, do we have to create 7 systems in mame.ini (rompath) like I did in the tutorial? Is it a solution. We could manage It like the arcade folder.

                                    The idea is to select and install one time (from Mess/Mame selection list) for all games from a games family (only the systems from my tutorial - 7 systems)

                                    Other option, Could we create an override for.ini in the system folder (jakks, konamih, etc.)

                                    I have a hard time understanding what you want here.
                                    At the moment we do nothing in the .ini file, it's all in the command-lines.

                                    Do you mean this ?
                                    I think you are addressing the install that we have to pick a game to install, for example konamih.
                                    Am I correct ?
                                    You want to be able to install on, for example, konamih instead of a game.

                                    Can you give an example on a game and how it should be installed then ?
                                    Perhaps I will understand it better.

                                    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:

                                      You want to be able to install on, for example, konamih instead of a game.

                                      Exactly, but on my side, I don't understand why you said It could be an issue to do that.

                                      Well I think they separated them as standalone systems because not all hardware is identical.
                                      I read that MAME wants to do the most perfect hardware emulation, so that is why they seperated them..

                                      That’s why I said we could manage theme like the « arcade » folder does for arcade games

                                      FollyF 1 Reply Last reply Reply Quote 0
                                      • FollyF
                                        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:

                                        You want to be able to install on, for example, konamih instead of a game.

                                        Exactly, but on my side, I don't understand why you said It could be an issue to do that.

                                        In our script we can make that work, I think.
                                        I think we just can add the "family systems (konamih, etc )" in the array and join them to 1 game of that family.
                                        So we can do this (red because it's not possible at the moment) :

                                        -curl "https://raw.githubusercontent.com/FollyMaddy/RetroPie-Share/main/00-scripts-00/generate-systems-lr-mess_mame-2v0-alpha.sh" | bash -s konamih
                                        

                                        instead of this :

                                        curl "https://raw.githubusercontent.com/FollyMaddy/RetroPie-Share/main/00-scripts-00/generate-systems-lr-mess_mame-2v0-alpha.sh" | bash -s kgradius
                                        

                                        Makes this any sense ?

                                        The "issue" I was referring to is, that it's probably not an option to ask the mamedev people to change the hashtables, because they have an other mindset of how the database is established. I think also the source code depends largely on it, so it would be a major task for them to convert it all.

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

                                          @folly
                                          we weren't talking about the same thing, that's why we didn't understand each other.

                                          For the hash file, could it be possible to generate a .doc list from the hash folder without the .xml extension and restart from that list to generate the list in retropie? The problem with this is that sometimes the name of an .xml does not match the name of the system.

                                          I will try to find a solution. In the mame software, they can use filters.

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

                                          instead of this :
                                          curl "https://raw.githubusercontent.com/FollyMaddy/RetroPie-Share/main/00-scripts-00/generate-systems-lr-mess_mame-2v0-alpha.sh" | bash -s kgradius

                                          Makes this any sense ?

                                          Yes 👍🏻

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

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

                                            @folly
                                            we weren't talking about the same thing, that's why we didn't understand each other.

                                            Indeed, that seems to be the case here.

                                            For the hash file, could it be possible to generate a .doc list from the hash without the .xml extension and restart from that list to generate the list in retropie?

                                            Basically it should be possible to generate a text file from a hash table and display this in the RetroPie-Setup within the module-script.
                                            Here I am getting confused already because we don't use the hash tables to generate our module-scripts.

                                            Sometimes the potential problem is that the name.xml does not match the system.

                                            Ok, I can imagine that. Because, as said in the renameSET described, names change all the time.
                                            So if one hasn't changed in the hash-table with a source update, you will have a mismatch.

                                            I think, we can't use use things from the renameSET 0.229* because we are still in using mame 0.227in RetroPie, so then we would definitely have mismatches.

                                            I will try to find a solution. In the mame software, they can use filters.

                                            You should convert it to a schematic approach, because I still don't get it all. (sorry)

                                            --

                                            I did something more to understand :
                                            I reread everything again to get the aha of it all.
                                            I opened the category.inifrom the renameSET 0.229 that you were referring to.
                                            I see that the systems are categorized as :

                                            • [Arcade / Pinball]
                                            • [Ball & Paddle / Breakout]
                                            • .
                                            • [Handheld / Electronic Game]
                                            • .
                                            • etc.

                                            And that is very much the same as what you/we did with the handhelds :

                                            • konamih
                                            • tigerh
                                            • etc.

                                            But our handheld-names are actually a subsections of [Handheld / Electronic Game].
                                            Wouldn't you agree ?

                                            I can imagine using it to categorize it to make a better menu.
                                            But this file is quite difficult to extract the info and it's, I think, based upon mame 0.229. Then we have a mismatch again with 0.227.

                                            --

                                            Can you tell me, is there something in above reply that makes any sense referring to your conversation ?
                                            If that is not the case, perhaps we have to leaf this part for a while, otherwise it's going to get too difficult, I think.

                                            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.