Hacking [Request] Firmware, IOS, cIOS...

CaptainN

Member
OP
Newcomer
Joined
Dec 31, 2006
Messages
9
Trophies
0
XP
59
Country
Hi all,

I have a NTSC-J Wii, a launch model, newest firmware except for the latest update (with the new Wii Shop Channel), and the Homebrew Channel installed (through the Twilight Hack). I use Gecko OS to play imports, which works great. I'd like to check out some obscure Japanese games, and read about the Backuploader from Wiigator, which sounds perfect for this purpose. Since you have to install a cIOS for this application, I'm trying to understand a little more how the Wii's software works. I've looked around a lot, and read all kinds of stuff on system updates, IOS *insert some random number between 5 and 51 here*, cIOS, firmwares, MIOS, BC, and so on, but still don't really have a clear picture of it. So, I hope somebody can explain this to me.
smile.gif


Okay, so from what I understand, the Wii software is built up like this:

First of all, some chip is called Starlet, which handles reading/writing data from internal memory, checks security stuff, handles WiFi, and probably other things. On some other piece of hardware, the Wii's firmware is installed, like 3.3J. When a game, or something in the system menu needs to execute a process, like checking if a disc is legit, the firmware calls a function that's stored in a certain IOS. The Starlet contains multiple IOS versions simultaneously. When new games use new functionality that doesn't exist in the previous IOSes, a new IOS version (and all previously release IOSes) are included on the disc, and installed if you want to play it. In case of security measures, I believe that some specific IOSes that are used by the System Menu are updated to newer versions. So, in a way, I think I can see IOSes as plugins/modules that add new functions that the System Menu or games can use. In that way, it makes sense that multiple IOSes are installed at the same time.

From what I understand, Waninkoko has made some custom IOSes (cIOS), which you can install next to the existing official IOSes. With this cIOSes installed, which includes functionality like the ability to read normal DVDs, you can call these functions and hence use the added functionality in homebrew apps. You can uninstall the cIOSes as well, and never leave a trace that it was there.

MIOS is some kind of compatibility layer that's activated when playing GC games. Not sure how it fits in the above though... WADs are like install files for channels, including VC games and WiiWare games as well.

So, I'm wondering if I understood everything correctly so far. Even if I did, I have still quite some questions left though. What exactly does the firmware do? Why doesn't Nintendo just use a single IOS? Why don't they add that functionality to the firmware by updating that? How do cIOSes effect your Wii? Is it safe to install a cIOS and try out the Backuploader, or are there any risks (aside from bricking your Wii when you cut off the power during installing or something like that)? Hope you guys can help me out.
smile.gif
 

BL4Z3D247

GBAtemp Stoner
Member
Joined
Oct 22, 2008
Messages
1,942
Trophies
0
Age
39
Location
I'm so high, I don't even know!
XP
1,229
Country
United States
CaptainN said:
Hi all,

I have a NTSC-J Wii, a launch model, newest firmware except for the latest update (with the new Wii Shop Channel), and the Homebrew Channel installed (through the Twilight Hack). I use Gecko OS to play imports, which works great. I'd like to check out some obscure Japanese games, and read about the Backuploader from Wiigator, which sounds perfect for this purpose. Since you have to install a cIOS for this application, I'm trying to understand a little more how the Wii's software works. I've looked around a lot, and read all kinds of stuff on system updates, IOS *insert some random number between 5 and 51 here*, cIOS, firmwares, MIOS, BC, and so on, but still don't really have a clear picture of it. So, I hope somebody can explain this to me.
smile.gif


Okay, so from what I understand, the Wii software is built up like this:

First of all, some chip is called Starlet, which handles reading/writing data from internal memory, checks security stuff, handles WiFi, and probably other things. On some other piece of hardware, the Wii's firmware is installed, like 3.3J. When a game, or something in the system menu needs to execute a process, like checking if a disc is legit, the firmware calls a function that's stored in a certain IOS. The Starlet contains multiple IOS versions simultaneously. When new games use new functionality that doesn't exist in the previous IOSes, a new IOS version (and all previously release IOSes) are included on the disc, and installed if you want to play it. In case of security measures, I believe that some specific IOSes that are used by the System Menu are updated to newer versions. So, in a way, I think I can see IOSes as plugins/modules that add new functions that the System Menu or games can use. In that way, it makes sense that multiple IOSes are installed at the same time.

From what I understand, Waninkoko has made some custom IOSes (cIOS), which you can install next to the existing official IOSes. With this cIOSes installed, which includes functionality like the ability to read normal DVDs, you can call these functions and hence use the added functionality in homebrew apps. You can uninstall the cIOSes as well, and never leave a trace that it was there.

MIOS is some kind of compatibility layer that's activated when playing GC games. Not sure how it fits in the above though... WADs are like install files for channels, including VC games and WiiWare games as well.

So, I'm wondering if I understood everything correctly so far. Even if I did, I have still quite some questions left though. What exactly does the firmware do? Why doesn't Nintendo just use a single IOS? Why don't they add that functionality to the firmware by updating that? How do cIOSes effect your Wii? Is it safe to install a cIOS and try out the Backuploader, or are there any risks (aside from bricking your Wii when you cut off the power during installing or something like that)? Hope you guys can help me out.
smile.gif
by george i think he's got it!!!

