Hacking USB Loader GX

  • Thread starter Thread starter blackb0x
  • Start date Start date
  • Views Views 8,068,207
  • Replies Replies 30,226
  • Likes Likes 74
I don't think it would be a bad idea to have the project become more accessible to other developers
Exactly. When a projects on GitHub it means that everyone can easily make improvements and submit fixes. We can't do this on SourceForge though because they only allow us to create bug reports.

Having said that, moving to GitHub is something that should of been done more than 5 years ago. Like at this point the Wii is a 13 year old console and development has slowed down across the board, so it might not revitalise the project how you'd hope. But would moving the project over to GitHub today still help? Absolutely.

If Cyan doesn't make the move then it's not the end of the world. My versions already on GitHub and I'll accept pull requests from anyone who wants to contribute.
 
Having said that, moving to GitHub is something that should of been done more than 5 years ago. Like at this point the Wii is a 13 year old console and development has slowed down across the board, so it might not revitalise the project how you'd hope. But would moving the project over to GitHub today still help? Absolutely.

I probably should have clarified that I don't expect a crazy resurgence in development, or any major progress towards a 4.0 release. People have come to this project over the years with ideas (some terrible) or better yet with diff files or forks of improvements/refinements. I would imagine their own motivation or interest to keep going dwindles when contributions have limited potential to be considered for the main branch to be experienced by more users.

Even though the Wii is 13 years old now, WiiFlow Lite has made a huge impression on the community in recent years. Since the start of 2020, it has had ~20 commits from 3 different developers (you being one of them) and hundreds of forum posts in the designated thread. That thread has been hard to keep up with with the amount of discussion going on!
 
  • Like
Reactions: blackb0x
WiiFlow is a prime example because that went from SourceForge to GitHub. And fledge68 is by no means an expert with Git, but he understands enough so that he can share code and accept code from others. I even gave him a little guide on how to cherry pick commits and undo mistakes.

I just don't know if Cyan will bother moving the project to GitHub. Like he can correct me if I'm wrong, but I think he's been working on the project for so long that he's lost interest in it. For example, there's been 2 updates within the last 2 years and both updates were only released because they contained some good patches (Wiimmfi patcher and the 480p fix) from Leseratte.
 
Last edited by blackb0x,
  • Like
Reactions: fledge68
I just thought :
It's strange that your drive is 512byte/sector.
even if such drive exists, it was very rare and the manufacturer quickly switched to 4k/sector.

but, most drive with 4k have a "512 emulation" mode (512e) to work on old OS like winXP.
I now remember that users who did have 8TB used on wii had to disable that emulation mode and reveal the real 4k to all softwares accessing the drive.
I really don't know why I forgot about it.

WD have a tool to switch that option ON/OFF.
once the interface is set to 4k (wrongly called "512e enabled" by WD app) then you can format and use the drive above 2TB with GPT.

You can't do it on your drive? that would be better if you could use all its space.

WD has a tool. Seagate does not appear to have one. I have a 5tb backup plus portable. Seachest/Seatools containa a utility that can chane to 4k logical sectors, but seem to only work with SAS-drives. The drive does have 4k physical sectors. And it is unknown to me if the 512e happens in the drive istelf or the enclosure it is in.. don't think they can be easily opened.

No worries though - i will get a WD I believe and use the seagate for something else.... I usually get WD, but there was a sale :p
 
  • Like
Reactions: Cyan
I just don't know if Cyan will bother moving the project to GitHub. Like he can correct me if I'm wrong, but I think he's been working on the project for so long that he's lost interest in it.
to do the move, I'd like to properly update svn with a final version which will auto-update with dol on github, so users get an update notification in the app (located on sourceforge, which contains gitbub url for next updates) and don't have to manually reinstall from github.

I'm not against it, and I put it on github to allow anyone to work on it even if I don't update the main branch.
I'd prefer to find a way to properly name or version each release (main branch, mods, etc.) to not confuse users. especially if the loader contains auto-update urls, and there are a lot of branches.

