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.5k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      Folly @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
                      • DTEAMD
                        DTEAM
                        last edited by DTEAM

                        I have work on MAME artwork for lr-Mess handheld consoles. A lot already exist but somes was missing like Gamate, GameMaster, Pocket Station, SVMU and GP32. I did those and I combined them with existing ones in a folder (click this link)

                        Those Artworks have multiple view. Here is a small tutorial to use the lr-mess artworks on Retropie and be able to switch quickly from one view to another.

                        1 - Copy files from here to /home/pi/RetroPie/BIOS/mame/artwork You will have to create the artwork folder.

                        2-Install a handheld system with Folly script (above method)

                        HANDHELD SYSTEMS LIST
                        advision
                        gamate
                        gameboy
                        gamecom
                        gamegear
                        gamepock
                        gba
                        gbcolor
                        gbpocket
                        gmaster
                        gp32
                        lynx
                        megaduck
                        microvsn --------> No handheld systems artwork found - to found or to do
                        ngp
                        ngpc
                        pockstat
                        pokemini
                        svision
                        svmu --------> some issues with artwork, It works on a 5inch screen but not on a regular TV issue solved
                        vectrex
                        wscolor
                        wswan

                        3- Choose a system and select the good Mess system/emulator line when your game load.

                        4- Connect a keyboard (only the first time). In the game, press Tab and go in (Input (general)) and User Interface.
                        6.jpg

                        5.jpg

                        5 - Set Right Thumb as (Config Menu) and Left Thumb as (UI Cancel). With that, you will be able to go quickly in and out the menu. To select It’s B or A Button but It’s already set . Maybe you will have to set up-down-left-right. Because It's lr-Mess, you can't config some buttons. Do It, with right and left thumb or Left trigger and Right Trigger only.
                        controller.png
                        4.jpg

                        6 - Now, you can go back to video options and select the view you want. Don't forget to set Input (this Machine) to set your game controller if It's not done properly.
                        3.jpg
                        10.jpg
                        9.jpg
                        11.jpg
                        7.jpg
                        8.jpg

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

                          @dteam

                          I hope I can install your artwork soon. :-)

                          Here an update on my script :

                          I keep my stable version online.

                          Today I finished my test version.
                          It took me about 14 hours to take it this far and I am quite happy about it.
                          If all goes to plan, I will put it on github this evening.
                          I will call it :
                          generate-lr-mess-systems-1v3-alpha.sh

                          I think I have made a quite unique function to match MESS/MAME names to RetroPie names.
                          I am quite impressed on how this works. ;-)
                          I have only tested this with single system creations,
                          but I think it will do most with no problem.
                          (or at least I hope so)

                          Only the system name "PC" is a problem and perhaps I forgot some system.
                          That is why it's in an alha testing state.
                          Perhaps more problems arise.

                          It will output names (a bit shorter, for now I keep "gen" in it, to distingquish between original valerino and my generated versions):
                          gen-lr-mess-<RetroPiename>-<MESSname><-media>.sh

                          Can you test this version a bit for me ?

                          DTEAMD 1 Reply 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!):

                            Can you test this version a bit for me ?

                            Yes, no problem. I will test regular Retropie systems like:
                            bash generate-lr-mess-systems-1v3-alpha.sh nes
                            bash generate-lr-mess-systems-1v3-alpha.sh a2600
                            bash generate-lr-mess-systems-1v3-alpha.sh a5200
                            bash generate-lr-mess-systems-1v3-alpha.sh n64
                            bash generate-lr-mess-systems-1v3-alpha.sh pce
                            bash generate-lr-mess-systems-1v3-alpha.sh pcecd
                            bash generate-lr-mess-systems-1v3-alpha.sh neogeo
                            bash generate-lr-mess-systems-1v3-alpha.sh neocd
                            bash generate-lr-mess-systems-1v3-alpha.sh snes
                            bash generate-lr-mess-systems-1v3-alpha.sh 3do
                            bash generate-lr-mess-systems-1v3-alpha.sh 32x

                            with generate-desired-systems.sh

                            I had an issue with SVMU artwork. I'll try to fix It. It works on a 5inch screen but not on a regular TV

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

                              @dteam

                              Did a fix on neogeo :
                              Added memc media in the filter for detecting neogeo.

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

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

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

                                .7z extension could be also add to es_systems.cfg.

                                It works. The names are doubled like:

                                • lr-mess-snes-snes-cart or
                                • lr-mess-a5200-a5200-cart

                                Not the purpose, but just to know:

                                Nes (good performance)
                                SNES won't load (BIOS issue)
                                a2600 (good performance)
                                a5200 (screen view to set)
                                N64 run at 25 FPS (really slow)
                                32x (won't load , probably bad romset)
                                3DO (stop on 3DO screen, but not freeze)

                                I confirm, the names are matching between Retropie and MAME. It works!

                                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!):

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

                                  7z. ext. could be also add.

                                  Indeed, was thinking about that. I can implement this.
                                  EDIT : .7z is added in the scripts now.

                                  It works. The names are doubled like:

                                  • lr-mess-snes-snes-cart or
                                  • lr-mess-a5200-a5200-cart

                                  EDIT : I see now Atari 5200 does not have the right name, will try to fix this
                                  (EDIT: checked it, I have a good file (no issue): gen-lr-mess-atari5200-a5200-cart.sh)

                                  Yes that is correct. Both names are in the filemame :
                                  gen-lr-mess-<RetroPiename>-<MESSname><-media>.sh
                                  Perhaps there is a better way of naming.
                                  We can discuss that.
                                  For now I did this to check The RetroPie names against the MESS name.
                                  (EDIT: now it was already usefull to detect an issue with a5200)
                                  (EDIT: checked it, I have a good file (no issue): gen-lr-mess-atari5200-a5200-cart.sh)
                                  In these examples they are both the same.
                                  But with others they aren't.
                                  With msx you get something like this :
                                  msx-hbf700p-flop1 quite usefull, I think.

                                  Not the purpose, but just to know:

                                  Nes (good performance)
                                  SNES won't load (BIOS issue)
                                  a2600 (good performance)
                                  a5200 (screen view to set)
                                  N64 run at 25 FPS (really slow)
                                  32x (won't load , probably bad romset)
                                  3DO (stop on 3DO screen, but not freeze)

                                  I confirm, the names are matching between Retropie and MAME.

                                  Thanks for already testing a bit !

                                  I downloaded the artwork and tested it on gameboy.
                                  The artwork works oob. Nice job.
                                  2020-12-08-210454_800x600_scrot-resized.png 2020-12-08-210443_800x600_scrot-resized.png

                                  Only my space ship was toooo fast, Game over ^^

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

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

                                    bash generate-lr-mess-systems-1v3-alpha.sh nes
                                    bash generate-lr-mess-systems-1v3-alpha.sh a2600
                                    bash generate-lr-mess-systems-1v3-alpha.sh a5200
                                    ....

                                    Perhaps you know. Perhaps others don't.
                                    But this is also nice in the terminal.

                                    Just copy and past the multiple lines will do the job also.
                                    Isn't that great. ;-)

                                    1 Reply Last reply Reply Quote 1
                                    • TPRT
                                      TPR
                                      last edited by

                                      I'm trying to install GSPlus but I'm running into the following error. Any ideas? Thank you.
                                      GSplus error.jpg

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

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

                                        I'm trying to install GSPlus but I'm running into the following error. Any ideas? Thank you.

                                        You did not add much info to your problem.
                                        But it seems like you are installing the standalone gsplus from source (original valerino)

                                        Tried this for you now, I have the same error (using Raspberry Pi OS Buster on pi4)
                                        You have to read your specific/latest log in to find out more :
                                        /home/pi/RetroPie-Setup/logs
                                        In my log => fatal error: readline/readline.h file does not exist.
                                        So it seems to be a fault in the source code.
                                        So the compilation is terminated and thats why the binary isn't found.

                                        The script gets his sourcode from :
                                        https://github.com/digarok/gsplus

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

                                          @DTEAM

                                          I want to discuss the BIOS directory for my generated scripts.

                                          For my script I was thinking to change the BIOS directory so all lr-mess bios files go in there. Just to seperate them from the others. What do you think of that idea ?

                                          So the lr-mess-bios directory is going to be something like :
                                          /home/pi/RetroPie/BIOS/lr-mess
                                          (perhaps there is a better way)

                                          I think it's also possible to separate them on mess names, so we get a be view on what is where. Like this :
                                          /home/pi/RetroPie/BIOS/lr-mess/<MESSsystem>

                                          I don't know if I change it in the script, if this will work directly.
                                          But if it works, what do you think of this idea ?

                                          1 Reply Last reply Reply Quote 0
                                          • TPRT
                                            TPR @Folly
                                            last edited by

                                            @folly I have added that file from the source but I'm still getting errors. This is what my log currently tells me:

                                            [ 16%] Building C object bin/atbridge/CMakeFiles/atbridge.dir/port.c.o
                                            [ 18%] Linking C static library libatbridge.a
                                            [ 18%] Built target atbridge
                                            [ 20%] Linking C executable to_pro
                                            [ 20%] Built target to_pro
                                            make: *** [Makefile:84: all] Error 2
                                            /home/pi
                                            Could not successfully build gsplus - Apple II/GS emulator (/home/pi/RetroPie-Setup/tmp/build/gsplus/bin/GSplus not found).

                                            Any further help would be appreciated. Thank you.

                                            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.