Hacking USB Loader GX

  • Thread starter Thread starter blackb0x
  • Start date Start date
  • Views Views 8,068,305
  • Replies Replies 30,226
  • Likes Likes 74
Ya, that what i understand. Theoretically the cIOS with it base can be in random order and doesnt effect the usage. But most users use cIOS 249 and If its has base 56 and thru most games require it, it will not be reloaded. It reloads only if another base is required.

If they would had cios 249 with base 57 using as Loader cIOS, most time the cIOS with base 56 will be reloaded.

But i still dont understand which IOS has the highest game combatibility, as there is one source in our wiki that says base 57 has 99 % game compatibilty.
 
Isn't the loader scanning and mapping the IOS bases at initial run (or when the user asks to re-check), and sets the slots to use in the settings for boot/xml, loader and games? Then it would use what's in the settings, whatever the slot number you installed your bases.
It maps your cIOS when the loader boots and then sets the appropriate cIOS when you boot a game, since that's when information about the game is read.

The loaders IOS setting is unchanged and still defaults to 249, but will use other slots if 249 doesn't contain a cIOS.

I didn't check the sources, but based on logic, cIOS base and slot order shouldn't affect the speed.
It does. I've explained why here.

Both setups work of course, but by using the new cIOS guide there's consistency between Wii and vWii and a speed advantage.

ModMii is going to adopt the 4 slots recommended in my guide, since a few games do use IOS58 and it's essential if you want to use a LAN adapter or have certain peripherals work correctly in games.

Wiiflow "Auto" is based on slot, instead of base, so it expect all users to have the exact same setup. if it detects a game needing "base57" it will reload to 250. (too bad for you if you didn't install what it expects in it)
It just doesn't work the same way. Like it doesn't prioritise bases or have the logic behind it like USB Loader GX does, which is why even if you were to install the d2x cIOS to the recommend slots you can't play both Call of Duty and Worms Battle Island without one of them freezing when using WiiFlow's auto setting.

But i still dont understand which IOS has the highest game combatibility, as there is one source in our wiki that says base 57 has 99 % game compatibilty.
More games use IOS56 than IOS57, so you could argue that it'll have the best compatibility. But it doesn't really matter now that the loaders automatically picking the appropriate cIOS on a per game basis :)
 
Last edited by blackb0x,
  • Like
Reactions: XFlak and Maeson
Hello everyone, and thank you very much again for all your work, @blackb0x !

I'm a bit of a "philistine" when it comes to the most technical aspects of the improvements you made, but I got really excited by the "Framebuffer" setting you added!

Since it's not very easy to spot the difference, I took the liberty of making a little comparison, and thought some of you might find it useful?



It's kinda hard to see, but the result on my Wii, combined with "Deflicker OFF", makes my games the most beautiful they've ever been!

I'm quite thrilled to retry some of these gems, and am very thankful for all of you who keep the Wii scene alive.

Yours truly.
 
  • Like
Reactions: blackb0x
Since it's not very easy to spot the difference, I took the liberty of making a little comparison, and thought some of you might find it useful?
Yes, thank you. It certainly shows off how it prevents the stretching :)

It's harder to notice the removal of the deflicker filter and the 480p fix, but I'd put that down to YouTube's compression.
 
I'm not working on USBLoaderGX anymore (lack of time mostly, but also lack of knowledge). that's too bad, because I had a lot of ideas, but too much to work alone.
For some time, the github repository was only a copy of sourceforge releases, in case new developers were willing to create branches (like tabmod etc.) and maintain their own repositories without the need to send me patches, and me to maintain different branches on sourceforge.

Blackb0x made newer revisions from this last sourceforge/github copy version. He is now at a relative r1281 version, his repository is therefore the one where you should post issues.
If needed, I can update the first post of this thread to reflect progress, and make a better visibility of his being the new official version.
I see. Thank you Cyan. :)
 
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:

  1. The loader reloads to cIOS 250 (base 56) as it boots
  2. The loader sees that a game wants to use IOS56
  3. 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) :
  1. The loader Boot using IOS58
  2. The loader initialize the SD & HDD and read the settings
  3. 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 :
  4. 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)

  5. reloads to cIOS <chosen by the loader> (base 56) as it boots
  6. The loader sees that a game wants to use IOS56
  7. 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.
 
Last edited by Cyan,
  • Like
Reactions: jeannotte
Impressive StarFox!
I can play Kirby's Dreamland (not my fave!) from SD using GX.

I think it's finally time to get rid of CFG.

Nice!

IMG_20230306_120840_766.jpg

Post automatically merged:

Can this thing still download cheats?
 
Last edited by JuanMena,
If 56 is in slot250, it has the same speed than having 56 in slot 249. no difference, really.
If you manually configured the loader to use cIOS 250 then you'd be correct.

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 opted not to add automatic cIOS selection for the loader itself because some people use a specific cIOS for drive compatibility or because they're using a LAN adapter. So although it might speed things up for some people it'd also cause a lot of headaches for many others. And sure, I could perform checks to see if a config file exists, how you launched the loader and if you're using a LAN adapter and then set the cIOS based off of that information. But I think due to the projects age it's best to keep things simple and stick to what's worked for over a decade.

If someones got a HDD that's slow to initalise then they should just install d2x v11 and follow the new cIOS guide.


