Hacking USB Loader GX

  • Thread starter cyrex
  • Start date
  • Views 7,215,940
  • Replies 29,375
  • Likes 48

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
46
Location
Engine room, learning
XP
15,662
Country
France
I didn't think about widescreen option at all.
I'm adding function to boot neek2o, but I'm still not sure what I should load.

I need to load in memory armboot.bin and kernel.bin
kernel is located in sd:/sneek/
but armboot.bin is usually in bootmii folder for users using bootmii. Not everybody use this file.
I checked the one generated by modmii, it's not the same than the one included in Nswitch v2.2
I'm wondering how the armboot.bin file is compiled. what's different from both?

I don't know if the armboot.bin is dependent on the used neek version or not.
I added the binary into boot.dol but if I can load the binary from an external file it would be better (size wise for the dol).


by looking at Nswitch and Postloader sources, they are not using the same method/addresses to load the files in memory.
I don't know which one I should use in USBGX nor if I can use the same or different/unknown one.
I guess I'll just try randomly...

I setup a working uneek2o NAND so I can now try booting it.
I don't know why some channel don't work :( (especially the return to NAND channel, if it doesn't work I can't test exiting games to return to NAND automatically)
 
  • Like
Reactions: Magnus87

GreyWolf

Well-Known Member
Member
Joined
Mar 2, 2015
Messages
5,399
Trophies
0
Age
54
XP
1,516
Country
United States
From what I can tell armboot.bin is only for booting into a NEEK environment with BootMii. When I tried NEEK2o I didn't use it at all.

I fiddled with implementing it and just used the source for nloader, but it's a bit tough to figure out how to handle the newer features that were added without the source code being updated on the repository.
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
46
Location
Engine room, learning
XP
15,662
Country
France
well, to boot into neek you need to reboot into bootmii+arm (the ARM code for mini is included in Nswitch sources as a bin2o array)
of for vWii without bootmii, it's patching ES_ImportBoot2 function.

I'll try to do the vWii method on Wii.
If it works only on vWii, I'll use both internal binary + allow users to place their own armboot.bin file in /sneek/ folder to use instead of the one inside the loader. Just in case using a different arm binary is needed for whatever reason.

edit:
I don't know what this address is used for:
write32(0xd8006a0, 0x30000004), mask32(0xd8006a8, 0, 2);
 

Troopage

Well-Known Member
Member
Joined
May 18, 2014
Messages
376
Trophies
0
XP
1,692
Country
United States
I have a question that I know has been answered before, but I'm too lazy to search for it. Does USBLGX only support wbfs? I have had several crashes due to a corrupted game and even some on my PC have been corrupted too. I'd really prefer to use a full ISO.
 

G0R3Z

Just Can't Be Bothered
Member
Joined
Aug 12, 2014
Messages
766
Trophies
0
Age
33
XP
932
Country
I have a question that I know has been answered before, but I'm too lazy to search for it. Does USBLGX only support wbfs? I have had several crashes due to a corrupted game and even some on my PC have been corrupted too. I'd really prefer to use a full ISO.


Technically yes, because the wii has to read a wbfs. It can be in a fat32 drive, but there has to be a WBFS folder.
 
  • Like
Reactions: Troopage

TecXero

Technovert
Member
Joined
Apr 13, 2014
Messages
2,810
Trophies
0
Location
Mainframe
XP
1,040
Country
United States
I have a question that I know has been answered before, but I'm too lazy to search for it. Does USBLGX only support wbfs? I have had several crashes due to a corrupted game and even some on my PC have been corrupted too. I'd really prefer to use a full ISO.

The WBFS filesystem isn't necessary, anymore. You can use FAT32, NTFS, or (my prefered) EXT2/3/4. You can run ISOs or WBFS (a file format that frees up some space by removing [or compressing, can't remember] garbage data) from the WBFS folder on any compatible partition. Just make sure the filename is the game ID or has the game ID in brackets.

If you use USB Loader to dump your games, it should name them and place them properly so they'll be ready to go.
 
  • Like
Reactions: Troopage

Troopage

Well-Known Member
Member
Joined
May 18, 2014
Messages
376
Trophies
0
XP
1,692
Country
United States
Technically yes, because the wii has to read a wbfs. It can be in a fat32 drive, but there has to be a WBFS folder.
The WBFS filesystem isn't necessary, anymore. You can use FAT32, NTFS, or (my prefered) EXT2/3/4. You can run ISOs or WBFS (a file format that frees up some space by removing [or compressing, can't remember] garbage data) from the WBFS folder on any compatible partition. Just make sure the filename is the game ID or has the game ID in brackets.

If you use USB Loader to dump your games, it should name them and place them properly so they'll be ready to go.
That's a relief. Thank you for the information. I've had the games as WBFS files on a FAT32 device since I've started.
 

