CNMT

From Nintendo Switch Brew
Revision as of 10:09, 28 June 2017 by Magic (talk | contribs)
Jump to navigation Jump to search

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.

Application header

Offset Size Description
0x20 8 Patch title ID
0x28 8

Patch header

Offset Size Description
0x20 8 Original title ID
0x28 8

Add-on content header

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