Wii cIOS Explained
One of the more confusing things about hacking the Wii is the absolutely essential step dealing with cIOS. There are so many people trying to figure out what cIOS is and what it does, I thought I'd post as simple an explanation as possible.
Question 1: What is cIOS?
cIOS either stands for Custom Input/Output System or Custom Internal Operating System. I tend to get the feeling that it actually means Custom Input/Output System because of what it does. cIOS is quite simply a modified/patched Nintendo system IOS.
Question 2: OK, so what's an IOS?
Now we start to get into the nuts and bolts. Despite popular belief, an IOS is NOT the firmware built into the Wii. In fact, as far as I can tell, there is no firmware built into the Wii, except for what is built into the DVD Drive itself. For those of you who aren't particularly tech savvy, Firmware is a piece of very low-level code that communicates directly with hardware. You can think of it like this: Hardware<->Firmware<->Software. All computers use firmware to directly control hardware. Most software takes advantage of easy to use calls to hardware, with the heavy lifting accomplished by the firmware. For instance, when a software designer needs to detect if there is a CD in a CD/DVD Drive, they code a call to the firmware, which in turn actually asks the drive if there is a disc and returns the answer to the software.
As stated previously, the IOS for the Wii is NOT firmware. You can think of IOS files as "system files" which are stored on a "system on a chip" or SOC within the Wii. The Wii's SOC is called Starlet. Here's what you really need to know about IOS - the system files that it stores are the codes that the Wii uses to communicate with the Wiimotes, nunchuks, balance board, USB Instruments, DVD Drive, Gamecube Controllers, etc. Many IOS versions co-exist, since different games potentially need different IOS features. For instance, when Rock Band first shipped, it included an update that installed IOS37. IOS37 had some codes built into it that the Wii uses to control the USB Microphone for that game. It is important to understand that there are many IOS versions sitting on your Wii side-by-side. They do not overwrite each other and there are codes on the different games that tie to IOS versions.
Question 3: Neato - so what's the big deal with cIOS? Why do I need it?
Some smooth coders got together at some point and figured out how to patch and modify the system IOS to unlock various features of the Wii that would not typically be available. The first widespread implementation of this technique was DVDX - whereby a standard DVD could be read by the Wii's DVD drive (typically the Wii's DVD drive can only read Wii and Gamecube games). Based on DVDX, the homebrew application MPlayer was able to read DVD movie discs, and the DVD was opened up as a storage medium for various homebrew applications. The first disc backup loaders were also borne out of this customized/patched IOS.
Question 4: Um, woah...how does the cIOS work with my Nintendo'shttp://images.intellitxt.com/ast/adT...lass_10x10.gif stock IOS? Does it overwrite it?? OMG AM I GOING TO BRICK MY Wii?!?!
The short answer is no. Because many IOS's co-exist on the Wii, it is possible to grab a stock one, patch and modify it, and add it as a brand new IOS for use with homebrew applications that can use it. This is absolutely critical and it's a huge step that the coders found a way to do it. All customized IOS versions install as an IOS in the 200+ range. All stock system IOS's are in the 0-100 range. Installing cIOS is safe because it never modifies your original IOS, it just adds another one. You can also easily remove the cIOS without adversely affecting the stock functionality of the Wii. The only way to brick your Wii when messing with IOS is to delete or modify a standard system IOS such as IOS30,50,60,70 and IOS80. Stay away from the system ones!
Question 5: Whew! OK good, so what is IOS249/250 and how does it relate to IOSXX?
There has been a lot of work done on updating and improving the cIOS. When the USB Loader started to get popular, Waninkoko had been releasing cIOS36rev_(version). cIOS36 is a customized IOS based on system IOS36. It installs as IOS249. Subsequently, most revisions and updates (despite what version of official Nintendo IOS they are based on) will install as IOS249. IOS249 is the IOS that enables most of the hardware hacking such as USB Hard Drivehttp://images.intellitxt.com/ast/adT...lass_10x10.gif Loading and DVDX. When new games come through with additional patches/IOS requirements, the coders will release a new cIOS to be sure to include all of the patches that are included with that update. That is why suddenly we are looking at cIOS38_rev13 instead of cIOS36_rev13.The releases up to rev17 all had a default base IOS,IOS38 and installed into slot 249 and 250(with one on 250 being maxed to 65535) with the release of cIOSxrev18+ there is a choice of which IOS you want to use as the base IOS for the custom IOS(these were 36,37,38,57,60,70 thus being named cIOSx).With the release of rev20 we could now chose a slot the cIOS installs to and wii has 255 so you can chose any slot from 200-250 for your cIOS(base IOS 36,37,38,53,55,56,57,60,70,80).For maximum compatibility, I would suggest getting the latest stable cIOS release. What constitutes stable? Well...you'll need to do your homework and read forums/release notes.
It's worth noting that we are at a point where the new releases of Nintendo IOS's that install to slots IOS249/222/223 also known as stubs. If you have IOS249 installed, that should be your de facto IOS for homebrew and other Wii hacks. An updated cIOS249 (whether from cIOS36_rev[version], cIOS38_rev[version] or cIOSx_rev[version]) is all you need. When a new one comes through, just download the new cIOS installer read the instruction and install.If you have a problem with a newer or buggy cIOS, then just grab an older version's installer file and install it. It's that easy.
Question 6: So...what about uninstalling cIOS?
If you want to uninstall cIOS, all you need to do is use Dop-Mii or Multi-Mod Manager and remove IOS in 200+ slots or the WAD Manager (if you have the cIOS WAD that you used to install it originally) to delete IOS249. NEVER, EVER delete any IOS with a lower (2-digit) suffix. IOS30, IOS34, IOS36, IOS38, etc. should never be touched.
Question 7: What the heck is IOS222/223/224
This specialized cIOS was developed specifically to attempt a fix for the second USB port use issue.This cIOS was released by Hermeshttp://images.intellitxt.com/ast/adT...lass_10x10.gif.With v4 it lets you chose 2 base IOS for cIOS(example 37+38) which works great with many of the music gameshttp://images.intellitxt.com/ast/adT...lass_10x10.gif.With version 5+ you can only chose one IOS a base but they are maxed out to version 65535.This is just an alternative to using waninkoko's cIOS you can use both as they all install into different slots.
Well, there you have it. That's the best I can do in gathering and reporting on a ton of message board posts and release notes. Hopefully you guys find it interesting/helpful!
Thanks go to Mike from Mike & Heather for writing this FAQ
Updated by Cile