Hacking USB Loader GX

  • Thread starter Thread starter blackb0x
  • Start date Start date
  • Views Views 8,066,845
  • Replies Replies 30,226
  • Likes Likes 74
yeah, I fixed it in 1221 :)

And here is a fix for you Badablek:
1222_mod03

I added arguments for USB Mount at launch. It's working only if launched from SD or USB (not working with Wiiload).

Let me know if it works fine.
(you will have to manually delete your cfg files created on SD card, as they have priority over USB if present)
 
yeah, I fixed it in 1221 :)

And here is a fix for you Badablek:
1222_mod03

I added arguments for USB Mount at launch. It's working only if launched from SD or USB (not working with Wiiload).

Let me know if it works fine.
(you will have to manually delete your cfg files created on SD card, as they have priority over USB if present)


Thank you Cyan, it works great for me. USBLGX reads config file from my HDD with this mod, even if my SDCard is inserted.






ps : one question which has nothing to do with bugs

Is there a little chance that you add officially, one day, some kind of tab mod (I don't remember who made it the first time, but I used it and tweaked the sources to compile my own version of USBLoader GX, see below) ?

usbloadergxscreenshotma.png
 
  • Like
Reactions: Magnus87
it's still in my mind, and in my request list.
But I can't promise it, I'm working on it sporadically. I do things as it comes.


I didn't know you knew how to code too.
The menu at the bottom doesn't look too bad :)
maybe we could put the SD and HBC icon in the bottom corners, and the up menu a little to be centered with the big buttons

As for the tabs, my idea was to let the user save its own settings to each tabs (not predefined sources).
(one tab for the parents, one for the kids, etc.)
We could fit more tabs too.


My main road map is:
- Add neek2o support
- Add plugins support (along with Homebrew browser listed in main view)
- do the tabs / multi profile
- (add more bugs)
 
  • Like
Reactions: Magnus87
[off topic] I'm more a source tweaker than a coder : I can read sources, understand how it works (if it's not too complicated), clone or use sources from other projects to tweak my favorites homebrews (dsdoom, usbloader gx, snes9xgx, genplus gx, etc.)
But I'm not really able to code by myself, from nothing :(

My tab mod comes from someone who uploaded the sources one day, here, and I have only tweaked a little the global layout.
[/off topic]


Nice to see that tabs will come officially, one day ;)
 
like me.
I would like to create a little card game, but I don't know how to start from nothing.
I can only tweak existing projects.

Maybe we could help each others.
 
I got several errors when I tried to re-compile r1222-mod03
Code:
source/settings/menus/HardDriveSM.cpp:115:21: error: 'setMetaArguments' was not declared in this scope
source/settings/menus/HardDriveSM.cpp:132:21: error: 'setMetaArguments' was not declared in this scope
source/settings/menus/LoaderSettings.cpp:248:20: error: 'setMetaArguments' was not declared in this scope
source/sys.cpp:234:19: error: 'setMetaArguments' was not declared in this scope
Can't find the initial declaration of 'setMetaArguments' from the patch file.
Also there is a missing file: "meta.h" (should be a new file under \source\settings\ )
 
I have a problem (again)

I'm trying to install DIOS MIOS 2.10.wad and I have succeed but now I got a problem.
Regural gamecube disc games won't launch from the Wii menu/disc channel. The Wii reconise them but when you hit begin I'm stuck at a black screen.

I have download it from this site : https://code.google.com/p/diosmios/
And installed with WAD MANAGER with IOS 236.


I just want to play NGC games from my HDD (just like Wii games in USB loader GX)
But won't lose the ability to load regural disc games.





