Like I explained on my post18 on previous page, the games were designed to use a specific IOS to prevent problem when releasing new games needing updated and different functions.
But, something I didn't say, is that they CAN work on newer IOS too.
It just depends which functions they are using and whether they are existing on the IOS you are currently using or if it's missing, or if it's different from the one it was expecting to use.
For example, Zelda Twilight princess is asking for IOS9 (because no other IOS existed when the console was released, and it's one of the first game of the console).
It's using some function inside IOS9 which are most likely "common functions" still included and identical to functions located in IOS 56 or IOS 57.
Thus, using a custom IOS (cIOS) for that game in USBGX based on IOS56 (cIOS11[56]) or IOS57 (cIOS11[57]) pose no problem to play this game.
The game asks for a function, it finds it in the IOS currently loaded in memory -> the game boots and works fine.
for N64 games now, if they ask for IOS21, it doesn't mean you HAVE to install a cIOS based on IOS21.
if the N64 game needs a function in IOS21 which is ALSO present in another IOS, then you can use it too ! for example, IOS38, or IOS56, or IOS58 etc.
You just don't know which function inside the IOS the game requests
(unless you have a debugger and log all IOS activity on your console, which only devs can do)
When I suggested to look at the official used IOS, it was only for non working game, and to have an idea of which IOS it was using.
If it's IOS36, and the cIOS installer lets you install a base36, you "can" try.
It doesn't mean it will work for sure. it's just a way to match the best way possible how the game was meant to be launched officially by the console from the System Menu.
If you don't have that base choice in the cIOS installer, you can try another base.
For example, N64 game requests IOS21 ... cIOS installer doesn't have it. You can try to play the game with a base38 and see if it works.
If the game can find the needed function it expect from IOS21 in the currently loaded IOS based on IOS38, it most likely will be happy.
If the N64 game requests a specific function ONLY present in IOS21... then you are out of luck I guess, and Sneek is currently the only way to use that IOS.
If you look at the Wiki compatibility list, MarioKart64 is marked as working with cIOSv8/10. But there's no mention to which base it was tested with.
v8/10 are usually installed by Wii hacking guides with base56 and 57. So, there are chances it doesn't require base9, and works fine with a cIOS based on 56 or 57 (same as Disc wii games, like Twilight princess, requesting IOS9 but working fine with 56 and 57)
Order of tests :
Try the game with base 56/57/58 (if it's a common game and doesn't requires USB accessories, it might be enough)
if it doesn't work, try the game with other base you already have installed (36/38/53/whatever)
if it doesn't work, look at which IOS base it's officially requesting, and see if you already tested it (the game could still not work with the correct base it's expecting).
You can try to install that base if your cIOS installer has that base option.
if still not working, you will have to use Neek, And you could report to Blackb0x and see if he is willing to look at the issue and why it's not working with any IOS you tried, and if he can fix it. It can takes time to find a fix, in the meantime, use neek.
Furthermore. It appears That changing the IOS a game loads with in USB loader GX has absolutely no impact on its ability to load or not load. Am I missing a setting here?
Things don't seem to be working as intended.
Game load > game iOS > I'll toggle it between the various IOS I have configured (I have them configured as wiiguides.hacks specifies currently on 249b56, 250b57, and 251b38). But regardless of what iOS I set they either work currently or they don't. So it doesn't appear that this setting is actually doing anything.
This only means it's working as intended.
If it works with all the slot you tried, it means the game does work with any of them.
If it doesn't work, even if you tried to change the slot, it means the game does not work with any of the IOS slot you tried.
It doesn't mean it can't be fixed, or that the option does nothing. only that the changes you did made no different for that game.
Instead of changing the IOS globally, I suggest changing it only for problematic games.
Global :
USBGX main interface > settings > Loader's Settings > Game's IOS : keep the slot where you have base56 (usually slot 249)
Problematic games :
USBGX main interface > select the game > option > Game option > IOS : This is where you choose to either use "global settings" (the default behavior), or a specific slot used only by this game.
while you are here, if no IOS slot is working, just set the EmuNAND mode to neek only for this game.