Revolution SDK is the low level toolchain distributed by Nintendo for Wii game and app development. Since the Wii does not boot into an operating system, this library was developed and distributed to act as an interface to the Wii's hardware. Internally it works by directly manipulating memory mapped hardware registers. Due to it being essential to doing pretty much everything, it is used in every game.
The SDK constists of various components, roughly corresponding to each piece of Wii hardware.
| AI | Audio Interface |
| ARC | Wii Archive Reading library |
| AX | Higher level audio interface. Handles things like different voices and ADPCM |
| AXFX | AX audio effects |
| BASE | PowerPC specific instrinsic function wrappers and useuful defines |
| BTE | Bluetooth interface |
| CARD | Gamecube memory card support |
| CX | Compression library |
| DB | Debugger Interface |
| DVD | DVD Interface |
| ENC | Character Encoding library |
| ESP | |
| EXI | External Interface (Gamecube memory card slot communication protocol) library |
| FNT | Font Support |
| FS | Filesystem library |
| GX | 2D and 3D Graphics API. Graphics Processor library |
| IPC | |
| KBD | Library for receiving USB keyboard input |
| KPAD | Gamepad reading library. Higher level than PAD |
| MEM | Library for heap memory allocation |
| MTX | Hardware accelerated vector, matrix and quaternion math library |
| NAND | Library for reading SD cards |
| NWC24 | Wii connect 24 support library |
| OS | Common operating system-like utilities. Includes things like multithreading support and system information (for example current time, memory size). |
| PAD | Low level gamepad library |
| SC | |
| TPL | Texture Palette Library. Library for the TPL texture image container file format |
| USB | USB support library |
| VF | Virtual Filesystem support library |
| VI | Video hardware Interface |
| WENC | Library for encoding PCM data |
| WPAD | Library for reading Wii-only (as opposed to also supported in gamecube) gamepads and gamepad features. |
| WUD |