RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    new scriptmodules (lr-vice-xvic, gsplus, proper lr-mess integration!)

    Scheduled Pinned Locked Moved Ideas and Development
    githubscriptmodulesdevelopment
    545 Posts 42 Posters 268.3k 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.
    • S
      shift @dmmarti
      last edited by

      @dmmarti Thank you so much!

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

        I had installed a lot of system manually. Yesterday and today I installed your scripts. The two methods work in parallel without harming each other. Honestly wow !!!! great job guys your scripts are really great.

        I didn't install with the hyperlinks, I downloaded the scripts and made cherry picking after. It works great!!

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

          EDIT: Script is updated to version 1.1. Read edit below for more information.

          Hi all,

          Yesterday I made a script that wil bulk generate more than 2000 lr-mess-<systems>.
          This is version 1 !. It's more or less a proof of concept. It's created fast and a bit dirty. I still have to improve things.
          But I can confirm it works !. The idea was born in here : https://retropie.org.uk/forum/topic/28345/old-computer-appreciation-thread/788
          Just after we manually created two for P2000T(testing for cass support) and Sharp X1.

          So if you are adventurous, try it at your own risk !

          • Install MAME first in your RetroPie-Setup, if you didn't already !!!!

          • Download the script from https://github.com/FollyMaddy/RetroPie-Share
            It's in "00-scripts-00"

          • Run it with : bash generate-lr-mess-systems.sh
            It will make a libretrocores directory in the directory you started the script from and writes al the generated files in that directory.
            (this will take about 6 minutes)

          • Choose the script you want to try and copy that to :
            /home/pi/RetroPie-Setup/scriptmodules/libretrocores

          • Install your choosen <system> from your RetroPie-Setup

          EDIT:
          I did a huge updated on my script.
          WOOOOOWW :-)
          5500 seperate files are being generated.
          If you want it all, it takes about 16 minutes (pi4) !!!

          Now all system with more media (quik, cas, flop1, dump, cart) are splitted.
          So for every media, we now can install multiple commandlines depending upon the media.

          I also added a simple script(generate-desired-systems.sh) that can be edited.
          If you run this script after editing, then it will only generate your desired systems.
          (I already placed a few in there)

          I did many tests. Perhaps there is still mistakes, but I am real confident.

          It's already on github.

          Advise( if you used my first script ):
          The names are changed depending on the supported media. So I advise you to uninstall the old ones first and than remove the files also.

          In the next update I can add more info about each computer in the script.
          So everybody can see much more info about the system in the "package help"

          From here I explain on how to run the scripts :
          https://retropie.org.uk/forum/topic/28345/old-computer-appreciation-thread/924

          Z S 2 Replies Last reply Reply Quote 0
          • Z
            Zering @Folly
            last edited by

            I can also confirm that it works. It's not quite as compatible as 'normal' mess yet, but it is a first version. And on the other hand it enabled me to use systems I could never get to work in lr-mess without scripts, ie. PC6001.

            1 Reply Last reply Reply Quote 1
            • S
              shift @Folly
              last edited by

              @folly I would create a special 3D for your initiative, so the two works do not "mix". Anyway congratulations for what you are doing, and I will definitely try it soon because I am too curious.

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

                @shift said in new scriptmodules (lr-vice-xvic, gsplus, proper lr-mess integration!):

                @folly I would create a special 3D for your initiative, so the two works do not "mix".

                Yes, it should be nice if it could become 1 project.
                (if that is what you mean)
                But I don't know everything.
                I also have to work on my knowledge in github on "pull requests".
                Up till now, I find this quite difficult and frustrating.

                Can you explain a little bit more about your "special 3D" idea ?

                Anyway congratulations for what you are doing, and I will definitely try it soon because I am too curious.

                Thanks,
                I'am really proud of it. I think it's really a huge accomplishment.
                Until now, it took me about 16 hours to create it.
                With this script we can really save thousands of hours work.
                And I have seen some pretty good results, already.
                Perhaps splitting can also be done on media in the future.
                So this way cass files come in a cass-rom directory and cartridge file in a cart-rom directory etc...
                But for now I have done enough, so far ;-)

                Do you keep me posted on your findings ?

                S 1 Reply Last reply Reply Quote 0
                • S
                  shift @Folly
                  last edited by

                  @folly

                  Can you explain a little bit more about your "special 3D" idea ?

                  I misspelled, I meant "specific", not special.

                  Do you keep me posted on your findings ?

                  Of course, as soon as I can try it, I'll update you.

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

                    @shift / all

                    Yesterday I updated my script to V1.2 .

                    I had to solve the problem of V1.1 which did not export all extensions supported by a system but exported only the one of floppy or cartridge for that matter (depeding on the install). Trouble is, then you don's see all the supported files in emulationstation. So effectively you won't be able to switch to an other working launch option.

                    I tried to solve this but I could not get a solution, this took me about 13 hours. :(
                    Retrying from scratch I found the solution in within the hour. (nailed it) :)

                    I'm quite happy with it now. ^^

                    So now it's possible to install multiple <onesystem>-<media>.sh of one system keeping it all in one rom directory. While booting a rom you can switch to another launch option or associate a specific rom to media-specific launch option.

                    Also added the help, run it with -h :

                    bash generate-lr-mess-systems.sh -h
                    
                    DTEAMD 1 Reply Last reply Reply Quote 1
                    • DTEAMD
                      DTEAM @Folly
                      last edited by DTEAM

                      @folly

                      Hi Folly,

                      I downloaded generate-lr-mess-systems.sh
                      Where did you paste It before running It? Is It in /home/pi/RetroPie-Setup or /home/pi/RetroPie-Setup/scriptmodules?

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

                        @dteam said in new scriptmodules (lr-vice-xvic, gsplus, proper lr-mess integration!):

                        @folly

                        Hi Folly,

                        I downloaded generate-lr-mess-systems.sh
                        Where did you past It? Is It in /home/pi/RetroPie-Setup?

                        Indeed I think I have to edit that.
                        But if you want to create directly in RetroPie-Setup you have to put it in, for now :
                        /home/pi/RetroPie-Setup/scriptmodules updated now

                        Beware if you generate all, you get 5699 files in there !

                        EDIT : just did a commit, it should work from /home/pi/RetroPie-Setup now !

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

                          @folly

                          Hi Folly

                          1 - I pressed F4
                          2 - I put generate-lr-mess-systems.sh in /home/pi/RetroPie-Setup
                          3- cd /home/pi/RetroPie-Setup
                          4 - bash generate-lr-mess-systems.sh -h

                          It ran, but nothing happened

                          What I'm doing wrong?

                          MAME and Lr-Mess are already installed. I already ran the Valerino script.

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

                            @dteam said in new scriptmodules (lr-vice-xvic, gsplus, proper lr-mess integration!):

                            @folly

                            Hi Folly

                            1 - I pressed F4
                            2 - I put generate-lr-mess-systems.sh in /home/pi/RetroPie-Setup
                            3- cd /home/pi/RetroPie-Setup
                            4 - bash generate-lr-mess-systems.sh -h

                            It ran, but nothing happened

                            What I'm doing wrong?

                            MAME and Lr-Mess are already installed. I already ran the Valerino script.

                            I tried it here, and it works. no problem.

                            Did you see the help text with option -h (program only outputs help text with -h) ?
                            Try to create 1 system, like this :

                            bash generate-lr-mess-systems.sh astrocde
                            

                            output has to be something like this :

                            start
                            do  3 dec 2020 15:41:35 CET
                            read system(s)
                            - got information for 1 unique system(s)
                            - got information for creating 2 script files
                            read all available extensions per system(s)
                            read compatible extension(s) for the individual media
                            read computer description(s)
                            generate and write the generated-lr-mess-<system><-media>.sh script files
                            stop
                            do  3 dec 2020 15:41:37 CET
                            

                            If you then run RetroPie-Setup the file is seen in the experimental packages :
                            lr-mess-astrocde-cart

                            Did you get an error in the terminal ?

                            Use this to see if you have the standalone mame installed :

                            ls /opt/retropie/emulators/mame/mame
                            

                            You have it, if the output is :

                            /opt/retropie/emulators/mame/mame
                            
                            DTEAMD 1 Reply Last reply Reply Quote 0
                            • DTEAMD
                              DTEAM @Folly
                              last edited by DTEAM

                              @folly

                              Hi Folly,

                              Yes , for MAME standalone
                              Here is my output
                              1.jpg
                              2.PNG

                              It works !!!!!!! I see It in my experimental packages and I installed It.
                              Thank you !! Great work

                              Fine tuning comment: For Retropie existing systems, sometime Retropie names don't match MESS names.
                              Ex.: gameboy (MESS) gb (retropie)
                              jaguar (MESS) atarijaguar (retropie)
                              I fixed those by myself, but It could be interesting to match Retropie names.

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

                                @dteam said in new scriptmodules (lr-vice-xvic, gsplus, proper lr-mess integration!):

                                @folly

                                It works !!!!!!! I see It in my experimental packages and I installed It.
                                Thank you !! Great work

                                Nice to hear it works. Do you have games already running ?

                                Fine tuning comment: For Retropie existing systems, sometime Retropie names don't match MESS names.
                                Ex.: gameboy (MESS) gb (retropie)
                                jaguar (MESS) atarijaguar (retropie)
                                I fixed those by myself, but It could be interesting to match Retropie names.

                                Indeed, I have been thinking of this.
                                The script has been basically made to generate everything automatically.
                                This depends fully on the MAME database.
                                That is why mame/mess names are used. Perhaps for MSX or partly matching names this is possible. But for other systems ?
                                If RetroPie names can't be extracted from mame or elsewhere, you have to create a renaming database manually. With over 2700 systems, thats quite challange.
                                There are also systems that use a mouse. I was hoping that I could extract that information but, up till now, I didn't find this information within mame. It would be nice to implement that also, but if we can't extract it, then this information has to be manual added to a database also.
                                Up till now, I don't have a good idea about this.

                                EDIT : Perhaps I got it wrong, re-thinking this. Well there aren't that many systems in RetroPie after all. Perhaps we only have to do 50 max. What do you think ?

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

                                  @folly said in new scriptmodules (lr-vice-xvic, gsplus, proper lr-mess integration!):

                                  Do you have games already running ?

                                  Yes, gameboy games like Disney Aladdin, Mario Land etc.
                                  It works great.

                                  I switched gameboy for gb

                                  lr-mess-gameboy-cart = "/home/pi/RetroPie-Setup/scriptmodules/run_mess.sh /opt/retropie/emulators/retroarch/bin/retroarch /opt/retropie/libretrocores/lr-mess/mess_libretro.so /opt/retropie/configs/gb/retroarch.cfg gameboy /home/pi/RetroPie/BIOS -cart %ROM%"
                                  

                                  and move config files (excepted retroarch.cfg) from gameboy to gb and everything work perfectly.

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

                                    @folly said in new scriptmodules (lr-vice-xvic, gsplus, proper lr-mess integration!):

                                    Perhaps we only have to do 50 max. What do you think ?

                                    Yes, I agree. Maybe less, because MAME/MESS not support all those systems. I think.

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

                                      @dteam said in new scriptmodules (lr-vice-xvic, gsplus, proper lr-mess integration!):

                                      @folly said in new scriptmodules (lr-vice-xvic, gsplus, proper lr-mess integration!):

                                      Perhaps we only have to do 50 max. What do you think ?

                                      Yes, I agree. Maybe less, because MAME/MESS not support all those systems. I think.

                                      Perhaps I can combine this in the "batch" file generate-desired-systems.sh .
                                      At first this file was made for testing. But I think it can do both functionalities :

                                      • work as a batch script
                                      • work as a database for renaming, extra configs or other usefull information.

                                      If I have the time, perhaps I will look at this solution.

                                      Note that I have made a similar script (not on github yet)
                                      This script makes scripts that hold media independant rom-directory's.
                                      This works actually better because every type of media can have it's own directory, so you don't have to switch startups.
                                      But with this solution you can't use RetroPie names anymore.
                                      Second drawback is that you have multiple romdirectory's for 1 system.

                                      ps. Nice to hear it is working great. I really think it's unlocking potential ;-)

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

                                        @DTEAM

                                        It looks like I have made some progress in matching names.
                                        I have made a working "for/for/if function" that can compare /home/pi/RetroPie-Setup/platforms.cfg against the data extracted from standalone MAME.

                                        I have already got 2 exact matches in the systemdescriptions :

                                        • "Vectrex"
                                        • "Game Boy"

                                        Altough for "Vectrex" the system/romdir is the same.
                                        This is not the case with "Game Boy".
                                        I have not yet added this, but when I have a match, I can use the RetroPie system/romdir name instead.
                                        So this looks a bit promising.

                                        I also looked into global matches, so if a mess systemdescription contains "MSX" or "Amiga"
                                        Tested this with a manual (not extrated) test array. This also works, but I don't have a solution yet on extracting and matching parts for that mather.

                                        A total solution could be something like this (but I don't know for sure) :

                                        • First do the global matches with a manual array with, for example, "MSX" "Amiga" "Apple".
                                        • Then do the exact matches.
                                        • With no matches, stick with mess names.

                                        Trouble is though :
                                        You have to check 5699 files against 86 system platforms.
                                        With exact and global matches you have to do this 2 times.
                                        So you have to do a million checks if you want to check all.
                                        I don't know how much time this process will take.
                                        But for one system this is doable.
                                        EDIT: I did the first exact matching test, this took 4 minutes.
                                        That is remarkable faster than thougt it would be.
                                        (I think roughly 500000 checks)
                                        Looks really promising.

                                        Example global match "MSX"(for now this is a manual one) :

                                        no match - mess - HB-F700P (MSX2) -- mess - Sega Master System
                                        no match - mess - HB-F700P (MSX2) -- mess - Sega Mega Drive
                                        match - mess - HB-F700P (MSX2) -- rp - MSX (hbf700p can be changed into msx)
                                        no match - mess - HB-F700P (MSX2) -- mess - Thomson MO/TO
                                        

                                        or also a global match (Atari 2600)(this could be an extracted one):

                                        no match - mess - Atari 2600 (NTSC) -- mess - MSX
                                        no match - mess - Atari 2600 (NTSC) -- mess - Vectrex
                                        match - mess - Atari 2600 (NTSC) -- rp - Atari 2600 (a2600 can be changed into atari2600) 
                                        

                                        An exact match (Game Boy) :

                                        no match - mess - Game Boy -- mess - Sega Gamegear
                                        no match - mess - Game Boy -- mess - Game Boy Advance
                                        match - mess - Game Boy -- rp - Game Boy  (gameboy can be changed into gb) 
                                        no match - mess - Game Boy -- mess - Game Boy Color
                                        no match - mess - Game Boy -- mess - Nintendo Gamecube
                                        

                                        EDIT: I added lines in my testscript, this will now output exact matches (doubles are compatible with different media types) :

                                        101 a5200 -- atari5200
                                        1973 gameboy -- gb
                                        1984 gbcolor -- gbc
                                        2556 intv -- intellivision
                                        2759 kaypropc -- pc
                                        2760 kaypropc -- pc
                                        3735 oric1 -- oric
                                        3736 oric1 -- oric
                                        3936 pce -- pcengine
                                        3937 pce -- pcengine
                                        4711 spectrum -- zxspectrum
                                        4712 spectrum -- zxspectrum
                                        4713 spectrum -- zxspectrum
                                        5293 vboy -- virtualboy
                                        
                                        DTEAMD 1 Reply Last reply Reply Quote 1
                                        • DTEAMD
                                          DTEAM @Folly
                                          last edited by DTEAM

                                          @folly

                                          Nice work you did !!!
                                          I have use generate-desired-systems.sh for lr-mess handheld systems and It works like a charm.

                                          You should find a way to put that on the official Retropie setup. It’s the best way I ever seen to have an easy access to lr-mess systems.

                                          On my side, I'm working on MAME artwork for lr-Mess handheld console. A lot already exist but somes are missing like Gamate, GameMaster, Pocket Station, SVMU and GP32. I did Gamate and GameMaster. I'll do Pocket Station, SVMU and GP32 this week.

                                          I'll share those when It will be finished.

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

                                            @dteam said in new scriptmodules (lr-vice-xvic, gsplus, proper lr-mess integration!):

                                            @folly

                                            Nice work you did !!!

                                            Thank you for the compliment.

                                            I have use generate-desired-systems.sh for lr-mess handheld systems and It works like a charm.

                                            I astounded myself too.
                                            It works even better than I ever could imagine.

                                            You should find a way to put that on the official Retropie setup. It’s the best way I ever seen to have an easy access to lr-mess systems.

                                            Well, for the future I it could be a possibility, but before that, there can be added much more functionality.
                                            You have to know that, for now, my script is just automating the @valerino stuff.
                                            So basically we don't have to make the seperate system scripts anymore.
                                            But for the basic idea, the credits go to @valerino . It all depends on his run_mess.sh script.
                                            There has already been some discussion about intergrading Valerino's scripts into the official RetroPie-Setup here :
                                            https://retropie.org.uk/forum/topic/27837/integrating-lr-mess-quasi-cores-into-retropie-setup

                                            So I think, before that happens, there is still a lot to be done to make it approved somehow.

                                            On my side, I'm working on MAME artwork for lr-Mess handheld console. A lot already exist but somes are missing like Gamate, GameMaster, Pocket Station, SVMU and GP32. I did Gamate and GameMaster. I'll do Pocket Station, SVMU and GP32 this week.

                                            I'll share those when It will be finished.

                                            Nice ! , I am looking forward to that.
                                            Then I have to install a bunch more. I hope I have the time for that.

                                            ps. updated the script : now the .zip extension is always added in the generated script. So .zip files will appear in emulationstation.

                                            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.