-What exactly does the firmware do?
not sure exactly

-Why doesn't Nintendo just use a single IOS?
once again not sure why

-Why don't they add that functionality to the firmware by updating that?
they do update, which adds "functionality" and usually block homebrew(or they think)

-How do cIOSes effect your Wii?
in a very good way actually, cIOS is what allows you to run/install most homebrew/apps/ect. on your unmodded wii

-Is it safe to install a cIOS and try out the Backuploader, or are there any risks?
just read the README and you'll be fine, you seem like a smart guy
 

fennec

Well-Known Member
Newcomer
Joined
Oct 14, 2008
Messages
95
Trophies
0
XP
141
Country
France
Hi CaptainN,

You're basically right, but with a few mistakes.
Starlet is running IOSes, it also handle communications with hardware and firsts steps of boot stage. Think of different IOS as if they where different versions of an Operating System. Keeping several different version allows Nintendo to add new features without worrying about backward compatibility.

Ability to read normal DVDs was probably left open on the starlet to enable reading video dvds. cIOS replaces read calls made by the game by calls to open DVD calls. The trick is to decrypt DVD content as the game does expect its data to be encrypted.


If you want to know more go there and browse sections at the bottom of the main page :
http://wiibrew.org/wiki/Main_Page
 

svpe

Active Member
Newcomer
Joined
Mar 15, 2007
Messages
44
Trophies
0
Website
Visit site
XP
73
Country
Gambia, The
fennec said:
Hi CaptainN,

You're basically right, but with a few mistakes.
Starlet is not running IOSes, it mainly handle communications with hardware and also firsts steps of boot stage.
Wrong. Starlet *is* running IOSes and IOS is the software the handles communication with all new hardware (i.e. usb, wifi, fontsd,...) plus the dvd drive and some other minor stuff
 

fennec

Well-Known Member
Newcomer
Joined
Oct 14, 2008
Messages
95
Trophies
0
XP
141
Country
France
oups, you're right svpe, I was just chekcing wiibrew and was about to correct my post
wink.gif
i've been too slow.

i'll edit my post anyway for readability.
 

CaptainN

Member
OP
Newcomer
Joined
Dec 31, 2006
Messages
9
Trophies
0
XP
59
Country
Thanks for the info.

By the way, another thing that popped my mind: can you play games from different regions when using the backup loader? If so, do you have to patch them to avoid updates, or does the backup loader disable them, like Gecko OS does?
 

Jacobeian

Well-Known Member
Member
Joined
May 15, 2008
Messages
1,893
Trophies
0
XP
387
Country
Cuba
QUOTE said:
On some other piece of hardware, the Wii's firmware is installed, like 3.3J.
Technically, there is no 3.3 firmware, this is just the version of the System Menu.
The System Menu is, like many other channels, software running on the PowerPC cpu .
To access Wii specific devices (Internal Flash Memory, SD,Bluetooth, Wifi, DVD,...), they communicate with IOS software (running on Starlet ARM CPU) through IPC protocol.
I think (please correct me) that it is the first PowerPC software running when your Wii is booting.
This is more the entry point software and graphical interface to modify some settings and launch installed programs (channels) or gamediscs on your Wii than a real firmware (see "the Wii is not a PSP" article)... a (weak) analogy could be done with Windows GUI + installed programs VS kernel/drivers/BIOS
QUOTE said:
the Starlet contains multiple IOS versions simultaneously.

not really, The Starlet is just another CPU (ARM) and only handle ONE version of IOS at one time. Though it can be reloaded with any other existing IOS versions at any time by applications (if proper rights are set). IOS versions, like other installed title (applications) are stored on the Internal Flash Memory and are acceeded/installed using former protocol.


QUOTE said:
From what I understand, Waninkoko has made some custom IOSes (cIOS), which you can install next to the existing official IOSes. With this cIOSes installed, which includes functionality like the ability to read normal DVDs, you can call these functions and hence use the added functionality in homebrew apps. You can uninstall the cIOSes as well, and never leave a trace that it was there.

what Waninkoko (and other before him) has done is to patch an existing IOS and install it as a new unused IOS so that applications can use it. What the patches are doing are mostly removing some securiity restrictions and indeed modify the DVD (DI) driver to allow the read of normal DVD. Technically, it patches the low level functions to use an existing (and formerly hidden) mode of the DVD drive which allow reading of a DVD-ROM. The existence of this mode and the way to re-enable it have been discovered by the Twiizers.

QUOTE
Why doesn't Nintendo just use a single IOS

to keep older games (that used a previous version) running fine
 

CaptainN

Member
OP
Newcomer
Joined
Dec 31, 2006
Messages
9
Trophies
0
XP
59
Country
Thanks for the elaborate post, that really helps me understand a little bit better how Wii works.
smile.gif
Just to be sure: the cIOS is a patched IOS that is placed next to the other IOSes, so nothing inside the existing software on your Wii is actually modified, right? You just add a modified IOS version and the rest stays the same as before. And thanks for the Wii is not a PSP reference, I'll try to locate it and read it.
smile.gif


As for the backup loader, do you also know whether or not it disables disc updates? Based on what ether2802 says, I think it does not?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    SylverReZ @ SylverReZ: @BakerMan, Remember to take your meds like AncientBoi.