Hacking USB Loader GX

  • Thread starter cyrex
  • Start date
  • Views 7,174,245
  • Replies 29,365
  • Likes 48

sideskroll

Well-Known Member
Member
Joined
Aug 25, 2010
Messages
653
Trophies
0
Age
41
Location
Here
XP
420
Country
Peru
I don't understand, USBLGX works fine for me and loads Nintendont no problem, latest version of each, what's the problem? Is it related to Wii U or maybe certain games?

Maybe you don't notice it. Or maybe you're using a Wii and the problem is indeed related to the way Wii U upscales 480p content + an undetermined (so far) issue with USBLOADERGX.
Thing is, both, loader and Nintendon't WORK PERFECTLY FINE. But sometimes, at random it appears, there is a noticeable screen tearing. Like the one you get from lack of V-Sync. Or in my case at least, a "bunch of lines".
 
  • Like
Reactions: Troopage

VinsCool

Persona Secretiva Felineus
Global Moderator
Joined
Jan 7, 2014
Messages
14,600
Trophies
4
Location
Another World
Website
www.gbatemp.net
XP
25,207
Country
Canada
Maybe you don't notice it. Or maybe you're using a Wii and the problem is indeed related to the way Wii U upscales 480p content + an undetermined (so far) issue with USBLOADERGX.
Thing is, both, loader and Nintendon't WORK PERFECTLY FINE. But sometimes, at random it appears, there is a noticeable screen tearing. Like the one you get from lack of V-Sync. Or in my case at least, a "bunch of lines".

Oh, I thought he was refering to the autoboot issue from 3.303+
 

strikerdark

Well-Known Member
Member
Joined
Oct 30, 2014
Messages
225
Trophies
0
Age
37
XP
141
Country
United States
i have a question, is it possible for USBloader GX to automatically set the "Wii U widescreen option" when launching a emumand virtual console game? Right now the user has to do this manually every single time through the Features menu. The virtual console games launched through the system menu do this automatically. If this cannot be done, maybe it can be added as an option in loader settings so that users can enable the setting and save it in a per game basis (much like it is when launching a gamecube game through usb loader gx). Cyan, is any of this possible/doable?
 

sonictopfan

Well-Known Member
Member
Joined
Mar 2, 2010
Messages
2,701
Trophies
1
XP
1,935
Country
Maybe you don't notice it. Or maybe you're using a Wii and the problem is indeed related to the way Wii U upscales 480p content + an undetermined (so far) issue with USBLOADERGX.
Thing is, both, loader and Nintendon't WORK PERFECTLY FINE. But sometimes, at random it appears, there is a noticeable screen tearing. Like the one you get from lack of V-Sync. Or in my case at least, a "bunch of lines".
The only issue I had with GX and Nintendont is when I run a PAL game, which is an issue with Nintendont since the change of USB routine, by changing the video settings to "PAL60" games run fine.
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,650
Country
France
Screen tearing:
I thought the screen tearing issue was a forwarder issue on vWii only.
I never had a report of it happening when launching the loader from HBC.

Also, it has nothing to do with nintendont. It happens when in the loader (before loading a game) if I remember the users reports correctly.
It happens only on NTSC vWii so far.
What is your resolution? 1080p over hdmi?
did you try a different resolution in WiiU video setting? I know it's random, but please make few tests to see if it affects all resolutions or only 1080p.

I never had that issue (1080p, hdmi, biggest display area, PAL vWii, loader launched from HBC)

I don't know how CFG or Wiiflow is loading, I never checked it.


Nintendont:
I never said I will not update anymore.
I said the rising issue is nintendont issue and not a loader's fix, if you want it fixed maybe you should ask in nintendont thread not here.
USBLoaderGX DOES supports 3.x+, I just played 3.318 yesterday ! it works fine. don't say that users are stuck at 2.x because of USBLoaderGX.

And in the event that it will really never work with 3.x+ anymore, if it's a nintendont issue then I can't do anything about it on my side. Don't put the fault on me or the loader.
Nintendont did something about HID setting in r304 which broke autoboot (you can disable autoboot! the setting are passed you just need to press A to boot). If I have time I will check nintendont sources to see if there's a bug and a way to fix it, but again it shouldn't be my job to fix the compatibility with external loaders.
Did users tried launching from CFG or Wiiflow ? don't they have the same issue? it's only an USBGX issue?


