[PROBLEM] Custom es_system.cfg



  • 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!!!


  • Global moderator Translator
    Translation Master
    Tester
    Global moderator

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



  • 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 !!!!!


  • Staff
    Screenscraper
    Developer
    Global moderator
    Team

    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!



  • @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.


  • Staff
    Screenscraper
    Developer
    Global moderator
    Team

    @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



  • @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.



  • @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 😉



  • @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...



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



  • @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 ...


Log in to reply
 

Want to support us ?

398
Online

81.3k
Users

22.2k
Topics

161.2k
Posts