For example:
if there is a complete tab-mod branch, it would be good to get its own autoupdate URL so users always update to tabmod automatically, right?
If tabmod makes some changes, and ask to merge. this is what I didn't understand yet. does pull/push means "merging all changes in the main branch as to the mod become the main one?"
that would mean even its own URL will be modified in the main project?
this is what I have problem with, and why I prefer patches. I can apply changes only to some files, not "merge" two full project tags revision with conflicting changes together.

Maybe I'm having fear for nothing, and it's not working like that?
this is how I think github is working, and why it frighten me a bit. the "project merging" makes me uneasy to work with.


As for losing interest, only a little.
I started losing interest when I couldn't do what I wanted, for two reasons:
1. because the loader felt at its max size (memory wise it started to crash when adding new features, even a single ascii letter in a prompt text).
I don't know why and felt powerless as I don't know enough about memory management, or compiler options (I'm sure it was something to do with .ro .text size, as WiiMC is 5 time the dol size of USBGX without problem!)
2. because I'm not a good developer, and mostly a tweaker. I never created a project of my own but only added to existing ones. There are a lot I don't know and feel lost or sometime just "trying things randomly in hope it works" instead of properly coding things. There are things I don't understand, even in USBGX as like you said lot of different developers work on it at the same time, it can look messy and different. sometime I spent more time learning, understanding, reading other website, debugging and testing than coding.
I got discouraged by what I want to do and what I actually could do.

Then, living alone is also taking most of my time. I was living at my parents when I was actively working on it.
I'd like to still work and update it, like I said (in an edit on my previous post if you missed it) I still have ideas I wanted to add to the loader. But, when I code I like to "keep in mind" what I'm doing, and do it for long period of time, or else it's harder to go back into it. I don't like working on the project just 1h per day. I find coding being time consuming (or time warp, I lose track of time and forgot to eat.., when I try one little thing I often spend a full day without noticing. Maybe if I was better I wouldn't spend so much time on debugging little things)
If other dev could help, or even do it entirely (why not? if you are willing to help, share the same vision and work together on the same project to bring it to the same direction) and keep it alive, I'm all for it.

Maybe I also fear the project to go "the wrong way", idea from others I didn't plan? I don't know. we can always talk about it.
It's not "mine", I joined half way in its development time frame, I was first debugger/tester/suggestion, then I started doing things myself, and eventually was the only one since 3.0. but it's a shared project with lot of ideas and developers merged together. I have ideas how to improve it and would appreciate seeing it go that way.

I also wonder if we should keep or fully discard outdated features, such as DM/DML/quadforce.
it'll provide a lot of space to the loader's resources.
same for lot of outdated things, like "alt dol" auto-generated prompt menu for games not working with pre cIOS d2x v7. would be useful only for games not working with d2x v7+ and requiring for example rev17 or rev19? we can remove the "auto prompt" but keep altdol from disc feature.

I think the loader should be rewritten only around last features. I don't see new users knowing about old features. (wip file patching anyone? bca disc dump from SD? external dol loading from SD?)
Would benefit more from loading external files than just dol (Riivolution without patching ISO files?)
I don't like forcing old users to update (I'm against it) but they can keep the old revision if they want that features. it's not like they can't use old revision anymore or we are forcing them to update.
at least, just keep WBFS partition support. i won't want to force users to drop it and use FAT32. wbfs is fine (I still use it, and cIOS are still compatible).


Random mockup by users I'd like to do:
New settings look.
Reworking the settings entirely, move settings to proper place (loader's IOS in loader's setting instead of game's settings, remove shared settings wii+gamecube, or nintendont+dml+devo, etc.)
8074822900_02b567b549_z.jpg


Tabmod, but for more than 3 hardcoded sources. let the user choose which one to list at the top, from all possible sources OR config (for example, one tab for the kids, one tab for wife, one for John, one tab for RPG, one tab for N64 FPS, etc.)
so adding new tab, order, logo and name modifiable in the loader, and each tab its own full loader+game settings. can also be locked for parental control and limit specific tabs to kids.
XZwB2rV.jpg


Maybe a visual of possible source? unsure yet. a list or icon mode are both fine. maybe let the user choose?
Also, add support for "VC type" (NES, SNES, N64, etc.) directly in that place without need to tweak the filter mode.
43iq4h5.jpg


Not particularly attached to that change, but while I'm at showing user's mockup, here it is:
someone suggested a new boot screen to feel like it's integrated to the official console's GUI visual.
usbloader_GX_L.png



No visual mockup available for this:
I'd also like to change the way prompt message are working, make it proper scrollable message or auto resized buttons if too big.
Maybe even drop the current way of translating the loader and make reference variable instead of "identically matched words" (some languages can use different word based on logic, context, gender or count while english is the same for all, having reference would allow that! lot of work and duplicated entry for sure, but it'll make a more professional looking interface with proper worded and big explanations directly in the loader without depending on limited 1 line long source.
 
Last edited by Cyan,
if there is a complete tab-mod branch, it would be good to get its own autoupdate URL so users always update to tabmod automatically, right?
If tabmod makes some changes, and ask to merge. this is what I didn't understand yet. does pull/push means "merging all changes in the main branch as to the mod become the main one?"
that would mean even its own URL will be modified in the main project?
this is what I have problem with, and why I prefer patches. I can apply changes only to some files, not "merge" two full project tags revision with conflicting changes together.
With Git you can either merge, rebase or cherry pick.

Here's a few videos that should put your mind at rest.






If you use the official GitHub desktop application or something like SmartGit then you can avoid using a lot of the commands.

I started losing interest when I couldn't do what I wanted, for two reasons:
1. because the loader felt at its max size (memory wise it started to crash when adding new features, even a single ascii letter in a prompt text).
I don't know why and felt powerless as I don't know enough about memory management, or compiler options (I'm sure it was something to do with .ro .text size, as WiiMC is 5 time the dol size of USBGX without problem!)
If you follow through with your idea to discard outdated features then that'll help. You've got proof of that too since my version removes some old stuff and optimises assets, which then allowed me to make lots of changes.

I'd like to still work and update it, like I said (in an edit on my previous post if you missed it) I still have ideas I wanted to add to the loader. But, when I code I like to "keep in mind" what I'm doing, and do it for long period of time, or else it's harder to go back into it. I don't like working on the project just 1h per day. I find coding being time consuming (or time warp, I lose track of time and forgot to eat.., when I try one little thing I often spend a full day without noticing. Maybe if I was better I wouldn't spend so much time on debugging little things)
If other dev could help, or even do it entirely (why not? if you are willing to help, share the same vision and work together on the same project to bring it to the same direction) and keep it alive, I'm all for it.
I can understand that since I used to sink many hours into something just to get it out of the way. It was a bad habit that disrupted my social life though, so these days I'll try to break up what I'm working on. So now if you take a look at a project that I've contributed to you'll often see multiple commits instead of 1 commit that changes multiple things. I found that doing things this way not only helps me with time management, but it also improves the commit history as you can easily see which commit changed what.

I think the loader should be rewritten only around last features. I don't see new users knowing about old features. (wip file patching anyone? bca disc dump from SD? external dol loading from SD?)
I said this to someone else before, but if the Wii wasn't a 13 year old console and I had the time then I probably would of created a new loader with near perfect USB & SD compatibility for both Wii and GC games. I'd then add on other important features before finally making it look visually pleasing.

Tabmod, but for more than 3 hardcoded sources. let the user choose which one to list at the top, from all possible sources OR config (for example, one tab for the kids, one tab for wife, one for John, one tab for RPG, one tab for N64 FPS, etc.)
so adding new tab, order, logo and name modifiable in the loader, and each tab its own full loader+game settings. can also be locked for parental control and limit specific tabs to kids.
I've always liked the look of the tabs, but I hate that it moves the bar with various settings. In my opinion it makes the UI look too cluttered as there's way too many things on the screen that you could click on.
 
  • Like
Reactions: fledge68
I thought about hiding the top menu outside of the top screen (or elsewhere) and it would "scroll back" when the pointer is on the edge of the screen. we don't need to see it all the time. both top tabs and menu might be hard to use tabs, but it's an idea.
also some options could be removed or merged (like layout, no need of 4 buttons) and buttons could be redrawn and bigger for easier access (with small button we often click on the wrong one, and the picture is not very nice)
some of the bottom buttons are not necessary either (SD remount, users shouldn't eject it !, HBC icon, loader should have homebrew as plugin directly in the main interface, why a "+" or power button?)
That's always ideas and I never tried to actually do anything like that.

thanks for the video, I'll watch them to see how it works.
 
Last edited by Cyan,
Since I do not understand,why this Game is not starting,it takes me "busy" today and...
it works now.:)

A really simple Solution,@crumaga :

Very Simple - used a NTFS formatted USB Stick (I am sure it also works on an NTFS formatted HDD,but actual I do not have one).Transferred the Game over,used Hermes v4 on cIOS222 Base 38.
Set Video Mode to Force NTSC and Game Language to English and disabled the Nand Emulation Option.

View attachment 202731 View attachment 202732 View attachment 202733
View attachment 202734 View attachment 202735 View attachment 202736View attachment 202737

Have Fun now with Dancing on Just Dance 2020 Plus.:D
(A biiiiiiig Thank you to @KleinesSinchen ,she learns me what it means to have Endurance on Testing.)

Thank you.:)

Hello.:)

I simply can not understand it.
Yesterday I changed the File Format from my still working HDD from FAT32 to NTFS.
I used AOMEI Partition Assistent 8.6 Pro for this.All went well.
All Games are still working except again this Game - Just Dance 2020 Plus.

But when I plugged in my NTFS formatted USB Stick again (that one from my last Test) the Game works.
I deleted and transferred the Game 3 Times over.As ISO and as WBFS File in one Piece or on 2 Parts (like on the USB Stick)
How should I deliver reliable Results for other Users with such Behavior.:cry:

Thank you.:)
 
Last edited by Alexander1970,
@Cyan why when I try use ocarina does the game go black screen and my wiimote gets disconnected, I’m using the latest version and it works fine without codes, thanks in advance
 
@Cyan why when I try use ocarina does the game go black screen and my wiimote gets disconnected, I’m using the latest version and it works fine without codes, thanks in advance

Hello.:)

Do you have a liitle more Informations for us please ?
This would make helping you a little easier.:)

