Recalbox Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • recalbox.com
    • Gitlab repository
    • Documentation
    • Discord

    [PROBLEM] Custom es_system.cfg

    Recalbox General
    [problem] essystem.cfg
    6
    11
    5007
    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.
    • Marcos Breviglieri
      Marcos Breviglieri last edited by

      Hi, first of all I apologize for my poor english.

      I always used custom es_system.cfg file in recalbox. Since version 6.0 RC1, I not able to use it in the same way as before.
      When I have more than one system with the same tag <name>, emulation station displays only the last entry in the cfg file.

      Example: I use Capcom and Konami roms in a separate folder, but it used the same settings as the fba_libretro folder.

      I am attaching my custom es_system.cfg

      It worked this way in all versions of the recalbox until the Christmas Beta!!!

      Zing 1 Reply Last reply Reply Quote 0
      • Zing
        Zing Global moderator Translator @Marcos Breviglieri last edited by

        @marcos-breviglieri It is intentional, the practice of modifying this file is not encouraged by the developers, since most of the people who modifies this file do this to sell the system, and the sale is illegal.

        Se a minha resposta foi útil, por favor, dê um voto positivo, clicando na seta para cima logo abaixo da resposta, ao lado de "citar".
        If my answer was helpful, please give a positive feedback by clicking the up arrow below the answer, next to "quote".

        1 Reply Last reply Reply Quote 0
        • galisteo
          galisteo last edited by

          I am a developer of custom retrogamer systems and only use recalbox because I believe it is the best system. I have also had the same problem in customizing the es_system file in this latest version. I like to separate hacks, translated files and even MAME systems, making it easier to make gamelist.xml files smaller and easier to find the games.
          This block of customization of the es_system is not a policy made by developers that can inhibit people who illegally sell the images.
          We expect developers to come back with this decision or provide us with a more robust explanation for this blockage.
          Recalbox the best !!!!!

          1 Reply Last reply Reply Quote 0
          • Bkg2k
            Bkg2k Staff last edited by

            Hello all

            We have intentionally modified the way es_systems is managed, and there is no plan to get back. However having your old modifications no longer working is only a side effect.

            Modifying the original es_systems requires to unprotect (even temporarily) the OS partition and is strongly discouraged.

            The original es_systems.cfg is located at /recalbox/share_init/system/.emulationstation/ and must remain unchanged.

            You can add new systems or modify order by adding a new es_system.cfg in /recalbox/share/system/.emulationstation/ to:

            • Add new systems in the same way they are declared in the original es_system.cfg
            • Modifying the order. Systems already declared in es_system.cfg should not be fully redeclared here. Only name and platform keys are required. You cannot override commands from original systems, any redeclaration is ignored.

            From now on, an ES system is identified by an unique key composed of name+platform.
            If more than one system use the same key, only one system will be shown in ES.

            A complete and more detailed documentation is currently being written and will be posted soon.
            In the meanwhile... just try and test!

            lhari84 Marcos Breviglieri erwinglade 3 Replies Last reply Reply Quote 1
            • lhari84
              lhari84 @Bkg2k last edited by lhari84

              @bkg2k Hi,
              I did another modification some weeks ago in RC2 or RC3 two weeks ago:
              As I didn't know it better this time, I removed write protection of original es_systems.cfg temporary to change as follows:

              • added supported file types chd and x32 for system megadrive
              • added supported core fba_libretro for system mame

              Both of that modifications I did to save memory consumtion of a theme on Pi3 B+
              (cummulating x32 and segacd all to system megadrive and cummulating all arcade games to system mame)

              It seems even this is not recommended at all, it still works - also after updated to 6.0 DragonBlaze.

              So my question is, can I leave it this way, or is there a risk this modification is destroyed by future recalbox updates?

              If there is a risk, I'd like to migrate this mods to /recalbox/share/system/.emulationstation/es_system.cfg, like suggested. But will this be even possible? Will ES read such modification there or ignore it?

              Sorry if my request is unnecessary, but I don't understand 100% how this custom cfg should look like and my mod will even work at the suggested directory.

              Thank you very much in advance for clarifying.

              Pi4:
              Sony DualShock 4 (2nd gen), 8BitDo Pro 2, 8BitDo SF30 PRO, Retroflag SUPERPi 4 Case, Recalbox 9.0

              Bkg2k lhari84 2 Replies Last reply Reply Quote 0
              • Bkg2k
                Bkg2k Staff @lhari84 last edited by

                @lhari84 actually, once a system is loaded from the original es_system.cfg, a new declaration in the one from share is fully ignored, except for system ordering.

                But adding new file extensions this way is very interresting, and I'll add it to the todolist.

                The next update will obviously overwrite any modification in the original es_system.cfg, so until we have time to implement the "file extension overwrite thing" I recommend you to save your es_system.cfg somewhere else

                lhari84 1 Reply Last reply Reply Quote 1
                • Marcos Breviglieri
                  Marcos Breviglieri @Bkg2k last edited by

                  @bkg2k said in [PROBLEM] Custom es_system.cfg:

                  You can add new systems or modify order by adding a new es_system.cfg in /recalbox/share/system/.emulationstation/ to:

                  Add new systems in the same way they are declared in the original es_system.cfg
                  Modifying the order. Systems already declared in es_system.cfg should not be fully redeclared here. Only name and platform keys are required. You cannot override commands from original systems, any redeclaration is ignored.

                  OK, I don´t change original file and put my modified file in share folder. I changed tag <name> to a new entry. Now, new system are listed in menu, but the games do not work, even selecting the correct emulator from the advanced emulator menu.

                  Example:
                  <system>
                  <fullname>Capcom</fullname>
                  <name>capcom</name>
                  <path>/recalbox/share/roms/capcom</path>
                  <extension>.zip .ZIP .fba .FBA .7z .7Z</extension>
                  <command>python /usr/lib/python2.7/site-packages/configgen/emulatorlauncher.pyc %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -emulator %EMULATOR% -core %CORE% -ratio %RATIO% %NETPLAY%</command>
                  <platform>arcade</platform>
                  <theme>capcom</theme>
                  <emulators>
                  <emulator name="libretro">
                  <cores>
                  <core>fbalpha</core>
                  </cores>
                  </emulator>
                  </emulators>
                  </system>

                  This already happened with previous versions of the recalbox, if i used a tag <name> that not exist on the system, it did not start the emulator. That's why i use tag <name> as other systems.

                  1 Reply Last reply Reply Quote 0
                  • lhari84
                    lhari84 @lhari84 last edited by

                    @lhari84 said in [PROBLEM] Custom es_system.cfg:

                    • added supported core fba_libretro for system mame

                    @Bkg2k Ok, thanks for your answer. Maybe you can implement a "core overwrite thing" too then 😉

                    Pi4:
                    Sony DualShock 4 (2nd gen), 8BitDo Pro 2, 8BitDo SF30 PRO, Retroflag SUPERPi 4 Case, Recalbox 9.0

                    1 Reply Last reply Reply Quote 0
                    • lhari84
                      lhari84 @Bkg2k last edited by lhari84

                      @bkg2k
                      Just found out that my modification were overwritten at DragonBlaze update 😄
                      Strange thing is, that even that .chd file extension is not existing anymore for system megadrive, I even can find those files in gamelist and run them...
                      0_1555351065534_2019-04-15_195338.jpg

                      Anyway, core fbalpha in system mame was gone too, had to add it again so that metadata of specified game showed up it again...

                      Pi4:
                      Sony DualShock 4 (2nd gen), 8BitDo Pro 2, 8BitDo SF30 PRO, Retroflag SUPERPi 4 Case, Recalbox 9.0

                      1 Reply Last reply Reply Quote 0
                      • lhari84
                        lhari84 last edited by lhari84

                        Hi @Bkg2k, sorry to bother you once again. but do you have an idea why system "megadrive" still finds and runs .chd-files, even though this file extension doesn't exist in es_systems.cfg? (see screenshot of last post)

                        in general it's good for me because i don't have to modify the file then, but i just want to understand why 🙂 maybe because the chd-files are indexed already in gamelist.xml of system megadrive?
                        if it's because auf gamelist xml, this theory seems to be valid just for file extensions only: because on the other hand tags for cores in gamelist.xml that are not present in es_systems.cfg are defenitely ingored. for example when using core fbalpha in system mame.

                        Pi4:
                        Sony DualShock 4 (2nd gen), 8BitDo Pro 2, 8BitDo SF30 PRO, Retroflag SUPERPi 4 Case, Recalbox 9.0

                        1 Reply Last reply Reply Quote 0
                        • erwinglade
                          erwinglade @Bkg2k last edited by

                          @bkg2k said in [PROBLEM] Custom es_system.cfg:

                          Hello all

                          We have intentionally modified the way es_systems is managed, and there is no plan to get back. However having your old modifications no longer working is only a side effect.

                          Modifying the original es_systems requires to unprotect (even temporarily) the OS partition and is strongly discouraged.

                          The original es_systems.cfg is located at /recalbox/share_init/system/.emulationstation/ and must remain unchanged.

                          You can add new systems or modify order by adding a new es_system.cfg in /recalbox/share/system/.emulationstation/ to:

                          • Add new systems in the same way they are declared in the original es_system.cfg
                          • Modifying the order. Systems already declared in es_system.cfg should not be fully redeclared here. Only name and platform keys are required. You cannot override commands from original systems, any redeclaration is ignored.

                          From now on, an ES system is identified by an unique key composed of name+platform.
                          If more than one system use the same key, only one system will be shown in ES.

                          A complete and more detailed documentation is currently being written and will be posted soon.
                          In the meanwhile... just try and test!

                          Podrías darnos un ejemplos por favor.
                          tengo el siguiente sistema en /recalbox/share_init/system/.emulationstation/

                          <system>
                          <fullname>FinalBurn Alpha</fullname>
                          <name>fba_libretro</name>
                          <path>/recalbox/share/roms/fba_libretro</path>
                          <extension>.7z .7Z</extension>
                          <command>python /usr/lib/python2.7/site-packages/configgen/emulatorlauncher.pyc %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -emulator %EMULATOR% -core %CORE% -ratio %RATIO% %NETPLAY%</command>
                          <platform>arcade</platform>
                          <theme>fba_libretro</theme>
                          <emulators>
                          <emulator name="libretro">
                          <cores>
                          <core>fbalpha</core>
                          </cores>
                          </emulator>
                          </emulators>
                          </system>

                          Como quedaría en el archivo personalizado en /recalbox/share/system/.emulationstation/

                          <system>
                          <fullname>street fighter Collection</fullname>
                          <name>fba_libretro</name> AQUI ESTA MI DUDA. o debe ser
                          <name>sfc</name>
                          <path>/recalbox/share/roms/sfc</path>
                          <extension>.7z </extension>
                          <command>python /usr/lib/python2.7/site-packages/configgen/emulatorlauncher.pyc %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -emulator %EMULATOR% -core %CORE% -ratio %RATIO% %NETPLAY%</command>
                          <platform>arcade</platform>
                          <theme>sfc</theme>
                          <emulators>
                          <emulator name="libretro">
                          <cores>
                          <core>fbalpha</core>
                          </cores>
                          </emulator>
                          </emulators>
                          </system>

                          Llevo tiempo usando recabox pero el no poder implementar mis sistemas personalizado en Recalbox 6, me mude a Batocera, pero en batocera no tengo theme con sonidos personalizado en plataforma, para mi la magia y la nostalgia de los vídeo juegos están en los personajes una buen fondo de pantalla significativa con la plataforma o personaje icono y sobre todo una música nostálgica, algo que tengo implementado en recalbox 4.X
                          He notado un gran trabajo en la actualización recalbox 6 el rendimiento y asignación de RAM el unico inconveniente es la incorporaron de un sistema personalizado
                          Crear un sistema personalizado con juegos de arcade, n64,nes, snes

                          Esperamos un solo ejemplo o la documentación oficial de como implementar nuestros sistemas personalizado
                          Otra cosa que también es muy esperado en recalbox es los videoSnamp

                          Saludos ...

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          Want to support us ?

                          59
                          Online

                          90.3k
                          Users

                          26.3k
                          Topics

                          181.8k
                          Posts

                          Copyright © 2021 recalbox.com