WiiU Widescreen
Yes it's possible to add an automatic setting for Virtual consoles.
VC on Wii NEVER had to switch to 4:3, the games were designed to render on 16:9 full screen as it wasn't possible on Wii to set 4:3
Nintendo added that "effect" on vWii, does it really look better? if it does, why they never added black bars on Wii natively in the VC emulator?

I didn't add it as a game setting as the loader already has a lot of them. I can make it automatic when launching VC, or I can make a global option for all VC, but if I make it an option I can just make it individual setting too.
Is individual setting really needed? nintendo is doing it officially on ALL virtual consoles, I can do the same.
But it will work only on vWii, it will not affect Wii users, that's kind of a bad setting. That's also why it's an option in features and not a setting.
 

tswntk

Well-Known Member
Member
Joined
Aug 6, 2012
Messages
1,018
Trophies
1
XP
2,373
Country
Switzerland
Nintendont:
Did users tried launching from CFG or Wiiflow ? don't they have the same issue? it's only an USBGX issue?


I dont use CFG or Wiiflow myself but my understanding is that they haven't been updated for quite awhile.
I think they have not been updated to use arguments nor the WiiU widescreen option. So a direct comparison is not possible but more reports is always welcome.
And remember not everyone have the issue.

My point of view is, if there isn't a change/bug in Nintendont's argument/Config system, there should not be a problem with external loader compatibility after a normal revision change. Not even the iso58 overhaul had caused external loader compatibility problem.
If Nintendont revised the config system, then yes, its the job of the loader to update. But still, the lack of info and revision detection makes it unnecessarily difficult.
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,650
Country
France
the issue I meant is the autoboot+HID, not wiiU widescreen.

if loaders haven't been updated to support config v3 then we can't test.
If wiiflow is compatible with config v3, then users with the HID+autoboot issue can test it to see if it's only USBLoaderGX issue.
I don't know if it's only an autoboot issue with arguments, or also with nincfg.bin creation.
If it works fine with nincfg.bin then I can add a new option to choose the boot method (arguments ON/OFF) and that will fix the issue. Instead of fixing it it would be a workaround...

For information, config v3 is used since r135. Wiiflow should be compatible with that version.


