This is a post about open source Wii mod chips. They're pretty interesting, but
the actual content is quite nerdy.
I recently put a mod chip in my Wii. This means I can play Gamecube imports, Wii imports (
kinda) play games from burned DVDs, run homebrew (such as a NES emulator), etc, etc. To get all this working I had to open up the Wii and solder a pre-programmed microcontroller to some contact points on its motherboard. A micrcontroller is a low-powered computer on a chip: at the very least it's got some RAM, and some nonvolatile memory (such as Flash). Often they come with other things built in as well, such as an analogue-to-digital converter.
Anyway, installing the mod was a pretty easy job, especially compared with the last time I installed a mod chip (in a PS2). The Wii is pretty much a turbocharged Gamecube with some extra devices, so all the work that has gone into Gamecube mod chips carries across to the Wii. To mod a Wii, you hook the mod chip up to the DVD controller. When the Wii resets, the mod chip reprograms some functions of the DVD controller (which is itself a microcontroller --
an mn102). The DVD controller has its own API which the rest of the Wii can use, which does the expected things (such as "read sector" and "set drive speed").
Anyway, this behaviour is so well-known by now that that there are a bunch of open source mod chips! You can literally go and download
Chiip or
OpenWii or whatever and write the program onto a microcontroller, such as the
Atmel ATMEGA8L:
So anyone with a suitable console, a soldering iron, and some soldering experience / soldering bravado can buy a
$7 microcontroller and mod their Wii.
But it gets even more interesting than that: the commercial mod chips also use cheap microcontrollers! In fact, the one I bought (
Wiikey) uses the exact same chip (in surface mount form):
(Note that if you click the above Wiikey link, the identifying information has been carefully removed from the chip. :)
So of course someone has extracted the code from a Wiikey, and so now in addition to all the OSS options you can also install the Wiikey program on your mod chip.
The coolest thing about the mod chips is that most of the mod code doesn't actually run on the mod chip itself: it runs on the Wii drive controller. This means that the code that runs on the mod chip itself doesn't have to do much: it just has to detect when the Wii has been reset and patch the drive controller firmware. This in turn means that if you don't want to spring the $7 for an ATmega8L you can at least in theory buy a PIC microcontroller instead, or an ATTiny, or an MSP430 -- all of which have been supported by OpenWii at some point.