Hacking Gamecube Backup Loading development

WiiPower

Well-Known Member
OP
Member
Joined
Oct 17, 2008
Messages
8,165
Trophies
0
XP
345
Country
Gambia, The
Keep all questions and talk about usb loading, replacing memory cards with nand or sd cards and running GC games at higher speed somewhere else. There are enough topics already for these.


I want to discuss some questions about gamecube development here, because i see quite a lot interest in this, but nobody(except Waninkoko) is doing it. I have a few questions myself and i want to gather some questions and answers here.


Q: Why is nobody picking GC development up? WiiGator's loader is open source and there are 100s of people developing wii game loaders, why isn't there anybody working at GC loading?
A: ...

waninkoko said:
Q: When running GC backups, what does have an infuence, what not? I mean, which MIOS is used as base clearly has an influence, also which loader is used(the one inside the MIOS or an external one if that's different). Do the patches to the MIOS have any more influence? To me it looks like the MIOS is patched to allow dvd video read calls at all and also to run GC homebrew if told so by the loader(wii side). Are there more patches done to the MIOS or is really EVERYTHING else done by the loader?

Only MIOS has influence. IOS (and cIOS) do nothing. Loaders do nothing.

Loaders basically reset the DVD drive, read the disc ID and if the ID is of a GameCube discs then launch MIOS. No more no less.
The key in GC loading is the loader inside MIOS. MIOS, by default, includes a simple loader that launches the Gamecube disc. This loader gets "replaced" by a custom one that patches the read routine in the games with a custom routine that reads the disc using DVD reading function(of course MIOS is patched to re-enable DVD video mode).
Patching the read routine of each game is a hard job (some games have different read routines that need a different custom read routine/patching method, we need to find some free space to store our custom routine and the buffer needed to run, etc.), that's why there are some compatibility issues.

Q: Is the BC version important? I mean, are new BC versions a problem for GC loading, because that have the signature checking fixed and the MIOS is trucha signed.
A: ...

Q: Can somebody help me to move all menu stuff from GC mode to Wii mode? First of all i mean the disc selection for multi game discs. My plan is to select it in NeoGamma(or any other loader) while still in wii mode, and have a reduced GC loader that gets the info which disc to boot from the loader running in wii mode. This will allow a nicer GUI and also motivate to put other features(alternative .dol loading) in there.
A: ...

Q: Does the gamecube Gecko OS work with WiiGator's cMIOS in NeoGamma on retail discs(!) with external gamecube mode? I didn't find a .dol for this, but i think this would help a lot. Right now it's quite complicated to get Ocarina and more important Wiird to run on gamecube games, if it would work from NeoGamma easily i hope this would help the development.
A: ...


That's it to start with, i will add more when they come to my mind
 

waninkoko

Well-Known Member
Member
Joined
Feb 1, 2008
Messages
300
Trophies
0
Age
35
Location
Salamanca, Spain
XP
142
Country
Q: When running GC backups, what does have an infuence, what not? I mean, which MIOS is used as base clearly has an influence, also which loader is used(the one inside the MIOS or an external one if that's different). Do the patches to the MIOS have any more influence? To me it looks like the MIOS is patched to allow dvd video read calls at all and also to run GC homebrew if told so by the loader(wii side). Are there more patches done to the MIOS or is really EVERYTHING else done by the loader?

Only MIOS has influence. IOS (and cIOS) do nothing. Loaders do nothing.

Loaders basically reset the DVD drive, read the disc ID and if the ID is of a GameCube discs then launch MIOS. No more no less.
The key in GC loading is the loader inside MIOS. MIOS, by default, includes a simple loader that launches the Gamecube disc. This loader gets "replaced" by a custom one that patches the read routine in the games with a custom routine that reads the disc using DVD reading function(of course MIOS is patched to re-enable DVD video mode).
Patching the read routine of each game is a hard job (some games have different read routines that need a different custom read routine/patching method, we need to find some free space to store our custom routine and the buffer needed to run, etc.), that's why there are some compatibility issues.
 

WiiPower

Well-Known Member
OP
Member
Joined
Oct 17, 2008
Messages
8,165
Trophies
0
XP
345
Country
Gambia, The
Thanks, i meant the loader inside the GC mode. The naming for all this stuff is complicated. So development can concentrate on the loader inside the MIOS / the external GC loader, good to know.

Ok new question:
Is it possible to set a register or whatever to access more RAM? TT did some trick to read RAM in GC mode that belongs to the RAM a GC doesn't have. Is it possible to enable access to all memory, or does move the memory access(->useless for us).
Edit: I think i mixed something up, i don't think it was GC mode they manipulated, but still a question
Edit2: Maybe i was right:
http://hackmii.com/2008/06/genie-into-bottle-mios/
Why else should nintendo overwrite the memory with random data on the newer MIOS?
 

toejam316

Well-Known Member
Member
Joined
Apr 20, 2007
Messages
259
Trophies
0
XP
201
Country
New Zealand
You are right, WiiPower - it was the original PoC hack where they manipulated something (I can't remember what) in gamecube mode to gain access to the additional RAM only accessible in Wii mode, and I believe they initialized the wiimote. It was a very basic hello world.

It'd be nice to move as many functions as possible out of the mIOS and into the actual loaders, although I have my doubts on what can and cannot be done. It would definitely be beneficial to be able to move the read routine's outside of the mIOS (ie. have the loader read the Game ID and add the appropriate one in during the launch instead), as with a bit of research it could sharply increase compatibility.

Edit: come to think of it, wouldn't it be possible to manually patch the routines before burning the ISOs? That'd be messier in some ways, but it'd be easier then trying to modularize the function in the mIOS, wouldn't it?
 

WiiPower

Well-Known Member
OP
Member
Joined
Oct 17, 2008
Messages
8,165
Trophies
0
XP
345
Country
Gambia, The
Well since i intend to allow alternative .dol loading and maybe Ocarina/Wiird, patching .isos and removing the need for a loader wouldn't be too good. Hmm, for multi dol games it would be nice, since now it's very complicated to patch the 2nd .dol.

Waninkoko already said that it's possible to move the development outside the MIOS. Maybe his MIOS does not support this, but with WiiGator's cMIOS does, you only need to write a Magic word to a certain memory offset, the GC loader .dol to another, boot the MIOS and you get into the loader which is able to actually boot the game(after patching the read routines).

So if it was possible to enable access to the whole RAM, there would be plenty of it for the new dvd read functions and also for lots of Ocarina codes. But i think if it was that easy Waninkoko or WiiGator would have done it already. Hmm, i wonder if the memory at 0x1800-0x3000 is used at the moment. Part of me hopes it is not, because if it was used, we woulldn't be able to add Ocarina/Wiird(if it's possible at all).
 

waninkoko

Well-Known Member
Member
Joined
Feb 1, 2008
Messages
300
Trophies
0
Age
35
Location
Salamanca, Spain
XP
142
Country
WiiPower said:
Waninkoko already said that it's possible to move the development outside the MIOS. Maybe his MIOS does not support this, but with WiiGator's cMIOS does, you only need to write a Magic word to a certain memory offset, the GC loader .dol to another, boot the MIOS and you get into the loader which is able to actually boot the game(after patching the read routines).

That's possible with mine too.
 

WiiPower

Well-Known Member
OP
Member
Joined
Oct 17, 2008
Messages
8,165
Trophies
0
XP
345
Country
Gambia, The
waninkoko said:
WiiPower said:
Waninkoko already said that it's possible to move the development outside the MIOS. Maybe his MIOS does not support this, but with WiiGator's cMIOS does, you only need to write a Magic word to a certain memory offset, the GC loader .dol to another, boot the MIOS and you get into the loader which is able to actually boot the game(after patching the read routines).

That's possible with mine too.

Ok, then i have to try it again.
 

adamnewy

Well-Known Member
Newcomer
Joined
Feb 2, 2009
Messages
54
Trophies
0
XP
261
Country
United States
MMM.... I once successfully got a Gamecube Backup to launch from USB. I never release it because I didn't think there was enough demand.
 

OOPMan

Active Member
Newcomer
Joined
Mar 20, 2007
Messages
39
Trophies
0
XP
75
Country
adamnewy said:
MMM.... I once successfully got a Gamecube Backup to launch from USB. I never release it because I didn't think there was enough demand.

Care to post some actual source code for that? I think we would all love to see it and if you did actually somehow manage to do it that would be a huge breakthrough...
 

Det1re

det1re.de
Member
Joined
Oct 28, 2008
Messages
1,272
Trophies
0
Age
34
Location
Germany
Website
det1re.de
XP
264
Country
Gambia, The
DKAngel said:
hes talking about loaders not getting iso's to load from usb
Well, USB loaders are loaders, too.

And about those I had another idea to do this:
Q: Is it possible to change a GC ISO to identify itself as a Wii Disc? Or on another hand modify a Wii ISO in a way that it holds all files necessairy for a GC game and then play it? I haven't put any effort in this idea, but it seems to me, that this would probably allow GC USB loading...
 

WiiPower

Well-Known Member
OP
Member
Joined
Oct 17, 2008
Messages
8,165
Trophies
0
XP
345
Country
Gambia, The
Det1re said:
DKAngel said:
hes talking about loaders not getting iso's to load from usb
Well, USB loaders are loaders, too.

And about those I had another idea to do this:
Q: Is it possible to change a GC ISO to identify itself as a Wii Disc? Or on another hand modify a Wii ISO in a way that it holds all files necessairy for a GC game and then play it? I haven't put any effort in this idea, but it seems to me, that this would probably allow GC USB loading...

There's a big problem in that. The Wii has basically the same processor as the GC, but faster with some added commands(well i guess it has...), so far so good. But wii games call the IOS to access the dvd drive, while GC games call the dvd drive and everything else itself. I'm not sure, if you were able to patch ALL hardware access in the GC .dol to use IOS functions if it would work. I guess then there would be still something that would make it not work. Also, i can't even imagine how complicated that would be, because now, "only" the dvd functions in the .dol need to be patched, and stuff like the memory card access works the very same way it does for retail games.

Using the IOS for dvd and direct access for the rest seems impossible, as you need to switch the wii into gamecube mode to be able to access the hardware with the GC commands.
 

VashTS

Beat it, son
Member
Joined
Mar 14, 2009
Messages
4,308
Trophies
1
Age
39
Location
Upstate NY
XP
3,782
Country
United States
So basically if you were to code an IOS that would emualte the processes of the MIOS then techincally you could make a GC loader using the Wii's full hardware? Am I understanding that correctly Wiipower?

Of course that is stated simply, the actual process would be insane to code, I would imagine. But if an IOS (or two or three IOS's) had the full instruction set of the MIOS then we would be loading GC games from usb.

I assume it would be easier to make a GC emulator?
 

giantpune

Well-Known Member
Member
Joined
Apr 10, 2009
Messages
2,860
Trophies
0
XP
213
Country
United States
when a gamecube game wants to get data from the dvd, it talks directly to the dvd drive. so you need to do 2 things to get it to work. first, you need to add a way to access the usb drive into the equation. and second, you need to direct all dvd assess to the usb instead of the dvd drive.

obviously WODE and flatmii do this the simplest way. just put a usb device in place of the dvd drive. this action takes care of both requirements. to do this without hardware modification means that you must patch the gamecube game, since, out of the 2 choices, it is the only one that is software. and there are apparently 2 choices for enabling the usb access. its either use GC mode and somehow enable the usb drive to work, or use an ios to play the gamecube game.

what wiipower is saying is this..
using the usb while in GC mode would require less patching to the GC game. since the only thing you need to patch are the DVD access commands. The rest of the commands in the game can do what they normally do.

using an IOS to play a GC game means you would have to patch every command in the game that was accessing hardware that the PPC cannot access in wii mode.

So my thoughts on that are,
1) if you were to somehow enable USB to work in GC mode, it would need a whole usb driver to be written and running on the ppc. you couldnt just use the stuff that already exists for the arm.

2)if you do take the other route, and decide to use a IOS to play wii games, what other commands need to be patched besides the DVD drive stuff? network stuff doesnt work for GC games anyways, so you dont need to patch those. you can already access the GC memory card slots while in wii mode. obviously we can access the controllers. we can already access a big chunk of the memory also. the only other commands are the video output, right?

3) since using an IOS would require more patching to games, it would mean that there is more of a chance that a certain patch or combination of patches wont work for certain games. So game compatibility would have to be less than using the other method.
 

cobleman

Well-Known Member
Member
Joined
Jun 23, 2009
Messages
1,488
Trophies
1
Location
Australia
XP
2,246
Country
In GC mode can you use the internet lan adapter connected to Usb to play Phantasy Star Online?
And if you can, wasnt there a hack to play backups
 

adamnewy

Well-Known Member
Newcomer
Joined
Feb 2, 2009
Messages
54
Trophies
0
XP
261
Country
United States
If thats the case with the Fantasy Star Online could you make a program to play Gamecube Games over Wifi from your computer
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: https://youtu.be/LM0Y6RWvcr8?si=RjMLNrx1TEX301g1 Already has cfw lol +1