Edit:
in fact, users can't test old wiiflow version.
Like I explained previously, even if the cfg version is correct nintendont refuse to use it if it doesn't match the expecting size as nintendont is not designed to keep compatibility with old loaders but designed to break it on purpose. there was an attempt to add compatibility with old settings but has not been updated.
So, this test is not possible :(

Well, I'll just add the setting for autoboot method and see if it helps.
 

GreyWolf

Well-Known Member
Member
Joined
Mar 2, 2015
Messages
5,399
Trophies
0
Age
54
XP
1,516
Country
United States
I looked at the NIN_CFG data structure and the flag enums last night in both the current GX and Nintendon't source. The struct and flags are the same so they should still be compatible. It doesn't look like those values have been changed since several revisions before people started reporting the issue.

I think Nintendon't is doing something funny when autoboot is turned on in relation to the HID features.

That being said, autoboot from GX works fine for me on a regular Wii with a GC controller. I don't have a HID controller to test with except an Xbox 360 one and I don't think they work with Nintendon't.
 

tswntk

Well-Known Member
Member
Joined
Aug 6, 2012
Messages
1,018
Trophies
1
XP
2,373
Country
Switzerland
I have checked the boot.dol of ULGX, InspectMii, SysCheckHDE and even Wiiflow
Their revisions can all be found by a simple text search.

Cyan is not the original coder of ULGX but JoostinOnline is the original coder for SysCheckHDE may be he konw how to add the revision text to Nintendont?
 

Howard

Well-Known Member
Member
Joined
May 1, 2012
Messages
442
Trophies
0
XP
431
Country
United States
the issue I meant is the autoboot+HID, not wiiU widescreen.

if loaders haven't been updated to support config v3 then we can't test.
If wiiflow is compatible with config v3, then users with the HID+autoboot issue can test it to see if it's only USBLoaderGX issue.
I don't know if it's only an autoboot issue with arguments, or also with nincfg.bin creation.
If it works fine with nincfg.bin then I can add a new option to choose the boot method (arguments ON/OFF) and that will fix the issue. Instead of fixing it it would be a workaround...

For information, config v3 is used since r135. Wiiflow should be compatible with that version.


Edit:
in fact, users can't test old wiiflow version.
Like I explained previously, even if the cfg version is correct nintendont refuse to use it if it doesn't match the expecting size as nintendont is not designed to keep compatibility with old loaders but designed to break it on purpose. there was an attempt to add compatibility with old settings but has not been updated.
So, this test is not possible :(

Well, I'll just add the setting for autoboot method and see if it helps.

Their has been no update to nintendonts ability to read old configurations in a long time because their havent been any changes. Nintendont will read the the later rev 2 nincfg without any problems including adjusting for the size.
One way of tracking down the problem would be to have gx write the nincfg.binw file as well. Then after auto Boot fails start nintendont from HBC. If auto boot works its something in the way gx is launching nintendont. If auto boot fails we can compare the nincfg made by gx to the one made by nintendont to determine the differance.
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,650
Country
France
I compared the nincfg.bin made by GX and nintendont, they are identical. (except the video mode, when using "Auto" nintendont adds 1<<4 automatically, while USBLoaderGX let the user decide if he wants the prog patch option or not). As a result, Mario sunshine USA doesn't work on PAL wii when booting from nintendont, but works fine when booting from USBGX.

USBLoaderGX autoboot code didn't change.
Nintendont changed the way HID is initialized and autoboot suddenly broke.
I think it's in nintendont autobooting with argsboot that we should look. But that doesn't exclude an USBLoaderGX issue.
I just didn't look at it properly yet. I only compared the setting format and they are both identical, so it's not a setting issue.
If the passed setting was wrong or a different size, nintendont would clear the setting and not use it at all, so the arguments are properly formed, sent and received.
It can be an USB shutdown/reinit issue. Maybe I don't properly shutdown USBs? but USBLoaderGX doesn't init HID controllers so I don't have anything to shut down.


About the config version checker, there's no new update but there are new settings.
Old loaders which doesn't have wiiU widescreen will not work with autoboot, because you added a config file size check.
For proper retro-compatibility I think it should add missing configs to default values instead of clearing all the settings and stopping autoboot. that's why users are building USBLoaderGX modded version when new settings are added to nintendont, autoboot just stops working.
But I know it's a lot of work to maintain a proper version check after every new setting.



Edit:
At least, adding a proper method to detect nintendont version would be appreciated.
I'm currently using build date and it's a very unclean method as users can't build old revision as they will have new date and wrong setting will be passed.
Like he said, that's very strange that for a loader which was supposed to be only a launcher not a front end and work with external loader to not have a proper method to detect the version.
I know I can code it if I really want one, but I'm not very active on the project and don't want to hijack other devs plans.
 

Magnus87

Well-Known Member
Member
Joined
Apr 28, 2013
Messages
397
Trophies
1
XP
1,510
Country
Argentina
Magnus87:
If you decide to downgrade to test 1235, look at the HDD free space size, if the text is corrupted (wrong letters) then you have the issue.
Don't write anything to the drives, don't launch games, install/delete files etc. while using 1235.
But don't downgrade if you don't want to take the risk.

I tried r1235 and I have the free space issue but I can play perfectly. I played Wii Play Motion , reboot and then Bit Trip Complete.
Any problem except the comma from free space, the other text its correct 1.36GB of 7.68GB free

Some reason mario sunshine isnt working through usb loader via nintendont, yet when i load it from the homebrew channel in nintendont it works.

I read that SMS have some issues if you play with a generic classic controller
 

strikerdark

Well-Known Member
Member
Joined
Oct 30, 2014
Messages
225
Trophies
0
Age
37
XP
141
Country
United States
WiiU Widescreen
Yes it's possible to add an automatic setting for Virtual consoles.
VC on Wii NEVER had to switch to 4:3, the games were designed to render on 16:9 full screen as it wasn't possible on Wii to set 4:3
Nintendo added that "effect" on vWii, does it really look better? if it does, why they never added black bars on Wii natively in the VC emulator?

I didn't add it as a game setting as the loader already has a lot of them. I can make it automatic when launching VC, or I can make a global option for all VC, but if I make it an option I can just make it individual setting too.
Is individual setting really needed? nintendo is doing it officially on ALL virtual consoles, I can do the same.
But it will work only on vWii, it will not affect Wii users, that's kind of a bad setting. That's also why it's an option in features and not a setting.


It looks a lot better. I dont know why they never added. Actually thats not right, im pretty sure that some of the arcade virtual console games do change to 4x3 automatically. So if you do add an automatic setting you would have to somehow put a lot of those games as exeptions (my memory could be failing me though). So it would probably be easier to add a per game loader option so that the user can set it if he wants to as a way to deal with those exceptions. Right now, i click on the option manually cause it does look a lot better. specially if i want to play the game through my gamepad.
 
  • Like
Reactions: Cyan

OriginalHamster

UStealthy
Member
Joined
Nov 2, 2008
Messages
3,380
Trophies
0
Age
44
XP
1,367
Country
Cote d'Ivoire
Cyan, I was able to reproduce the problem with nintendont 100% of the time.
When booting a Gamecube game as soon as ULGX boot it result in black screen, GC adapter isn't recognized and nintendont kick me out to Wii menu.
When waiting for ULGX load HDD and shows the free space info, it boot just fine (using autoboot ON).

So would it be a problem with port initialization timing? where nintendont is not able to initialize the drive neither HID controllers?
 
  • Like
Reactions: VinsCool

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,650
Country
France
So it would be a timing issue?
for me, the HDD free space info is displayed right away, I don't have to wait to see it.
I don't have a big drive so maybe it require some delay for retrieve free space on big partitions?

The USB and connected drives should already be initialized when you see the game list (or else, the loader wouldn't be able to list games on that drive).
The loader doesn't try to init other devices, only disk type (hdd, flashdrives). but if there's a timing issue, I can see if I can add a delay before launching a gamecube game.

Can users with autoboot+hid issue test this?
Wait some time before launching a game and if it works let me know how long it needs.

Though, your issue is even different to the other reports when it displays nand-1 (or things like that) in nintendont.
Or is it the same? maybe it just exit to menu after the error message.


Edit:
I made a version without argsboot.
It will always create nincfg.bin and launch nintendont without arguments.
Let me know if it fix the hid issue.

I also changed how the loader read console's time. If someone can test playlog and tell me if it's correctly counting play time, that will help me. (disable "return to" or it will not work when exiting a game)

http://www.mediafire.com/download/jau551jer8n95yb/USBLoaderGX_1244mod01.7z
 
  • Like
Reactions: sonictopfan

sideskroll

Well-Known Member
Member
Joined
Aug 25, 2010
Messages
653
Trophies
0
Age
41
Location
Here
XP
420
Country
Peru
Screen tearing:
I thought the screen tearing issue was a forwarder issue on vWii only.
I never had a report of it happening when launching the loader from HBC.

Also, it has nothing to do with nintendont. It happens when in the loader (before loading a game) if I remember the users reports correctly.
It happens only on NTSC vWii so far.
What is your resolution? 1080p over hdmi?
did you try a different resolution in WiiU video setting? I know it's random, but please make few tests to see if it affects all resolutions or only 1080p.

I never had that issue (1080p, hdmi, biggest display area, PAL vWii, loader launched from HBC)

I don't know how CFG or Wiiflow is loading, I never checked it.
Apparently it isn't.
I can 100% confirm that the tearing is still present even if loading from the HBC.
1080p over HDMI, NTSC/USA console.
I tried changing resolutions but the issue seems to have resolved itself at this point (carrying from I told you yesterday) so far no issues no matter what I try.
If you say the tearing occurs as soon as the loader is launched then it doesn't matter the way it loads the games. Only reason I asked was because I thought maybe it had something to do with that.
Do you need me to try something else? I can't get the tearing to occur again. But before I tried everything I pointed out on my last post it was consistent. Meaning that it occurred EVERY time.
Do you have ANY idea whatsoever as to what could be causing this? Any at all...? And whats even worse, at RANDOM.


WiiU Widescreen
Yes it's possible to add an automatic setting for Virtual consoles.
VC on Wii NEVER had to switch to 4:3, the games were designed to render on 16:9 full screen as it wasn't possible on Wii to set 4:3
Nintendo added that "effect" on vWii, does it really look better? if it does, why they never added black bars on Wii natively in the VC emulator?

I didn't add it as a game setting as the loader already has a lot of them. I can make it automatic when launching VC, or I can make a global option for all VC, but if I make it an option I can just make it individual setting too.
Is individual setting really needed? nintendo is doing it officially on ALL virtual consoles, I can do the same.
But it will work only on vWii, it will not affect Wii users, that's kind of a bad setting. That's also why it's an option in features and not a setting.
I'd like that option too.
As a matter of fact, I can't understand why would it need to be an "option". games designed to be played in a fixed aspect ratio should be FORCED to do that.
In this case most (all?) VC titles are supposed to be 4:3 AR, correct?
It affecting only vWii users should not trouble you. AFAIR Wii users never got that fixed. Am i right? Nintendo never updated (or probably couldn't) fix that issue.
Probably because of the analog connection.
 
  • Like
Reactions: Troopage

OriginalHamster

UStealthy
Member
Joined
Nov 2, 2008
Messages
3,380
Trophies
0
Age
44
XP
1,367
Country
Cote d'Ivoire
Though, your issue is even different to the other reports when it displays nand-1 (or things like that) in nintendont.
Or is it the same? maybe it just exit to menu after the error message.
I think my issue is different, as it affects Wii games too, if I start a game right away :(

Tested your mod, and I still get the problem, if I don't wait enough.
 

strikerdark

Well-Known Member
Member
Joined
Oct 30, 2014
Messages
225
Trophies
0
Age
37
XP
141
Country
United States
I'd like that option too.
As a matter of fact, I can't understand why would it need to be an "option". games designed to be played in a fixed aspect ratio should be FORCED to do that.
In this case most (all?) VC titles are supposed to be 4:3 AR, correct?
It affecting only vWii users should not trouble you. AFAIR Wii users never got that fixed. Am i right? Nintendo never updated (or probably couldn't) fix that issue.
Probably because of the analog connection.


It probably needs to be an option cause some of the virtual console arcade games do change to 4x3 automatically. Unless there is a way to create some form of exception list for the arcade games that do the aspect ratio change.

Plus I'm pretty sure that there are people who prefer the stretching (i personally hate it)
 
  • Like
Reactions: sideskroll

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,650
Country
France
what I don't like is placing a setting which will have no effect for some users.
They will report "it's not working" etc.
I can hide the setting when not using vWii.
If I add the setting, it will be present in all game type, not only VC. (Wii, Devo, Nin, channels, etc.) so user can set a single option to affect all launching, I won't make it a setting per game-type, so global will also affect Wii games.
I suppose users won't want to enable it for Wii games so they will set it to OFF, but they will have to enable it for all VC one by one which will be annoying if they have a lot of channels...

I don't want to create multiple setting for the same purpose : Wii wide, GC wide, VC Wide, etc wide...
Too much option for a single effect
Switching the video before launching the game is still the easiest (annoying but easiest).

I think my issue is different, as it affects Wii games too, if I start a game right away :(
Tested your mod, and I still get the problem, if I don't wait enough.
That's strange, the loader is able to autoboot games at launch so it should be fine to quickly select a game.
It happened only recently or did it always work like that? slow free size display?
The slow free size can be fixed if you are using FAT32 (hdd settings > resynch FAT32) but it's usually only an issue if you are using very old homebrew. new LibFAT is now properly setting free space on all file operations.
 
  • Like
Reactions: sideskroll

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    SylverReZ @ SylverReZ: @salazarcosplay, Good.