Btw about PS1 configs, imo the most important thing we are missing is how to deal with PS1 multidisc games
The PS3 firmware have nice features for this, and a menu (when you press PS button) to change disc, but this is enabled by the config, and we dont have config so... game over we dont have the multidisc selector features in custom firmware :'(
Im going to explain how i think it works, just incase someone was experimenting with this and could throw some light about it
The PS1 config files are composed of "data blocks", every block is identifyed by a name string, and contains some data "slots"
In this example in wiki it can be seen how the "data blocks" are delimited by the table rows colored in grey
Basically, in this example are used 2 "data blocks", the first one is named
PS1EmuConfigFile (lets say is unknown), and the second is named
disc_no
Additionally, if you look at the decrypted emulator .elf it looks that it allows for another "data block" named
user_memory_size
In short, we know for sure there are 2 "data_blocks" allowed by the emulator and maybe are 3, but sadly we dont have more examples of this PS1 config files
The
disc_no (or disc number) is what we need to use for multidisc support, so someone have tryed to create a config with only this "data block" ? (i mean... only this one, but not the PS1EmuConfigFile that is completly unknown)
Maybe when you use the disc selector menu (by pressing PS button), the emulator updates the value located at offset 0x34 in this config example in wiki, then reloads the config and the game... this is just speculation, i have not tested it
If this works then we have the multidisc support working... a different matter is how to implement the generation of this config files for every app (incase of managunz the app itself could create them)
Im guessing in one of the (again) unknown arguments needed to be passed to the emulator at the time you boot the game... one of them should be the location of the config file
In other words... one of this "unknown" arguments could be the location of the config
My deduction to think this is because look at the other arguments passed to the emulator, there is one that tells where is located the emulator .self. Dont you think this is extremelly redundant ?... the location of the .self is obvious but they passes it with an argument anyway (redundancy ftw)
My point is... if they passess an argument with something so obvious like the emulator location... then i think other of the arguments should be the location of the config
Not only because is important to know where is the config, but because maybe there was some point (at development and debuging stages) where they was loading PS1 configs from alternative paths (like USB, or even network)