It does. I've explained why
here.
It doesn't really explain why. it only shows a specific setup with not enough loader's settings information.
Because I see it can also be like that :
With my setup:
- The loader reloads to cIOS 250 (base 56) as it boots
- The loader sees that a game wants to use IOS56
- The game boots
If 56 is in slot250, it has the same speed than having 56 in slot 249. no difference, really.
unless you force the loader to load with 249 even if the user set the loader to use 250.
And the loader should set itself to ANY slot where 56 is located (it could even be 251 or 248), the loader should know where all the bases are located, and pick the one where 56 is located at boot.
I think you load 58 first, then load the settings, then reload to 249 just because it's set in the settings. you can read the IOS map, or the settings while using 58, and then reload to whatever slot 56 is installed into if the user is using "auto" setup.
So, to me, no there's no speed difference.
Now, if you want to harmonize setup, that's okay. but nothing to do with speed, unless you force a slot number arbitrarily at loader's launch (why 249?) instead of choosing the slot based on the IOS bases the loader mapped.
That's one of the use of the IOS base map. it's not only useful at game launch, it should be used at loader's launch too.
launch > IOS58 > init SD & HDD and read settings > is the user using Auto setup ? look at the IOSmap to locate a base 56 : if not, use the user choice in the settings > reload to found slot (not necessarily 249) which can be any slot with base56, and will NOT need a reload at game launch for most games > no wasted speed
And you don't even need to look at the IOS Map at every loader's launch, because the loader should locate the base56 at initial setup (no config file yet), or when the user run the Automatic base mapper, and the loader sets the slot to use once and for all in the xml/settings. the loader only has to use what's in the settings at launch, no need to look at the IOS map anymore if a config is already present, because the loader ALREADY set the correct slot with base56 as default. if not, let's look at the IOS map at every launch (but it's a waste of time) :
- The loader Boot using IOS58
- The loader initialize the SD & HDD and read the settings
- The loader checks if the user wants to use Auto, if not read the Loader's IOS from the settings and reload to it. else :
- The loader read the IOS Map and locate the slot where base56 is located (this can be skipped if it's not an initial run with no settings)
- reloads to cIOS <chosen by the loader> (base 56) as it boots
- The loader sees that a game wants to use IOS56
- The game boots (FAST)
see, you still have your last 3 steps for your FAST game launching.
Then, if the user doesn't want to use AUTO and want to force a base57, 58, or even 56, but not in slot249, up to the user.
This is only how I would have made it work.
I know this is your project and you do it the way you want now. I just don't understand the logic behind the speed gain with a specific cIOS slot order, when the loader can detect any exotic setup and automate all this to load the correct one directly at loader's launch, not only game's launch. All slots have the same loading speed, and the loader can load any slot number it needs.