Right now NeoGamma does this to fix 002 error:
*(u32 *)0x80003188 = *(u32 *)0x80003140;
I guess
*(u32 *)0x80003140 = *(u32 *)0x80003188 ;
would be better, because 0x80003188 would always contain the info which IOS is requested by the game and the cIOS could do
*(u32 *)0x80003140 = *(u32 *)0x80003188 ;
as well to fix the 002 error. And it should be more resistant to copy protection mechanisms as right now the game could do a 002 check with the IOS requested by the tmd. If this 002 fix was always done, even ourselves would have problems to find out if a cIOS is running or not. If you don't consider this a problem, you could even set 002 fixing to always on and it wouldn't need any config.
If you write to /sys and the wii crashes at the wrong time, you got a big problem: A "noob" tries to load a disc with IOS Reload block, the wii crashes, and days later he installs a wad, returns to HBC and gets "weird" issues in some other app. The cIOS would be stuck in block IOS Reload everytime it gets loaded, until you launch a game with explicitly turned off blocker. Hmm, how about writing to /sys + a magic word at 0x80003188 and the old value of 0x80003188 in the config file?
About the return to system menu/HBC issue i meant:
Right now the cIOS gets loaded instead of the system menu IOS if you return to the wii menu, or does it not? That the launch title still launches anything that's not an IOS was clear to me already.(while i know that this behaviour is not self-evident)
*(u32 *)0x80003188 = *(u32 *)0x80003140;
I guess
*(u32 *)0x80003140 = *(u32 *)0x80003188 ;
would be better, because 0x80003188 would always contain the info which IOS is requested by the game and the cIOS could do
*(u32 *)0x80003140 = *(u32 *)0x80003188 ;
as well to fix the 002 error. And it should be more resistant to copy protection mechanisms as right now the game could do a 002 check with the IOS requested by the tmd. If this 002 fix was always done, even ourselves would have problems to find out if a cIOS is running or not. If you don't consider this a problem, you could even set 002 fixing to always on and it wouldn't need any config.
If you write to /sys and the wii crashes at the wrong time, you got a big problem: A "noob" tries to load a disc with IOS Reload block, the wii crashes, and days later he installs a wad, returns to HBC and gets "weird" issues in some other app. The cIOS would be stuck in block IOS Reload everytime it gets loaded, until you launch a game with explicitly turned off blocker. Hmm, how about writing to /sys + a magic word at 0x80003188 and the old value of 0x80003188 in the config file?
About the return to system menu/HBC issue i meant:
Right now the cIOS gets loaded instead of the system menu IOS if you return to the wii menu, or does it not? That the launch title still launches anything that's not an IOS was clear to me already.(while i know that this behaviour is not self-evident)