Discussion in 'Wii - Hacking' started by LeWench, Jan 10, 2009.

  1. LeWench

    LeWench Newbie

    Jan 8, 2009
    United States
    So I've been reading and have understood fairly well about the wii soft modding. Something that I can't seem to understand is the whole CIOS wads. How do I know what CIOS i need? Is there a site/update that shows the lastest ones? Or is my idea abotu what CIOS are wrong ?

    I'm just reading around and everyone is talking about a different CIOS. Example:


    I see so many I really don't know which ones I should use? Which ones are installed (I've probably installed a couple seeing as I've tried a couple of tutorials.

    My wii is a 3.2U if that matters with Starfall installed.
  2. Arek1985

    Arek1985 Advanced Member

    May 12, 2008
    United States
    IOS 16 is used to get wads to isntall on a system that is on either 3.3v2 or 3.4 firmware. It was found on the Nintendo Pink Fish Disc.

    CIOS36 rev 7 is the latest CIOS used by Wiigator's gamma launcher and softchip.

    Cios_fix was used with an early version of the backup launcher I believe. (I'm not 100% on cios_fix as I've never used it, in fact I've only used CIOS37 rev 7 for Rockband customs.)

    There's also Cios37 rev 7 which is using IOS37 as the base IOS for the CIOS installer and was first used by the Arm the Homeless for Rockband backups and trucha patch was added by WiiPower.

    There are other CIOS's as can be seen in the system menu thread on these forums which encompasses CIOS36 for each and every IOS from 9-55. With 37 33 and 55 all using their own base ios. The reason for these CIOS's is to load backups directly from the Wii system menu without use of a backup loader.
  3. Jizmo

    Jizmo GBAtemp Advanced Fan

    Oct 23, 2008
    United States
    I'll throw my 2 cents at making this sound simple.

    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 WiiPower I think started asking about patching the IOS that the System Menu (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 path 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.
  4. WiiShizzza

    WiiShizzza Graphics juggler

    Oct 10, 2008
    Gambia, The
    Great Post Jizmo!
    Pretty well written!

    Hands up!
  5. specht

    specht GBAtemp Regular

    Oct 26, 2008
    ...does someone need to put down the Red Bull? [​IMG]

    Everything seems right from my understanding of IOS'. At least the first paragraph anyway. And it's not that hard to explain the recent developments with the major cIOS patching frenzies. Knowing me though, somebody's pointed out some errors as I type this. EDIT: And I was wrong!

    If anything, your post was a nice break from the CS textbooks. And worked as a great summary of the past few days developments. If only in the wrong thread, lol.
  6. Jizmo

    Jizmo GBAtemp Advanced Fan

    Oct 23, 2008
    United States
    Oh shit, I forgot to explain WADs.

    {cvar set simplemodeenable 1}

    1. A WAD is an installer package.
    2. End of Description

    {cvar set simplemodeenable 0}

  7. zidane_genome

    zidane_genome My sword has a +2 bleeding... wanna test it out?

    May 21, 2006
    United States
    Here is is really simple for those that don't want to read that book...

    IOS = various Windows / MacOS X system files.

    CIOS = Window Blinds, or Themes

    WAD = Installation file to put new games on your system

    That's an extreme over simplification, but it's still a valid point
  8. dmonkey21

    dmonkey21 GBAtemp Fan

    Jul 10, 2007
    United States
    Ya seriously that was awesome. I have been in the Wii hacking scene for months and even learned some about cIOS's and the system menu hack and the like. That is top notch info. Should be stickied [​IMG]
  9. Jizmo

    Jizmo GBAtemp Advanced Fan

    Oct 23, 2008
    United States
    I think I'll crosspost it.
  10. mariox2098

    mariox2098 Member

    Nov 27, 2008
    United States
    Wow. Everything i had ever wanted to know about IOS and CIOS was in that one post lol. Thanx alot Jizmo
  11. Wiisel

    Wiisel GBAtemp Maniac

    Dec 4, 2008

    do you know why its called a WAD?

    * nevermind i googled [​IMG]
  12. Jizmo

    Jizmo GBAtemp Advanced Fan

    Oct 23, 2008
    United States
    If you think that was well written, you should see me at a chalk board. I'd make your head spin! haahahaahahaha
  13. bowser

    bowser Mwa ha ha ha!

    Sep 1, 2008
    GBAtemp ↑↑↓↓← → ← →BA
    Thanks a bunch Jizmo! Your 'ramble' saved me from reading all the 50 pages in the System Menu discussion thread. Now I know exactly what's happening in that thread and I also got a lot of my questions regarding IOS and cIOS answered. [​IMG] [​IMG] [​IMG]
  14. thewiiman

    thewiiman Advanced Member

    Nov 24, 2008
    United States
    Wow, that was killer. I have been hacking for over 6 months, never knew the difference.

    +1 for the stickie.
  15. spammy

    spammy Newbie

    May 14, 2009
    United States
    Lovely, very helpful. Just to be clear though - the difference between using a renumbered cIOS (like cIOS249-IOS36-rev07) and a directly patched cIOS (like cIOS36-rev07), is that you lose the original IOS (IOS36) in the latter case? Although I'm sure cIOS's are fine... Isn't a less invasive method preferred overall? I assume we don't generally have a set of original IOS's lying around to restore/repatch with a later dip (or do we?). Not criticising, just checking my understanding!

    Also does this mean we'd have to patch and install new IOS's as they get released my Nintendo?

    Thanks for the post!
  16. tagteam3283

    tagteam3283 GBAtemp Regular

    Jan 22, 2009
    Jizmo, superb mate

    def needs a stikki
  17. slaven

    slaven Member

    Nov 13, 2008
    Man you're a true teacher. This is the post I desired for years. Thank you!! [​IMG]

    (hey I noticed he did not post for months, hope everything is well)
  18. Arendo

    Arendo GBAtemp Regular

    Dec 22, 2008
    I bet most programmers back up their originals [​IMG] I always do...