For the content of the NCA FS which can be mounted, see here.
Metadata file
This is the file that ends in ".cnmt{.nca}"
or "meta0.ncd"
. This seems to replace the TMD format.
It starts with a header:
Offset
|
Size
|
Description
|
0x0
|
8
|
Title ID
|
0x8
|
4
|
|
0xC
|
1
|
Type (see Title Types)
|
0xD
|
1
|
|
0xE
|
2
|
Offset to table relative to the end of this 0x20-byte header.
|
0x10
|
2
|
Number of entries
|
0x12
|
14
|
|
An optional header can follow, depending on the title type.
At the end of the file following the entries is a 0x20-byte block, presumably a hash.
With update-format, there's additional data after the end of the entries specified in the header and before the ending hash.
Offset
|
Size
|
Description
|
0x20
|
8
|
Patch title ID
|
0x28
|
8
|
|
Offset
|
Size
|
Description
|
0x20
|
8
|
Original title ID
|
0x28
|
8
|
|
Offset
|
Size
|
Description
|
0x20
|
8
|
Application title ID
|
0x28
|
8
|
|
Content records
Each entry is 0x38 bytes:
Offset
|
Size
|
Description
|
0x0
|
32
|
Hash
|
0x20
|
16
|
NcaId [same as first 16-bytes of hash]
|
0x30
|
6
|
Size, same as the output from Content_Manager_services#GetEntrySize.
|
0x36
|
1
|
Type (0=meta, 1=program, 2=data, 3=control, 4=offline-manual html, 5=legal html)
|
0x37
|
1
|
|