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

    Change es_systems.cfg Script

    Scheduled Pinned Locked Moved Ideas and Development
    essystems.cfgsystemsscript
    6 Posts 3 Posters 2.9k 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.
    • TMNTturtlguyT
      TMNTturtlguy
      last edited by

      For anyone interested, i have created a script that will change your es_systems.cfg file from the retropie menu.

      Background, Why did I create this tool?

      • Lets say I have 40 systems with roms and art setup. Includes standard systems like NES and Game Boy as well as custom systems like Mega Man and Fighting. Current es_systems.cfg has all 40 systems included.

      • Case 1: Standup Arcade - I want to show only actual console systems like NES, Atari, Arcade, Neo Geo.

      • Case 2: Bartop Arcade - I want to show only custom systems like, Mega Man, TMNT, Mario.

      • Case 3: TV setup (playing on HDTV) - I want a Mix of favorite consoles and customs, Maybe just 10 systems i play most.

      • Case 4: I want to show only Neo Geo and Capcom systems so I can use @ruckage really cool neogeo theme!

      • Example Use Case: I am playing on my bartop with a friend, and well we are having a few adult beverages at the bar, maybe a few to many! We decide we want to play ZX Spectrum, but that isn't currently in the es_systems i have set because I am showing only custom systems (case 2 above). I want to be able to go to the menu or retropie menu, choose Chang_ES_Systems. Choose - All systems (shows everything), or Custom Systems (shows case 2), or Mix Systems (shows case 3). I select which one i want to run, the script changes the systems, restarts ES and what do you know, i now have all 40 systems that i can choose from. No need to FTP in or setup a keyboard and type in the command line and rename files.

      How to install/make this work:

      download the script and place it in /home/pi/RetroPie/retropiemenu/
      Github Download Link

      In order to run the script you must create the following folder:
      /opt/retropie/configs/all/emulationstation/es_systems

      Then within that folder create these 6 folders:
      All
      Consoles
      Customs
      Favorites
      Hacks
      Neocapcom

      Example of the full path: /opt/retropie/configs/all/emulationstation/es_systems/Favorites

      Within each folder you have created place a es_systems.cfg file. The file needs to be named the same in each folder, but the systems can be different.

      That is it! Restart emulationstation. Go into Retropie and select Change_ES_Systems from the menu. Select which es_systems.cfg you want to run. ES will auto restart and your systems will be shown!

      Special thanks to @meleu and @cyperghost for all their hard work and continued efforts to help me find a way to implement the autorestart feature of this script.

      This tool has been tested by several users and works really well. Let me know if you have any questions.

      link to original thread

      mattrixkM 1 Reply Last reply Reply Quote 7
      • mattrixkM
        mattrixk @TMNTturtlguy
        last edited by

        @TMNTturtlguy This is awesome but I have a question (sorry if it was already answered in the other thread):

        Then within that folder create these 6 folders: All, Consoles, Customs, Favorites, Hacks, Neocapcom

        Does it have to be those 6 folders, or can it be any folders? I really only want 2 folders, NAS and USB. The NAS config that points to my NAS drive for when I'm at home, and the USB config that points to a portable hard drive for when I'm away (friend's house, holidays, etc).

        My ES themes: MetaPixel | Spare | Io | Indent

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

          @mattrixk unfortunately it has to be those folders. The script has to look to a folder in order for it to work so the names of the path are "hard coded" into the script. The beauty of this is that you can put whatever es_systems.cfg file you want within the folder, so you could just use the Consoles folder for NAS and the Customs folder for USB, or however you want to set them up.

          The other option is that you go into the script and edit it on your specific machine. Here are directions on how to do that, you can follow these steps to modify any of the 6 options; I will outline how to change Customs which is case C). Be sure to follow the casing, this is case sensitive. I will change to NAS per your request. The line numbers associate with the line in notepad ++.

          1. Edit line 46: Current - C "Change to es_systems Customs and restart ES"
            Modify - C "Change to es_systems NAS and restart ES" \
          2. Edit line 55: Current - C) change_to_customs ;;
            Modify - C) change_to_nas ;;
          3. Edit line 77: Current - function change_to_customs() {
            Modify - function change_to_nas() {
          4. Edit line 79: Current - cp /opt/retropie/configs/all/emulationstation/es_systems/Customs/es_systems.cfg /opt/retropie/configs/all/emulationstation/
            Modify - cp /opt/retropie/configs/all/emulationstation/es_systems/NAS/es_systems.cfg /opt/retropie/configs/all/emulationstation/

          Again, follow these steps for any of the other folders to change their names. The names of the folders are arbitrary, you can make your es_systems.cfg anything you want within them, you just need to know what you place in each. Let me know if this makes sense and if you need any help. Thanks

          mattrixkM 2 Replies Last reply Reply Quote 1
          • mattrixkM
            mattrixk @TMNTturtlguy
            last edited by

            @TMNTturtlguy That's awesome, cheers mate. I hope I'll have to chance to try this out soon.

            My ES themes: MetaPixel | Spare | Io | Indent

            1 Reply Last reply Reply Quote 0
            • mattrixkM
              mattrixk @TMNTturtlguy
              last edited by

              Hey @tmntturtlguy I just got this up and running on the new system I'm setting up. I made a couple of tweaks, but it works great.

              I changed the name from change_es_systems.sh to Change ES Sytems.sh so it has a better appearance in the settings menu. I also removed all of your custom systems (all, consoles, favourites, etc) and replaced them with "NAS" and "SD" so I have a simple and quick method to swap between running roms from the NAS drive, and any time I need to take my Pi elsewhere (holidays, friend's house, etc).

              I put the changes in a pastebin if you want to see them.

              Thanks heaps for this one mate, it works a treat!

              My ES themes: MetaPixel | Spare | Io | Indent

              1 Reply Last reply Reply Quote 1
              • FlyingTomahawkF
                FlyingTomahawk
                last edited by FlyingTomahawk

                Its been a while since i implemented this and everything works just fine. I wonder though, would it be technically possible to load a different splash video or splash screen depending on the loaded es_system file?

                For example, for console games a splash video and for arcade games a different splash video.

                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.