Line 1:
Line 1:
'''Title metadata''' is a format used to store information about a title (a single standalone game, channel, etc.) and all its installed contents, including which contents they consist of and their SHA1 hashes.
'''Title metadata''' is a format used to store information about a title (a single standalone game, channel, etc.) and all its installed contents, including which contents they consist of and their SHA1 hashes.
−
−
Many operations are done in terms of 64-byte blocks, which means you will often see padding out to the nearest 64-byte boundary at the end of a field.
== Structure ==
== Structure ==
Line 21:
Line 19:
| 0x104
| 0x104
| 60
| 60
−
| Padding modulo 64
+
| Padding for 64-byte alignment
|-
|-
| 0x140
| 0x140
Line 41:
Line 39:
| 0x183
| 0x183
| 1
| 1
−
| Padding modulo 64
+
| Is vWii (1 for vWii titles, 0 for normal titles)
|-
|-
| 0x184
| 0x184
| 8
| 8
−
| System Version (the ios that the title needs)
+
| System Version (the IOS that the title needs). Set to 0 for IOS itself.
|-
|-
| 0x18C
| 0x18C
Line 101:
Line 99:
| 0x1E2
| 0x1E2
| 2
| 2
−
| Padding modulo 64
+
| Unused
|-
|-
| 0x1E4
| 0x1E4
Line 224:
Line 222:
u8 ca_crl_version;
u8 ca_crl_version;
u8 signer_crl_version;
u8 signer_crl_version;
−
u8 fill2;
+
u8 vwii;
u64 sys_version;
u64 sys_version;
u64 title_id;
u64 title_id;
Line 234:
Line 232:
u16 num_contents;
u16 num_contents;
u16 boot_index;
u16 boot_index;
−
u16 fill3;
+
u16 fill2;
content_record contents[num_contents];
content_record contents[num_contents];
} tmd;
} tmd;