Wii/disk

From Wiire

< Wii
Jump to: navigation, search

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


Region setting

offset size description
0x0004E000 4 Region, 0 = JAP, 1 = USA, 2 = EUR
0x0004E010 16 unknown


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)


Partition table entry
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.


First Certification Entry:
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)

Personal tools