G0R3Z

Just Can't Be Bothered
Member
Joined
Aug 12, 2014
Messages
766
Trophies
0
Age
33
XP
932
Country
That's a relief. Thank you for the information. I've had the games as WBFS files on a FAT32 device since I've started.


You can use Wiibackupmanager if you're not quite sure. It makes installation a breeze, and you don't have to bother with relabelling everything since the application does that for you.
 
  • Like
Reactions: Troopage

Troopage

Well-Known Member
Member
Joined
May 18, 2014
Messages
376
Trophies
0
XP
1,692
Country
United States
You can use Wiibackupmanager if you're not quite sure. It makes installation a breeze, and you don't have to bother with relabelling everything since the application does that for you.

Yup, I use Wii Backup Manager already, but it's still nice that you are suggesting that I could use it.
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
46
Location
Engine room, learning
XP
15,662
Country
France
a little neek2o progress report!

I can now boot neek from the loader :)
I'm using Crediar's function to boot it without the need to use armboot.bin file, and it works on Wii too. (I didn't test on vWii yet, but it's the same code)


But autoboot doesn't work,

Edit:
It works ;)

My settings were wrong. I could autoboot a channel from neek2o.
I might not understand how the settings are working, it doesn't always boot.

"return to" : doesn't work with all games? It works with some, so the option is good. the game not working with this option doesn't even boot...
"specify nand path" : wii light flashes. doesn't find the nand ? (what is the expected format? /nands/path/ or usb:/nands/path/ or /path/? none worked)
 

Badablek

Well-Known Member
Member
Joined
Jan 23, 2006
Messages
527
Trophies
1
Age
43
XP
2,953
Country
France
Hi Cyan,

I know you're busy with neek2o implementation, but is there any chance to tweak a little bit the homebrew browser ? USBLGX checks for every single dol file. That's perfect for a "one dol" homebrew, but not with multi dols like Retroarch, Quake Rev Pak, etc.

I put some screenshots to show you what it does : I have 3 pages of Quake rev Pak and 5 of Retroarch for example :wacko: It would be really nice to make Homebrew Browser like HBC : only checking for boot.dol or boot.elf



