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

    Create a custom ES system able to launch games for many systems

    Scheduled Pinned Locked Moved Ideas and Development
    emulationstatiocustomisationscustom theme
    157 Posts 15 Posters 67.4k 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.
    • meleuM
      meleu @spruce_m00se
      last edited by

      @spruce_m00se I would love to have a Mega Man category, I just need a cool SVG logo for it...

      • Useful topics
      • joystick-selection tool
      • rpie-art tool
      • achievements I made
      spruce_m00seS UDb23U 2 Replies Last reply Reply Quote 1
      • mattrixkM
        mattrixk @meleu
        last edited by

        @meleu Is it possible to create symbolic links on a windows machine and move them over, or does it have to be done on the Pi itself. I see them in my mind basically as shortcuts to the real file, but I'm guessing it's a bit more complicated than that.

        I have the idea to have a new System for "Classics" and then in the have folders and subfolders within that system eg:

        Classics
          - Super Mario
            - NES
              - Mario 1.nes
              - Mario 2.nes
            - SNES
              - Mario 3.sfc
          - Tetris
            - Gameboy
              - Tetris.gb
            - NES
              - Tetris 2.nes
            - SNES
              - Super Tetris.sfc
        

        Etc.

        Do you think that would be possible?

        My ES themes: MetaPixel | Spare | Io | Indent

        meleuM 1 Reply Last reply Reply Quote 0
        • spruce_m00seS
          spruce_m00se @meleu
          last edited by

          @meleu maybe if im free tommorow at work I will knock something up in photoshop.

          1 Reply Last reply Reply Quote 1
          • meleuM
            meleu @mattrixk
            last edited by

            @mattrixk perfectly possible (but I wouldn't use so many directories, too many button presses until launch a game).

            Unfortunately symbolic links can only be created in a Linux partition.

            • Useful topics
            • joystick-selection tool
            • rpie-art tool
            • achievements I made
            1 Reply Last reply Reply Quote 0
            • E
              EctoOne
              last edited by EctoOne

              Is there a way to batch create the links? I really want to combine gb, gbc, nes, snes etc under Nintendo and Gamegear, Sega 32x etc under Sega. And even i don't have that many Roms it seems like a lot of work.
              Also is it possible to remove the unused systems afterwards from the es_system.cfg without breaking this method?

              meleuM 1 Reply Last reply Reply Quote 0
              • meleuM
                meleu @EctoOne
                last edited by meleu

                @EctoOne assuming you're comfortable with the basics of a Linux shell, these commands can help you (you need to adapt to your needs):

                # in this example I'm creating links for every file in gameboy directory
                original_system="/home/pi/RetroPie/roms/gb"
                destination_system="/home/pi/RetroPie/roms/nintendo"
                while read -r file; do
                  ln -s "$original_system/$file" "$destination_system/$file"
                done < <(ls "$original_system")
                

                You guys need to keep in mind that scraped data don't work using this method.

                Also is it possible to remove the unused systems afterwards from the es_system.cfg without breaking this method?

                I didn't test, but I can't see a problem.

                • Useful topics
                • joystick-selection tool
                • rpie-art tool
                • achievements I made
                E meleuM 3 Replies Last reply Reply Quote 0
                • E
                  EctoOne @meleu
                  last edited by

                  @meleu said in Create a custom ES system able to launch games for many systems:

                  You guys need to keep in mind that scraped data don't work using this method.

                  Well in that case i won't use it. Thanks for getting my hopes up! :P (Just kidding)

                  TMNTturtlguyT 1 Reply Last reply Reply Quote 0
                  • TMNTturtlguyT
                    TMNTturtlguy @EctoOne
                    last edited by

                    @EctoOne @meleu are you able to create a new gamelist within the kanomi folder that will recognize the linked games?

                    @EctoOne if you see the steps in my original post that inspired @meleu's method, you would be able to create a new gamelist for the "kanomi" system and have metadata etc. in the coming days I will have an updated process for my method. It works just like the Arcade folder.

                    1 Reply Last reply Reply Quote 1
                    • meleuM
                      meleu @meleu
                      last edited by meleu

                      @meleu said in Create a custom ES system able to launch games for many systems:

                      You guys need to keep in mind that scraped data don't work using this method.

                      Actually I meant "scraped data don't work automatically". You'll need to edit gamelist.xml.

                      edit: I updated the OP with this info.

                      • Useful topics
                      • joystick-selection tool
                      • rpie-art tool
                      • achievements I made
                      TMNTturtlguyT E 2 Replies Last reply Reply Quote 2
                      • TMNTturtlguyT
                        TMNTturtlguy @meleu
                        last edited by TMNTturtlguy

                        @meleu perfect! And my recommendation is to copy paste the gamelist info for each rom from the original gamelist and just update the path for the draped data to point to the folder location.

                        Edit: Scraped - stupid phone!

                        1 Reply Last reply Reply Quote 1
                        • E
                          EctoOne @meleu
                          last edited by

                          @meleu Ahh good to know, will try it on the weekend.

                          1 Reply Last reply Reply Quote 0
                          • lilbudL
                            lilbud
                            last edited by

                            Can the games be scraped in a custom system?

                            Creator of the Radiocade: https://retropie.org.uk/forum/topic/6077/radiocade

                            Backlog: http://backloggery.com/lilbud

                            meleuM 3 Replies Last reply Reply Quote 0
                            • meleuM
                              meleu @lilbud
                              last edited by meleu

                              @lilbud I think scrapers that uses hashes cand do it. Sselph can, but I think you'll need to invoke it from command line (not the retropie_setup frontend).

                              UPDATE: I tested Sselph's scaper from RetroPie-Setup menu and it works pretty well. There's no need to do any tweak, just select konami in Scrape chosen system.

                              • Useful topics
                              • joystick-selection tool
                              • rpie-art tool
                              • achievements I made
                              1 Reply Last reply Reply Quote 0
                              • meleuM
                                meleu @lilbud
                                last edited by meleu

                                @lilbud but it would duplicate several files...

                                When I have a free time I'll try to automate this thing...

                                Edit: Duh! With an automated way to create a gamelist.xml there's no need to use symbolic links... Why can't I stop writing these damn scripts?!?! Am I a bash addicted? Should I look for a professional treatment?

                                • Useful topics
                                • joystick-selection tool
                                • rpie-art tool
                                • achievements I made
                                1 Reply Last reply Reply Quote 1
                                • meleuM
                                  meleu @lilbud
                                  last edited by meleu

                                  @lilbud I've just used the ES builtin scraper, and when I chose only KONAMI to scrape, I got this warning:

                                  0_1496850171125_Captura de tela de 2017-06-07 12:36:42.png

                                  And indeed the results aren't very accurate, but it works reasonably well:

                                  0_1496850312208_Captura de tela de 2017-06-07 12:41:08.png

                                  Let me see what sselph's scraper can do...

                                  UPDATE: sselph scraper in RetroPie-Setup runs pretty well and (as expected) much faster than the ES scraper.

                                  • Useful topics
                                  • joystick-selection tool
                                  • rpie-art tool
                                  • achievements I made
                                  TMNTturtlguyT 1 Reply Last reply Reply Quote 2
                                  • TMNTturtlguyT
                                    TMNTturtlguy @meleu
                                    last edited by TMNTturtlguy

                                    @meleu any update on how save states work? Where do the save files get saved? If I play TMNT in the konami folder and save progress. Will I be able to open my saved game from the Konami folder? I am guessing that the script runs the same as we discussed in the other thread? Games played in konami will save in Konami, and i open the same game in NES folder, it will not have that saved game info.

                                    Basically, the 2 folders are independent. I can't play in one folder and then access the saved info from the other folder. Correct?

                                    Edit: also launching images - I assume that the launching image will match whatever the current launch image is within the NES folder? So if all my NES roms launch an NES splash, when i launch from konami i will still get the NES splash?

                                    B meleuM 2 Replies Last reply Reply Quote 0
                                    • B
                                      backstander @TMNTturtlguy
                                      last edited by backstander

                                      @TMNTturtlguy

                                      Where do the save files get saved?

                                      The Save States will be saved next to the rom in the same folder unless you manually override this in /opt/retropie/configs/konami/retroarch.cfg. You might be able to fix this if you use Symbolic Links for the Save States in the Konami as well.

                                      also launching images

                                      It will look for the "Konami" system launching image at /opt/retropie/configs/konami/launching.jpg and each games's launching image /opt/retropie/configs/konami/RomName-launching.png

                                      Symbolic Links are your friend!

                                      This is why @lilbud said "Don't try this at home, kids!"

                                      TMNTturtlguyT lilbudL 2 Replies Last reply Reply Quote 0
                                      • TMNTturtlguyT
                                        TMNTturtlguy @backstander
                                        last edited by

                                        @backstander Hmmmmmm...Maybe @meleu can expand on this, but i think the point of @meleu script is that we are not creating /opt/retropie/configs/konami/ therefore none of the locations you mention in your post exist. In my original build of how this works i created the configs folder and the retroarch.cfg, thus launching.jpg and save files would work. The problem was you had to place your rom in a new roms folder of the same name, thus having 2 instances of 1 rom as well as needing to set the roms emulator. My understanding of the sybmolic link is that it is linking to the rom in its original folder or example nes and then the script says, use the ./configs/nes/retroarch.cfg
                                        This would mean that it isn't using the konami.cfg and there is no location to launch an image from either.

                                        B 1 Reply Last reply Reply Quote 1
                                        • B
                                          backstander @TMNTturtlguy
                                          last edited by

                                          @TMNTturtlguy

                                          but i think the point of @meleu script is that we are not creating /opt/retropie/configs/konami/

                                          After a closer look at @meleu script, I believe you are correct! On step 8, it gets the system's name to launch from so theoretically it should use the corresponding /opt/retropie/configs/ directory's retroarch.cfg but without fully testing it myself, I'm not sure what it actually does lol. Since it also points to the actual ROM location, it should keep the Save States right next to that ROM in it's original location but again, it would be worth a test as well.

                                          The launching images I'm not sure what will happen. Will it look for it in the correct directory or /opt/retropie/configs/konami/launching.jpg. I'm not sure how launching images get invoked in the code.

                                          1 Reply Last reply Reply Quote 0
                                          • lilbudL
                                            lilbud @backstander
                                            last edited by

                                            @backstander said in Create a custom ES system able to launch games for many systems:

                                            This is why @lilbud said "Don't try this at home, kids!"

                                            Maybe if y'all listened to me, you would've not jumped into this rabbit hole. Especially @meleu, he is so far into the bash rabbit hole, you'd have to skydive to the bottom.

                                            Creator of the Radiocade: https://retropie.org.uk/forum/topic/6077/radiocade

                                            Backlog: http://backloggery.com/lilbud

                                            TMNTturtlguyT 1 Reply Last reply Reply Quote 2
                                            • 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.