Please help :(

I doesn't tried a copied game yet because fixing this problem has a higher priorithy.

And an extra question less priorithy:
How do I upgrade the USB loader GX channel because I'm up to date in the homebrew .dol version but not the channel version.
I clicked the update button on the channel version but got a message that I already are up to date.


Here's a syscheck:
sysCheck v2.1.0b19 by Double_A and R2-D2199, Nano
...runs on IOS58 (rev 6176).

Region: PAL
System Menu 4.3E (v514)

Drive date: 2006.09.07
Homebrew Channel 1.1.0 running on IOS58
HomebrewFilter ist nicht installiert
Hollywood v0x11
Console ID: 44547793
Boot2 v4
Found 143 titles.
Found 48 IOS on this console. 12 of them are stub.

IOS4 (rev 65280): Stub
IOS9 (rev 1034): No Patches
IOS10 (rev 768): Stub
IOS11 (rev 256): Stub
IOS12 (rev 526): No Patches
IOS13 (rev 1032): No Patches
IOS14 (rev 1032): No Patches
IOS15 (rev 1032): No Patches
IOS16 (rev 512): Stub
IOS17 (rev 1032): No Patches
IOS20 (rev 256): Stub
IOS21 (rev 1039): No Patches
IOS22 (rev 1294): No Patches
IOS28 (rev 1807): No Patches
IOS30 (rev 2816): Stub
IOS31 (rev 3608): No Patches
IOS33 (rev 3608): No Patches
IOS34 (rev 3608): No Patches
IOS35 (rev 3608): No Patches
IOS36 (rev 3608): No Patches
IOS37 (rev 5663): No Patches
IOS38 (rev 4124): No Patches
IOS40 (rev 3072): Stub
IOS41 (rev 3607): No Patches
IOS43 (rev 3607): No Patches
IOS45 (rev 3607): No Patches
IOS46 (rev 3607): No Patches
IOS48 (rev 4124): No Patches
IOS50 (rev 5120): Stub
IOS51 (rev 4864): Stub
IOS52 (rev 5888): Stub
IOS53 (rev 5663): No Patches
IOS55 (rev 5663): No Patches
IOS56 (rev 5662): No Patches
IOS57 (rev 5919): No Patches
IOS58 (rev 6176): USB 2.0
IOS60 (rev 6400): Stub
IOS61 (rev 5662): No Patches
IOS62 (rev 6430): No Patches
IOS70 (rev 6912): Stub
IOS80 (rev 6944, Info: rev 6944): Trucha Bug
IOS222[38] (rev 65535, Info: hermes-v5.1): Trucha Bug, ES Identify, NAND Access, USB 2.0
IOS223[57] (rev 65535, Info: hermes-v5.1): Trucha Bug, NAND Access, USB 2.0
IOS236[36] (rev 65535, Info: rev 3351): Trucha Bug, ES Identify, NAND Access
IOS248[56] (rev 21010, Info: d2x-v10beta53-alt): Trucha Bug, NAND Access, USB 2.0
IOS249[56] (rev 21010, Info: d2x-v10beta53-alt): Trucha Bug, NAND Access, USB 2.0
IOS250[57] (rev 21010, Info: d2x-v10beta53-alt): Trucha Bug, NAND Access, USB 2.0
IOS254 (rev 65281): BootMii
BC v6
MIOS v10 (DIOS MIOS 2.6.1+)

Report generated on 2014/05/02.
 
there's no update available for the channel.
(and I'll probably won't release it , as users might have installed a modified version on WiiU, and if I release a new version with the internal update feature it will replace the WiiU channel with the Wii version, which will not work anymore).
I will have to create two different version, but users who already installed on vWii will have to update manually or it will stop working.
Also, it's currently missing code to install wads on realNAND. I need to rewrite it first, that's why I waited this long to release a new version, but decided to release only the dol instead.

most users are using the forwarder, at least users who wanted to play gamecube games already updated/switched to the dol+forwarder version.


If you install DIOS MIOS 2.10, you can still run gamecube discs from the official Disc Channel, BUT you need to connect a FAT32 USB device.


airline38:
I forgot to add the new files to svn before creating the patch.

#ifndef _META_H_
#define _META_H_

int setMetaArguments(void);

#endif
Code:
#include "FileOperations\fileops.h"
#include "settings\CSettings.h"

int setMetaArguments (void)
{
	char metapath[255] = "";
	char metatmppath[255] = "";

	snprintf(metapath, sizeof(metapath), "%s/meta.xml", Settings.update_path);
	snprintf(metatmppath, sizeof(metatmppath), "%s/meta.tmp", Settings.update_path);

	FILE *source = fopen(metapath, "rb");
	if(!source)
	{
		return 0;
	}

	FILE *destination = fopen(metatmppath, "wb");
	if(!destination)
	{
		fclose(source);
		return 0;
	}

	const int max_line_size = 255;
	char *line = new char[max_line_size];
	while (fgets(line, max_line_size, source) != NULL) 
	{
		// delete commented lines
		if( strstr(line, "<!--   // remove this line to enable arguments") != NULL ||
			strstr(line, "// remove this line to enable arguments -->")   != NULL)
		{
			strcpy(line, "		\n");
		}

		// generate argurments
		if(strstr(line, "<arguments>") != NULL)
		{
			fputs(line, destination);
			snprintf(line, max_line_size, "				<arg>--ios=%d</arg>\n", Settings.LoaderIOS);
			fputs(line, destination);
			snprintf(line, max_line_size, "				<arg>--usbport=%d</arg>\n", Settings.USBPort);
			fputs(line, destination);
			snprintf(line, max_line_size, "				<arg>--mountusb=%d</arg>\n", Settings.USBAutoMount);
			fputs(line, destination);
			
			while(strstr(line, "</arguments>") == NULL)
			{
				fgets(line, max_line_size, source); // advance one line
				if(feof(source))
				{
					fclose(source);
					fclose(destination);
					delete [] line;
					return 0;
				}
			}
		}
		fputs(line, destination);
	}

	fclose(source);
	fclose(destination);
	delete [] line;
	
	if(CopyFile(metatmppath, metapath) <0)
		return 0;
	
	RemoveFile(metatmppath);
	
	return 1;
}
 
Is there a way to make it works with NTSF usb devices because my HDD contains files that are bigger than 8GB.
Isn't here an alternative?


I just want to play NGC games from disc and NTSF HDD with current settings.
I use NTSF and can't format it because I have games like Super Smash bros Brawl and Metroid prime Trilogy that are over 7 GB!
Isn't there an alternative for that?


Can the forwarder playing NGC games without DIOS MIOS?
 
Thank you Cyan, it works great for me. USBLGX reads config file from my HDD with this mod, even if my SDCard is inserted.

ps : one question which has nothing to do with bugs

Is there a little chance that you add officially, one day, some kind of tab mod (I don't remember who made it the first time, but I used it and tweaked the sources to compile my own version of USBLoader GX...

+1 for the tab mod request from Badablek! - (first made by temp member Garfunkiel I believe)

Badablek - If you compile a tab mod version of the 1222 mod03 cyan provided, please share :)
 
Is there a way to make it works with NTSF usb devices because my HDD contains files that are bigger than 8GB.
Isn't here an alternative?


I just want to play NGC games from disc and NTSF HDD with current settings.
I use NTSF and can't format it because I have games like Super Smash bros Brawl and Metroid prime Trilogy that are over 7 GB!
Isn't there an alternative for that?


Can the forwarder playing NGC games without DIOS MIOS?
You are using NTFS only for games bigger than 4GB?
you didn't know that the games could be split in multiple files and work fine in FAT32?

GameCube REQUIRES fat32, so there's no way to play from NTFS.
Wii games works with both FAT32 or NTFS, just use WiiBackupManager to put games on your drive to convert games to wbfs.
When you use the "wbfs" file format for the games, they are not taking 4GB, but only the size of the game (400MB~4GB), and split in multiple files if needed. it will save you a lot of free space.

You don't want to format, but you will have to do it if you want gamecube games from HDD.
If you don't want to format, you can try to resize the NTFS partition, and add a new partition before the NTFS.
That new partition MUST be FAT32, primary, the first one on your drive, with 32k/cluster.
Your drive MUST NOT be bigger than 2TB, or have 4096bytes/sector. Recent drives have 4096bytes/sector, so only old ones with 512bytes/sector are working.
 
Hey Cyan I was just trying out the latest mod03 of 1222 and i get nothing but code dumps :( no big deal im sure it will get ironed out eventually but i did notice an interest tidbit. when i went to test 1080 avalanche (not working btw) i got a message saying extracted games are not supported by nintendont. the google code page says otherwise.
 
Thank you :)
Too many copy paste is bad...

As for the code dumps, where do you encounter them?
in the loader, or in nintendont?
If it's in nintendont, it's a known issue when launched from a loader. you can run nintendont from HBC now and it will autoboot correctly.
 
cashes in nintendont. yeah i know its an issue, based on wiifreasko (i think?) reports he thinks its the memory address used and it does seem like it as wiiflow has been working great with autoloading games.
 
+1 for the tab mod request from Badablek! - (first made by temp member Garfunkiel I believe)

Badablek - If you compile a tab mod version of the 1222 mod03 cyan provided, please share :)


