The Nintendo Wii code and data is stored using several data structures present in different types of media.
This page is an overview of said containers and structures.
(Feel free to fix any missed information or misinformation in this page).
- 1 Logical Containers
- 1.1 Disc Partitions
- 1.2 Title MetaData (TMD)
- 1.3 Files
- 1.3.1 AST files
- 1.3.2 BMG files
- 1.3.3 BRFNT files
- 1.3.4 BRRES files
- 1.3.5 BRSTM files
- 1.3.6 BTI files
- 1.3.7 CCF files
- 1.3.8 Channels saved to SD (content.bin)
- 1.3.9 DVD game banner (opening.bnr)
- 1.3.10 PAC/PCS Files
- 1.3.11 RARC Files
- 1.3.12 Savegame files
- 1.3.13 Ticket/TIK files
- 1.3.14 U8 archives
- 1.3.15 WAD files
- 1.3.16 Yaz0 Files
The discs used on the Nintendo Wii are structured in one or more self-contained subdivisions called "partitions". Partitions contain encrypted data blocks (0x8000 bytes per block, or 32k) protected by encrypted SHA-1 hashes signed by a RSA signature. The encryption and hashing is carried at the block layer, independent of the file system used (FST).
Each partition is encrypted using a 'title key' that can be derived from a common key and the ticket in the partition.
The TMDs are structures used in several places (disc partitions, etc.) to describe a set of signed content.
PAK, FSB, MAP, AW, BLO, RSO, DSP
AST files contain PCM16 sound data. They're used in Super Mario Galaxy, Legend of Zelda: Twilight Princess, and possibly others.
Stores strings used in games for localization. Can be found in a most Nintendo published games such as Mario Kart wii, Wii fit and more.
BRFNT files contain font data. They're used in Mario Kart Wii, and possibly others.
BRRES files contain model, texture and animation data. They're used in several games.
BRSTM files contain ADPCM sound data. They're used in Mario Kart Wii, and possibly others.
BTI files contain image data. They're used in Mario Kart Wii, and possibly others.
This is an archive format that supports optional ZLib compression.
These files are generated when a channel (Wii or VC) is saved to an SD card.
This is the file that describes the banner shown in the channel selector when a game disc is inserted.
Seems to be an archive format.
These informations are taken by investigating some .pac-files of the fighters of ssbb (the currently only known game that uses those archives).
- first 3 bytes -> ARC
- starting at 0x10 -> Filename without extension
- starting at 0x60 -> Beginning of the archived file, in the case of those .pac-files of the fighters they all seem to be .brres-files
As you can see in that image of a file (FitLink00.pac) of the SSBB-Disc, the file which is stored in the .pac is called FitLink00.bres and residents in the /-folder
Seems to be an compressed version of the the PAC-Archive
These files are compressed file containers. The compression seems to be the same as in the GameCube RARC format.
The format of a RARC file is described in Yet Another GameCube Documentation by Groepaz/Hitmen.
These files are used by games to preserve the state of game play.
This is an archive format (no compression) which is used in several places.
These files are encrypted file containers. They are used for example within gamesaves and firmware updates.
The process to decrypt WAD files is similar to the one used for the discs.
These files are compressed files. The compression seems to be the same as the one used in the GameCube Yaz0 format.
The format of a Yaz0 file is described in Yet Another GameCube Documentation by Groepaz/Hitmen.