Data containers
This is an old revision of this page, as edited by Bushing (talk | contribs) at 15:12, 22 January 2008. It may differ significantly from the current revision. |
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).
Logical Containers
Disc Partitions
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 structure of a partition is described in the Wiidisc page.
Title MetaData (TMD)
The TMDs are structures used in several places (disc partitions, etc.) to describe a set of signed content.
The structure of a TMD is described in the Tmd file structure page.
Files
WAD Files
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.
The format of a WAD file is described in the WAD Files page.
Savegames
These files are used by games to preserve the state of game play.
The format, which is a special header followed by a WAD file, is described in the Savegame Files page.
RARC Files
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.
Yaz0 Files
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.