The loader can see which IOS a game wants, so it can decide which cIOS is the best and just load it automatically. My plan is an option in NeoGamma to enable/disable this feature, enable on default. Oh and i would only use the IOS slots 200-254, without IOS202, and 22x, starting to look at 254 and going down from there. Also i would only take cIOS that can be identified with the new method, with a warning if an older version was loaded.
Right now the logic would be similar to this:
Code:
ifÂÂrequested_IOS = 56
{
ÂÂ1st choice = 56
ÂÂ2nd choice = 37
ÂÂ3rd choice = 0
} else
{
ÂÂ1nd choice = requested_IOS
ÂÂ2st choice = 56
ÂÂ3rd choice = 0
}
0 means to just use the loaded cIOS.
And during the loading is displays something like:
"Using best cIOS(56)" when everything is fine, so it was using the best cIOS already, or it could load it.
"base IOS problem(57)" when cIOS with base IOS57 would have been better and couldn't be found. A little delay here and starting the game anyways should be good enough i think. And displaying "base IOS problem(56)" for most games if base IOS56 was not installed would be intentional. Warnings for all other IOS than 37,56,57 and 58 would display 56. Note that if a game requests IOS53 and there's a cIOS with that base it would be used and display "Using best cIOS(53)" and yes it would use 56 instead with the message "Using best cIOS(56)" if base IOS 53 is not installed, but 56 was.
"using old cIOS(248/58)" When d2x56v6 (249) was the main cIOS and d2x58v5 (248) was the only cIOS with base IOS58 found. If there would be a d2x58v6 (247), the logic would use that instead.
Anything i missed? It got a bit more complicated than i 1st thought, but still easier(to me) to implement than a system with per game settings or whatever. As for standard installations, i would keep it simple:
56 slot 249
57 slot 250
58 slot 251
Any ideas how to name the option in NeoGamma? It needs to be
short.