RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    es_systems.cfg systems file extensions and rom filenames

    Scheduled Pinned Locked Moved Help and Support
    emulationstatiov2.11.2rpcapitalupper-caseessystems.cfg
    34 Posts 3 Posters 4.6k 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.
    • mituM
      mitu Global Moderator @mitu
      last edited by mitu

      @mitu said in es_systems.cfg systems file extensions and rom filenames:

      I'll take a look to see if it's intentional or not.

      Yes, it seems intentional:

      • when the list of extensions is populated, they're lower-cased and put in the list - https://github.com/RetroPie/EmulationStation/blob/2fd3a78e5297d24781b2eb89c76210eec054c0a2/es-app/src/SystemData.cpp#L190

      • when a system's folder is read and the gamelist is populated, each file extension is lower-cased first - https://github.com/RetroPie/EmulationStation/blob/2fd3a78e5297d24781b2eb89c76210eec054c0a2/es-app/src/SystemData.cpp#L108C81-L108C81

      So it's not possible to add .exe and exclude .EXE. It's probably better for Linux or other systems where the filesystem is case-sensitive, the extensions of the files don't need to be an exact match (i.e. lowercase only).

      2Play2 2 Replies Last reply Reply Quote 1
      • 2Play2
        2Play @mitu
        last edited by 2Play

        @mitu tx again for looking into it.
        So the reason its working with xml specifics can be ignored as per your patch above.

        Maybe this is why not noticed when you have no xml and just roms

        To pick you brains, about the ES xml auto creation mentioned above.
        When these are supposed to be created automatically from ES.
        A complete change in the rom folder?
        Is there a cached location of these?

        My regards

        Your friend,
        2Play!

        S 1 Reply Last reply Reply Quote 0
        • 2Play2
          2Play @mitu
          last edited by

          @mitu Do you think, in the future, a condition can be included (as an enhancement) in the source code, so if OS is linux based (case-sensitive), ES to read/skip systems extensions accordingly?

          Your friend,
          2Play!

          mituM 1 Reply Last reply Reply Quote 0
          • mituM
            mitu Global Moderator @2Play
            last edited by mitu

            @2Play I don't know, but I kind of agree with the current behavior.

            1 Reply Last reply Reply Quote 0
            • S
              sleve_mcdichael @2Play
              last edited by sleve_mcdichael

              @2Play said in es_systems.cfg systems file extensions and rom filenames:

              about the ES xml auto creation mentioned above.
              When these are supposed to be created automatically from ES.

              The XML is written at end of runtime (when you exit EmulationStation.) Entries will be written for any game whose information was added or updated during the preceding runtime including last played and playcount information.

              Example: you have a folder with:

              Legend of Fitzgerald
              Super Maōri Brothers
              Tremendous Man
              

              ...in your XML it only has Legend of Fitzgerald and Super Maōri Brothers.

              You start up ES. You play Tremendous Man once, and then you go into the menu and fix the wrong name of Super Zulu Brothers to what it should be.

              Nothing happens yet. Later, you quit ES or restart the system. Now, the XML is written. A new entry is created for Tremendous Man, and an updated entry for Super Zulu Brothers, overwriting the previous Super Maōri Brothers entry. Now the XML has entries for all three.

              2Play2 1 Reply Last reply Reply Quote 1
              • 2Play2
                2Play @sleve_mcdichael
                last edited by

                @sleve_mcdichael tx for you feedback. So restart ES isnt enough in my understanding
                Full restart will be needed after the change.

                FYR If i delete the ES xml and restart the system it doesnt create a new one to replace deleted one, just displays the filenames though

                Do you know if its using a cached location somewhere

                Your friend,
                2Play!

                mituM 1 Reply Last reply Reply Quote 0
                • mituM
                  mitu Global Moderator @2Play
                  last edited by mitu

                  @2Play said in es_systems.cfg systems file extensions and rom filenames:

                  Full restart will be needed after the change.

                  No, as @sleve_mcdichael said:

                  Entries will be written for any game whose information was added or updated during the preceding runtime including last played and playcount information.

                  You need to play at least a game, so that it's info is changed and will be persisted on exit. If you don't play any game, then ES considers nothing changed so it doesn't need to save anything. Instead of playing a game you can also just mark it as favorite or scrape it so that its info changes.

                  2Play2 2 Replies Last reply Reply Quote 1
                  • 2Play2
                    2Play @mitu
                    last edited by

                    @mitu uh ok. just thought it wasnt really a requirement.
                    Ill test soonest possible

                    Your friend,
                    2Play!

                    1 Reply Last reply Reply Quote 0
                    • 2Play2
                      2Play @mitu
                      last edited by

                      @mitu Tried the favorite trick and works as you both advised.

                      Now ill check the es dev again

                      Your friend,
                      2Play!

                      2Play2 1 Reply Last reply Reply Quote 0
                      • 2Play2
                        2Play @2Play
                        last edited by 2Play

                        @mitu
                        Tested below:

                        • I have applied the 2.12.0.rp binary of ES

                        • In roms/ags there are 2 exe files as per image
                          29b3a9f7-d320-4fb8-98af-701543f55cad-image.png

                        • In roms/ags applied below test gamelist.xml

                        <?xml version="1.0"?>
                        <gameList>
                        	<game>
                        		<path>./Apprentice 1 Deluxe/App.exe</path>
                        		<name>App</name>
                        		<favorite>true</favorite>
                        	</game>
                        </gameList>
                        
                        
                        • es_systems.cfg has only .exe
                        <system>
                            <name>ags</name>
                            <fullname>Adventure Game Studio</fullname>
                            <path>/home/pi/RetroPie/roms/ags</path>
                            <extension>.exe</extension>
                            <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ ags %ROM%</command>
                            <platform>ags</platform>
                            <theme>ags</theme>
                          </system>
                        

                        Result in ES
                        ES Version and the 2 games show behind on above test.
                        printscreen10_12_2023--h12-m35-s23.jpg

                        Should I recompile? Shouldnt with xml the file with capitals .EXE to be omitted from being displayed with the bug fix?

                        Your friend,
                        2Play!

                        mituM 1 Reply Last reply Reply Quote 0
                        • mituM
                          mitu Global Moderator @2Play
                          last edited by

                          @2Play said in es_systems.cfg systems file extensions and rom filenames:

                          Should I recompile? Shouldnt with xml the file with capitals .EXE to be omitted from being displayed with the bug fix?

                          No, and I'm confused why you'd think it would.

                          2Play2 1 Reply Last reply Reply Quote 0
                          • 2Play2
                            2Play @mitu
                            last edited by

                            @mitu
                            My understanding was that what the bug fix would do.
                            "Gamelist bugfix: don't show un-registered extensions"

                            I thought that on the dev binary it would do this. Or the fix expects to see both in the xml and then exclude what is not in es_systems.cfg

                            For Reference
                            In the past, on pi3,4 if you wanted to hide a rom file from showing in the ES gamelist, you just removed the extension and these were not displayed any more

                            Its a practice many used the past years by changing the extension to CAPITAL letters and then remove from the es_systems.cfg

                            I ll try to dig up an older binary for pi4 that I used in same way and provide you the version

                            Your friend,
                            2Play!

                            mituM 1 Reply Last reply Reply Quote 0
                            • mituM
                              mitu Global Moderator @2Play
                              last edited by mitu

                              @2Play said in es_systems.cfg systems file extensions and rom filenames:

                              I thought that on the dev binary it would do this. Or the fix expects to see both in the xml and then exclude what is not in es_systems.cfg

                              It does that, but - as I explained later on - extension search is case-insensitive so if you add .exe, then .EXE is also matched even if not listed.

                              I ll try to dig up an older binary for pi4 that I used in same way and provide you the version

                              Sure, let me know the version and I'll check.

                              2Play2 1 Reply Last reply Reply Quote 0
                              • 2Play2
                                2Play @mitu
                                last edited by 2Play

                                @mitu found it!
                                2.9.3RP has this feature. Seems changed from 2.10 onwards?

                                NOTE: 2.9.6rp had the bug with the video screensaver not starting a rom any more which I see it got fixed in current version

                                To our discussion:
                                I have in ags, exactly as I wrote in https://retropie.org.uk/forum/post/291385 2h ago

                                • es_systems only .exe extension
                                • ags/subfolder game/.exe .EXE the files

                                if i rename both to .exe they both show. once I rename the unwanted winsetup with .EXE it hides
                                (no gamelist.xml whatsoever used)

                                Your friend,
                                2Play!

                                mituM 1 Reply Last reply Reply Quote 0
                                • mituM
                                  mitu Global Moderator @2Play
                                  last edited by mitu

                                  @2Play said in es_systems.cfg systems file extensions and rom filenames:

                                  Seems changed from 2.10 onwards?

                                  Seems to have been introduced with this change in 2.10.0 indeed.

                                  EDIT: I'll prepare a patch for -dev, will let you know when it's ready.

                                  2Play2 1 Reply Last reply Reply Quote 1
                                  • 2Play2
                                    2Play @mitu
                                    last edited by

                                    @mitu much appreciated.
                                    Will give you feedback when ready.

                                    Your friend,
                                    2Play!

                                    1 Reply Last reply Reply Quote 0
                                    • mituM
                                      mitu Global Moderator
                                      last edited by

                                      Ok, a patch has been added to the ES repo, it should be available if you install from source the emulationstation-dev package.

                                      2Play2 2 Replies Last reply Reply Quote 1
                                      • 2Play2
                                        2Play @mitu
                                        last edited by

                                        @mitu reverting

                                        Your friend,
                                        2Play!

                                        1 Reply Last reply Reply Quote 0
                                        • 2Play2
                                          2Play @mitu
                                          last edited by

                                          @mitu First of all thank you for taking the time to check and make a patch.
                                          Glad i managed to point you to the right info

                                          I want to confirm that your patch on latest dev (2.12.0RP-DEV) is working as supposed to and did in the past.

                                          I ve tested 2 systems, the AGS and PC98 for similar setup (upper case extensions and deleted from es_systems.cfg)
                                          Both show ONLY what is in lower case extension and hides the upper case ones (deletd from cfg)

                                          My kind regards and thank you again!

                                          Your friend,
                                          2Play!

                                          2Play2 1 Reply Last reply Reply Quote 0
                                          • 2Play2
                                            2Play @2Play
                                            last edited by

                                            @mitu hello friend again

                                            If you see the last couple mgs in this thread you will notice you applied a fix for the change took place after 2.10.0 in regards to upper case extensions showing even if not present in the es_systems of ES

                                            I have been testing on Pi5 installation of RetroPie
                                            I have the RetroPie script
                                            be25287c-4293-41f3-ad1e-c87ed81a6379-image.png

                                            Emulationstation Version 2.11.2rp, built Feb 20 2025
                                            1fbb4fff-4ec7-43ab-aa4e-544fd75cf60a-image.png

                                            I was testing the MSX with lr-bluemsx and m3u files:
                                            I will post about the m3u problems in the https://retropie.org.uk/forum/topic/16124/multidisk-msx-games-and-m3u-files?_=1742312978738
                                            as game loads but needs manually to swap to other disks

                                            But as per this post, I tested the m3u by making the multidisk file extensions in upper case example .DSK and removed the .DSK from ES es_systems.cfg for msx

                                            Both dsk and DSK show in the system even if DSK removed.

                                            In my understanding is that ES 2.11.2rp does not have your patch/fix yet, correct?
                                            Is there a reason that the team doesnt include the fix on the stable ES release (being also a feature up to 2.9.3rp?

                                            Examples:
                                            Rom folder
                                            c0e3ede4-5156-4bb4-9380-8189c743cdf5-image.png

                                            Emulationstation Version 2.11.2rp
                                            printscreen03_18_2025--h16-m24-s09.png

                                            Emulationstation Version 2.12.0rp
                                            printscreen03_18_2025--h16-m23-s05.png

                                            Your friend,
                                            2Play!

                                            mituM 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.