If you're really interested, you can download mod4 (from Cyan) with tabs here (sources are included, of course !)
this is not official, only for "educational purposes". And as I do not update my build everytime a new revision is uploaded by Cyan, this mod is provided "as is", do whatever you want with it.

If needed, you can download only the modified source files here
Overwrite these files over official mod4...


ps : Cyan, I'll remove the link immediately if you don't want it here.




Cyan,

Mod4 works really great, just tried with Zelda TP and Mario Sunshine (1:1 iso format, didn't try FST games). No crashdump, no black screen
BTW, since a crash some days ago, Luigi's Mansion (PAL) does not work anymore (but the same happens when launching it from HBC)


Is USBLoader GX supposed to be able to force video mode, like in Nintendont ? I only see Auto or None in USBLGX parameters ? No NTSC, PAL50 or PAL60...
(Luigi's Mansion worked fine with NTSC forced, that was the only way for me to play it...maybe my component cable is the problem ?)
 
No problem with that tab's mod :)
on the contrary, thanks for sharing it. (I'll take it too lol)

There's another video mode : "use game settings", which will force one of the above "Video settings".
We don't see very well because the menu are too short, I'll also make them wider for users with 16:9

I will merge both in the same line, because it's too confusing right now.
It will probably reset all existing settings though, so I'm hesitating to do it, I don't like reseting user's settings.

I have only Luigi Mansion USA, so I can't confirm your issue with video mode auto.
maybe there are still issues with video mode detection. I didn't test a lot of things.
 

Site & Scene News

Popular threads in this forum