e_systems.cfg alternative systems
Fernando Theodosio Costa
Why can not I use this type of system? what is wrong?
I want to change some systems where I could play various types of roms and for each rom I would use their "core" accordingly.
An example. I want to play Mario, being that we have mario for nintendo, super nintendo, n64, gameboy ... I want to put the roms all in the same "system".
<fullname>Mario</fullname> (Okay. This name is just to appear in the list.)
<name>fds<name> (Here I decided not to change. I do not care which system I'm replacing.)
<path>/recalbox/share/roms/mario</path> (I created this folder to put all the roms of mario here)
<extension>.smc .sfc .SMC .SFC .mgd .MGD .nes .NES .zip .ZIP .n64 .N64 .z64 .Z64 .v64 .V64 .gba .GBA .gb .GB .gbc .GBC .cue .CUE .iso .ISO .bin .BIN</extension> (Of course. Here I have put all the possible extensions of the games that I will put in the folder. So it was for the emulator to identify and open these files.)
<command>python /usr/lib/python2.7/site-packages/configgen/emulatorlauncher.pyc %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -emulator %EMULATOR% -core %CORE%</command> (Is this the command to run the emulator?)
<platform>fds</platform> (again. I do not care about the name of the platform)
<theme>mario</theme> (This theme I created and is in the system theme folder)
<emulators> (Ok. Here we give the command to open the emulator.)
<emulator name="libretro"> (This is the emulator.)
<cores> (If most of the games use only the Libretro, then we will put all the possible "cores".)
(OK. So here we close the libretro emulator and all cores. So let's open another emulator and add your cores)
And how do you think that recalbox will find which emulator to launch for all your mario .zip in the same folder ?
BTW i edited your post, way too big. Use triple back-quotes around your text
Fernando Theodosio Costa
So? Can someone explain why this is not working? What's wrong with these command lines?
Subs just explained to you why it can't work : with such configuration, ES can't detect by itself which emulator to use for each rom, so it will be trying with one corresponding to either name or platform which will work only for fds rom in your example and then crash for all the others (fds emulator can't work for snes or n64 roms off course).
You may be able to do what you want by using a list of emulator in <name> and <platform> such as snes,nes,gd,fds but you will have to rewrite part of the emulatorlauncher.pyc python script