I can play Kirby's Dreamland (not my fave!) from SD using GX.
Although when played from an SD card new saves might not work. But this is something that I'm working on for my next release.

Can this thing still download cheats?
Yes. Although sometimes the server screws up and you won't get valid cheats.

Eventually I'll upload the cheats elsewhere, since I'd rather use a reliable source that provides cheats that retain information about the cheat modifiers.
 
Last edited by blackb0x,
  • Like
Reactions: Cyan and XFlak
Although sometimes the server screws up and you won't get valid cheats.
@JuanBaNaNa
As http://codes.rc24.xyz/ recieves updates from gamehacking.org by a script of Larsenv.
I downloaded them once at all GC+Wii cheatfile`s by XFlak,s Modmii. Its created 11/03/22 for all Regions to use with USB Loader GX and only a few MB.
 

Attachments

As http://codes.rc24.xyz/ recieves updates from gamehacking.org by a script of Larsenv.
That's the server that I was referring to as the loader uses it too. But it's got all of these issues...
  • There's missing cheat files
  • There's duplicate cheats
  • There's invalid cheats because GameHacking attempts to convert gecko codes into gecko codes and that breaks some of them
  • There's invalid cheats because any cheat that contains a modifier ends up as 00000000 or a blank line
  • Notes that tell people how to set the modifiers are removed
  • Sometimes cheat files contain Cloudflare error pages
So roughly 70% of the cheats are broken in one way or another. And that's not Larsenv's fault, since all of the issues come from GameHacking.
 
Last edited by blackb0x,
  • Like
Reactions: geoGolem
Okay, now I understand the decision better :)
I also thought you reworked the launching sequence and had better HDD initialization with your version by using 58+init and reload to cIOS. But, if some people still have issue, I also understand you can't always use Auto IOS at loader's launch.
That's too bad. We could have made something nice if all devices were working fine :)


I tried to re-plug my HDD and my Wii, it didn't detect the HDD which worked fine years ago without any changes, and the loader boots without USB. even if I go to settings>hdd>force mount by clicking first line, still nothing.
I plugged the HDD on PC ... it still works. I try it back to the Wii ... now it's detected O_O
So strange. like it needed a boost haha
 
  • Haha
  • Like
Reactions: XFlak and geoGolem
Okay, now I understand the decision better :)
I also thought you reworked the launching sequence and had better HDD initialization with your version by using 58+init and reload to cIOS. But, if some people still have issue, I also understand you can't always use Auto IOS at loader's launch.
That's too bad. We could have made something nice if all devices were working fine :)
Yeah. If the project was much newer then I'd of likely gone that route, since I know exactly how I'd like to do it. But there's just too much old code and too many configurations to worry about.

I'm really happy with where the projects at though, since it's stable, it's faster than ever, it can make games look better than ever and game compatibility keeps increasing. Plus it seems to be the only Wii project that you can edit and compile from the cloud via GitHub's Codespaces.

So strange. like it needed a boost haha
Almost as if your Wii needed to stretch it's legs a little first :P
 
Jon Cartwright from Good Vibes gaming has released a video that really gives justice to your work more than mine:


He says that RE4 displays in 4:3 ratio when framebuffer is ON, though (I'll have to check if it does the same for me).

As far as I'm concerned, the only game I ran into issue with was Excitebots (couldn't display picture with framebuffer, as if I'd chosen the wrong video mode), but luckily we have the possibility to set a specific profile.

Do any of you own Excitebots, and can tell us if they had met the same problem?

Anyway, great job, and I hope this video helps people be aware of it!
 
More like fixed in 2021 and further improved in 2023, disabling the deflicker filtering was one of the biggest things to happen in the wii scene to me in quite some time!

I remember trying RE4 with framebuffer on and the resulting screen is very horizontally narrow but vertically it is just like 16:9, while playing RE4 on real 4:3 setting gives you a very small aspect ratio, so they're different things. I don't think most people will like using framebuffer on RE4.

But that's par for the course with RE4, all the Standard Definition versions did always do very weird things with the aspect ratio. If I remember right, I just left it forced 16:9, framebuffer default and disabled deflicker filter or alternatively apply the weakest filter, as like most third party games, RE4 uses the strongest and blurriest one, so setting a weaker one is still an improvement.

I have just tried Excitebots, it works on my end with framebuffer turned on and deflicker off. Other video options are default, on a PAL Wii. I was just going to check but I ended playing a few races, it is way too fun.
 
Last edited by Maeson,
I have just tried Excitebots, it works on my end with framebuffer turned on and deflicker off. Other video options are default, on a PAL Wii. I was just going to check but I ended playing a few races, it is way too fun.
Hello Maeson, glad to read from you!

You're right, deflicker was already a game changer, I keep on revisiting games I've already completed because of it.

As for Excitebots, I take it you've forced NTSC, since the game never was released in Europe? I know my setting is set on "force NTSC" because of that : I can't display any Japanese or American game if I leave the "PAL" setting on.

I'll make some tests and see if my configuration might be the culprit!
 
I have "Video Mode" in USB Loader GX Loader settings as "Disc Default", and because of that on Excitebot's settings Video Mode is Use Global. I have really nothing more going on I think, and it worked just normally.

Usually I have all my NTSC games' Video Mode forced to NTSC 480p like you do, but for that game in particular game is different, I guess I forgot.
 

Site & Scene News

Popular threads in this forum