- which Game please ?
- which Codes did you used please ?
- maybe which USBLoader ? The Version please ?

Thank you.:)

Please stay on one Thread (acutal this one here),it makes it easier to help you.:)
 
Hello.:)

Do you have a liitle more Informations for us please ?
This would make helping you a little easier.:)

- which Game please ?
- which Codes did you used please ?
- maybe which USBLoader ? The Version please ?

Thank you.:)

Please stay on one Thread (acutal this one here),it makes it easier to help you.:)
The game is Mario kart Wii ctgp revolution PAL (I used a program by Wiimm to make it ctgp)
The code is ultimate license unlocker (Also PAL)
And the version of USB loader gx is 3.0 r1272
 
Last edited by MrHunterGames,
  • Like
Reactions: Alexander1970
The game is Mario kart Wii ctgp revolution PAL (I used a program by Wiimm to make it ctgp)
The code is ultimate license unlocker (Also PAL)
And the version of USB loader gx is 3.0 r1272

Thank you.:)

I never started CTGP with USBLoader GX,always from the Wii Menu Channel.
I am actual on Version v1.03.1076 and have to Update actual.

Also,unfortunately I do not have/found any Ocarina Code File for it.Would you be so kind and can you upload/attach it please ?
So I can have a look on it if you like.:)

Thank you for your Help and Assistance.:)
 
Last edited by Alexander1970,
  • Like
Reactions: jeannotte
  • Like
Reactions: jeannotte
Would it be the code because it works fine without it?
Sorry,for me it does not work with and without Code...Black Screen.:(

---------------------------------------------------------------------------------

I see,only Version 1.02 works from an USB Device.
As @blackb0x said.

I am sorry,I am not really helpful for this.:(

Thank you.:)
 
Sorry,for me it does not work with and without Code...Black Screen.:(

---------------------------------------------------------------------------------

I see,only Version 1.02 works from an USB Device.
As @blackb0x said.

I am sorry,I am not really helpful for this.:(

Thank you.:)
All good, thanks for trying, I’ll be getting the disc when I’m out of lockdown so it should work then, just a question, does the latest ctgp unlock all the vehicles and characters?
 
Last edited by MrHunterGames,
  • Like
Reactions: Alexander1970

Site & Scene News

Popular threads in this forum