Wii/disk
From Wiire
< Wii
[edit]
Disc Format
The first 0x400 bytes are like the GameCube disc header format.
| offset | size | description |
|---|---|---|
| 0x0000000000 | 1 | Disctype R = Revolution/Wii, G = GameCube, U = Utility-disc(?) GameCube (GBA-Player disc is using U) |
| 0x0000000001 | 2 | Gamecode |
| 0x0000000003 | 1 | Region, E = USA, P = PAL, J = JAP |
| 0x0000000004 | 2 | Maker Code |
| 0x0000000006 | 1 | Disc ID |
| 0x0000000007 | 1 | Version |
| 0x0000000008 | 1 | Audio Streaming |
| 0x0000000009 | 1 | Streaming Buffersize |
| 0x000000000A | 14 | zero, unused? |
| 0x0000000018 | 4 | magicword, 0x5D1C9EA3 |
| 0x0000000020 | 0x60 | Gametitle (though most docs claim it to be 0x400 the Wii only reads 0x60) |
| 0x0000000080 | 0x380 | padded with 0 |
[edit]
Region setting
| offset | size | description |
|---|---|---|
| 0x0004E000 | 4 | Region, 0 = JAP, 1 = USA, 2 = EUR |
| 0x0004E010 | 16 | unknown |
[edit]
Partitions
The Wii disc format uses parititions, mostly one is used for updates (the 1st) and the 2nd for the game.
| offset | size | description |
|---|---|---|
| 0x0000040000 | 4 | Total partitions in the disc |
| 0x0000040004 | 4 | Partition info table offset, Address is (value << 2) |
| offset | size | description |
|---|---|---|
| 0x0000000000 | 4 | Partition offset, Address is (value << 2) |
| 0x0000000004 | 4 | Partitions to follow ?, partition type ? It's always 1 for the first entry |
Each partition starts with five 'certifications' only the first two seem to be different for each game.
The first 'certification' entry also holds information about the current partition.
Offset 0x00000000 is considered as the start of the partition.
| offset | size | description |
|---|---|---|
| 0x00000000 | 2 | unknown, maybe hash type? always 0x0001 |
| 0x00000002 | 2 | RSA signature type, 0x0000 RSA 4096bit, 0x0001 RSA 2048bit |
| 0x00000004 | see above | RSA signature |
| 0x0000000x | x | TODO |
| 0x000002A0 | 0x20 | Partition offsets |
| 0x000002A4 | 4 | unknown, ie: 0x00000208 |
| 0x000002A8 | 4 | 2nd certification offset |
| 0x000002AC | 4 | Size of the last three certifications |
| 0x000002B0 | 4 | 3rd certification offset |
| 0x000002B4 | 4 | Points to an encrypted data block |
| 0x000002B8 | 4 | Data offset, Address is (value << 2) |
| 0x000002BC | 4 | Data size, Address is (value << 2) |
--Crediar 04:25, 10 January 2008 (MST)
