Here is my longwinded yet informative discussion concerning IOS/CIOS to some who was confused. Probaby just confused him more but It helped a lot of people. ---------------------------------------------------------- Think of the IOS' as a set of drivers for all the hardware that the software communicates with. The code to communicate with wiimotes, balance boards, usb instruments, dvd drive, gamecube controllers, etc..... it contained in the IOS. The Wii has many of them. Approximately 20. They are all very similare and most of them can be substituted for each other. As the Wii has aged new IOS' have been added to support the new peripherals it needs to support. For instance, when Rock Band came out being the first game to use USB instruments they had to include the IOS37 update with it to support them. It is just added to the Wii, and doesn't replace another IOS. The reason it is added is because the older IOS need to stay on the Wii because they're needed by other games. Now the reason the other numbered IOS are needed to remain is because each game uses a specific IOS. The IOS it uses is coded onto the DVD and when you start the DVD from Disc Channel that's the IOS it uses to load. If that IOS was missing the disc wouldn't be able to load. Now the content of most of these IOS is nearly identical which makes them able to substitute for each other. So say for instance a game uses IOS33. You could take the .iso image of the game and change the IOS to IOS36 and then burn it. That game would then run using IOS36 instead of 33. So now you understand part 1, games are linked to an IOS number by the code on the dvd. Now let's examine a cIOS (Custom IOS). We'll talk in backup launcher terms here. The official IOS' that are on the Wii cannot read backup disks, only originals. To address this issue some really good coders wrote something called a Dip Module. This is essentially a bit of I/O (input/output) code that makes that IOS able to read from backups. So if you take official IOS36 and Patch it with Dip7, you have made essentially cIOS36R7 which I might be wrong about but probably stands for "Custom Input Output System Revision 7" the 7 being the version of the dip module. So by combining the original IOS and Dip module you get a cIOS and it's capable of reading backups. Recently the main application of this newly created cIOS has been for backup loading. Now another neat little thing about these IOS and cIOS is that they can be installed as any IOS number. So we can take our cIOS36r7 and install it as IOS249. The Wii doesn't care what IOS is there. It has to allow for new IOS in the future. So now we have an IOS249 installed that is capable of running backups. The catch is, the IOS the games have coded onto them are the official IOS numbers. But remember we can take an image of that dvd and change the IOS on it. So lets say we take our game and change it to IOS249 and burn it. Now we have an IOS249 on our Wii capable of running backups and A Game that going to run from IOS249. That's good but there's still a problem there. The problem is, the Disc Channel uses IOS30 which is an original IOS from nintendo and can't read backups, so the backup although now capable of running can't show up in the disc channel. The solution to this was to create a launcher. Thus we have the backup launcher. This enables you to launch the Disc in the dvd drive without using Disc Channel. They also figured out that the launcher was also capable of forcing the dvd to use a specific defined IOS number regardless of the IOS of the DVD. So the need to change the IOS of the game disk becomes unnecessary. This method of a Launcher loading and forcing all backup games to run off a single IOS249 was very successfull and highly compatible. Soon coders were modifiying the code and making it a little more versatile and able to be customized. This all takes us up to about 5 days ago. That's when the System Menu discussion thread was started. A couple hackers OSW and WiiCrazy I think started asking about patching the IOS that the System Menu uses (Wii Channel Interface) with the idea of getting backup discs to be recognized and run from the Disc Channel without having to use a software hack everytime you wanted to do it (menu patcher/rebooter). Now WiiBlaster gets into the picture and really likes the concept and believes it can be made to work and starts pushing things forward. People start playing around with cIOS in different ways and making progress. Now a few more people start following the thread and participating. IronMask (the Mad Tester) comes in. I start following closely and become totally excited about what is going on. And the usual gang of rapist and thieves start piping in. OK, back to the technical. The Wii System Menu which controls the disc channel just like DVDs has an IOS number assigned to it. That happens to be IOS30. But everybody is a little bit not scared, but concerned about doing anything with IOS30 at this point. nobody wants to brick. So the idea becomes to assign the System Menu to a different IOS, and the perfect candidate is our IOS249. It's already got a cIOS installed there and that can read backups. So WiiBlaster puts a utility in the first post of the thread that you drag your System Menu wad file onto and it asks you what IOS you want to patch it to. The modified System Menu file is then saved with it's new IOS assignment in place. I think WiiBlaster then was the first person to install this newly IOS assigned System Menu onto a Wii. He installed it over the top of the Original System Menu 3.2 and it worked. When a backup copy was put in the drive, the disc channel now using IOS249 (a custom IOS with dip module and capable of reading backups) the ICON/BANNER/SOUND for the DVD loaded right up. Eureka! But Houston..... we still have a problem. Still the only IOS capable of reading/running backups on the system is IOS249. And to complicate that matter even more, games launched from the disc channel can only run using the IOS number encoded onto the game DVD. Now by this time things started getting pretty exciting. IronMask became #2 to install the new System Menu. I think I was third, might have been fourth. At this point things are starting to get close to working. We have a system menu assigned to IOS249 that is capable of loading the ICON/BANNER/SOUND information off of backups and displaying in the disc channel. We have that same IOS249 which is capable of running the backups. But we have no way of forcing the backups to use IOS249 from the disc channel. The early solution to this was to patch the DVD to use IOS249, since the disc channel runs the game using the IOS assigned on the game DVD. At this point all 3 conditions have been met. WiiBlaster or IronMask put patched to IOS249 game into the Wii drive. The Disc Channel then displayed the backup. Start is pressed, the games IOS code of 249 is used to start the game launching from our custom IOS249. Wham Bam Thank you Mam. For the first time that we know of a backup copy of a game is displayed and launched natively from the Disc Channel without having to click on a patcher first. But there a problem still. That problem is that we all have all these backup that we've accumulated over the past few months because of backup launcher, but they aren't patched to IOS249. And we don't want to reburn all of our games to IOS249. That's a lot of time and money. So how do we handle this little problem of all these games out there using all these other IOS numbers that can't read backups. Can't remember who, but the idea just to patch ALL of the Wii IOS with the dip module to enable them to read backups was suggested. The idea was discussed and everybody knew it was risky but some some smart people still said it could, and even should work. So over the next few hours the powers that be dumped all the IOS' from the Wii and patched them with the Dip module. The new cIOS' that were created by this process were packed into wads and tested by WiiBlaster i think and then distributed to the testers. We took the leap of faith and installed these new cIOS' over the Wii's original IOS' and Voila!!!! Everything worked great. System Menu was still assigned to IOS249 allowing the bakups to display in disc channel, and since all the IOS' were now patched with the Dip module all the games were loading from Disc Menu as if they were originals. This was the breakthrough moment. It was then realized that we could just switch our System Menu back to IOS30, because IOS30 was actually now cIOS30 with dip module. There are still some problems with this full Custom IOS setup. Only same Region games or games Patched to your region will show up in Disc Channel. Hope to have that problem solved before long. Suprisingly we have found very few side effects from changing all the IOS', and remarkably some unexpected benefits have been discoverd that are very helpful to the hacking community. And for the problem of the games having to be same Region to be treated as originals, it's no big deal, because Backup Launcher and Softchip can still be used to launch them. I think everybody involved in the project is almost stunned that this all came together in such a short time and without any real problems. I don't think there have been any problems or bricks because of this method of patching all IOS'. I hope all of you who weren't there to experience these events in real time have enjoyed this adventure as much as I have. And I hope you have learned something about IOS and cIOS from what started out as a description of the aforementioned and turned into one of the longest rambles in GBAtemp history. Now all you guru/geeks may commence to start pointing out all the errors in my post. Peace Out.