And one little "idea" (I may have asked for that a long time ago, in a galaxy far, far away...sorry if that's the case) : when using a wiimote, if we go "outside the screen", the pointer is stucked where we left the screen, which is really disturbing (first time I saw that, I thought USBLGX has crashed !). Like any homebrew or official game/interface, when going outside of the screen, the pointer should disappear and virtually follow the wiimote, then reappear when and where we go again in the screen.

When using a gamecube controller, it works like on the original interface...not when using a wiimote.

my 2 cents :gba:

thanks for all your hard work

ps : I never understood what is so nice with neek2o, anybody to explain quickly what neek2o does what NINTENDOn't (cIOS) ? Does it work with real NAND or emuNAND ? Is it like Wiiware/Virtual Console emuNAND feature ?
 

Attachments

  • USBLoader_GX_ScreenShot-May0819583715.png
    USBLoader_GX_ScreenShot-May0819583715.png
    20.7 KB · Views: 208
  • USBLoader_GX_ScreenShot-May0819581415.png
    USBLoader_GX_ScreenShot-May0819581415.png
    26.1 KB · Views: 202
  • Like
Reactions: Troopage

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
46
Location
Engine room, learning
XP
15,662
Country
France
I'll take a look, it should be easy to limit to boot.dol instead of all dols.
I wanted to add a setting, but I can just limit to boot.dol



I understand the virtual "outside area of the screen", but I think it's hard to make.
The pointer is out of the screen because the captor is also out of the wiimote camera.
Without a way to follow the wiimote movement outside of the display it's not possible to make a virtual invisible pointer following movement to reappear where you re-enter the screen coordinates.

The virtual cursor with analog stick it's easy, because you just add/substract the X/Y position, if you are out of screen you are negative and it still works.

I think there are two possibilities:
- To make it possible with the wiimote, you would need to sacrifice an area of the picture all around the screen, a place not seen on screen but still seen on the captor.

Abusing the overscan value in GUI setting is maybe a solution, but it would require moving or scaling all the element on the screen to keep them on screen.
a lot of elements are independent and scaling one by one would make holes around them, not easy to keep the interface intact.

you can try to play with the theme to make a good interface with a big overscan value.

- decreasing the time the cursor is kept on screen if wiimote/cursor movement stops.
it might not look pretty to have the cursor disappear too quickly when on the center of the screen. Maybe having a defined area where it disappear faster is a viable solution.



Neek doesn't replace nintendont, it's main use is playing channels (wiiware/VC), and alternatively Wii discs or gamecube using DM/L.
Neek2o is a better EmuNAND compatibility than the one currently used by the loader (cIOS running on RealNAND is redirecting NAND access requested by the game to SD/USB).
neek is entirely running on SD/USB, the IOS itself is run on the emulated NAND path. The console doesn't even know it's not using the real NAND. All the process/kernel/settings/files/IOS/PPC/ARM etc. everything runs from the same place with no redirection. all is done from SD instead of NAND chipset. no cross access.

Few Wiiware games have issues with the cIOS method (castlevania, megaman, etc.), neek is the solution to make them work.
Few Wii games have AP protection (tintin, we dare, etc.) and again using neek allow 100% compatibility as neek is emulating the disc drive and doesn't use cIOS. The games are mounted from USB and displayed/launched directly from the Disc channel on the emulated System menu. There's no USBLoaders or patched IOS that the game could detect. think of it like PS3 XMB (the loader mount the game but doesn't launch it, then the console boot it as if it was a read disc inserted in the console)

There's no advantage for gamecube games.
 

drewtheretrogamer

Active Member
Newcomer
Joined
Apr 20, 2014
Messages
40
Trophies
0
Age
23
XP
99
Country
United States
it's a vWii NAND dump? not an old Wii dump?
- try a different game
- be sure to use updated version of the loader (r120x have was install issues)
- dump and install wads with the loader running on d2x, if you dump while using IOS58 some path on FAT32 might be wrong.
- try dumping and launching a channel without installing wads, if it works try installing wads using something else than the loader internal installer.

I am using iOS 249 and I have tried different games, but no games or WADs work, not even system channels such as the Mii Channel or Wii Shop Channel. It is a dump of my vWii that I am running on the same vWii. Also, how can I check which loader I am using?
 

Badablek

Well-Known Member
Member
Joined
Jan 23, 2006
Messages
527
Trophies
1
Age
43
XP
2,953
Country
France
thanks Cyan for neek2o explanation.
Now it's clear, it's like uniiloader (more or less). So neek2o combines the speed of USB loaders (cIOS) with the compatibility of emuNAND (NEEK). Nice ! (SNEEK/UNEEK+DI is great, but really slow to boot)


BTW I wasn't saying or asking if it was useful to Nintedon't (the loader), I only tried to make a little joke about the old "SEGA does what NINTENDOn't" (the compagny) (that's why I put NINTENDO in uppercase and put cIOS just after that to show I was talking about USBLoaders with cIOS...I guess I missed my joke :shy: ). I know that Nintendon't (GC loader) have nothing to do with neek2o/UNEEK/SNEEK and I was only talking about cIOS method vs neek2o method :moogle:

NINTENDOn't != Nintendon't (at least in my mind) ^_^




I thought outscreen wiimote should be easier than that :wacko: . A lot of homebrews (and even HBC) support it. If it's that complicated to implement, then it's not really important, it should take too much time and effort for a not so useful feature.

the pointer should disappear quickly only if/when wiimote is outside of the screen, no ?
 
  • Like
Reactions: Troopage

sunefa

Member
Newcomer
Joined
Nov 30, 2010
Messages
19
Trophies
0
XP
132
Country
Greece
So, i'm having a problem i found no solution to, already posted it once but thought i should try again.

MY GC controller being run from mayflash 4 ports wii u adapter, is rumbling nonstop at Nintendont menu, it happens only when i launch the loader from the usb loader gx, either when loader gx has been run at least once before i open Nintendont.

If i open Nintendont right away without caring about usb loader gx at all, i have no issues at all.

So it's troublesome only when i want to switch from a Wii game to a Gamecube game,or from opening usb loader gx to opening Nintendont.

Any ideas on how to fix that? EVerything is updated to latest revisions, tried changing some settings but nothing as well.
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
46
Location
Engine room, learning
XP
15,662
Country
France
if you launch a gamecube game from the loader, it shouldn't last long in nintendont's menu.
you don't select settings or games here.

The rumble stops once the game is loaded?


neek2o progress, here all working features:
- boot to neek system menu
- autobooting game channel
- incompatible game channel confirmed working (castlevania rebirth)
- Selecting emuNAND path (default or temporary)
- return to channel on emuNAND
- return to channel on default emuNAND if using temporary path (if ever useful to load a channel from default path instead of temporary NAND path)

exemple:
nswitch could be on default NAND
launch a game from a different NAND path, it will exit the game and return default NAND to load nswitch.
not sure if useful...
That's the only purpose I see to use temporary path.

temporary path could be used to launch channel from different path, but keep bootmii or nswitch to boot the old one.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: @BigOnYa, when your wife kicks you out BOVONO Prefabricated Tiny Home, Mobile Prefab House with...