This topic provides information about the format of Nintendo's proprietary format NFC tags (hereafter, NOFT).
NOFT is a Nintendo-proprietary format for tags based on the NFC Forum Type 1 Tag. Its main features are as follows.
|Fixed tag ID (UID)||All tags have different, 7-byte IDs (UIDs). Tags can be uniquely identified using these IDs.|
|Format version||The version of the supported format.
(The version specified by the NOFT mastering tool when the tag was created.)
|Regions used by tags||NOFT tags have both ROM regions where the tag was made into a ROM in the manufacturing process, and RAM regions that users can use freely. The default size settings for the ROM and RAM regions are 16 bytes and 288 bytes, respectively. (Accordingly, the space available for the application to use is a total of 304 bytes.)
If you would prefer to use other settings, contact your local Nintendo developer support group.
|Maker code||This code identifies tags for each manufacturer. It specifies a 4-digit company code assigned by Nintendo.|
|Identify code||A 4-byte code that can be used as a code that is separate from the maker code and can be used for identifying the type of application. It is written in a way that cannot be changed after the tag is manufactured.|
NOFT supports a mechanism that uses HMAC to prevent tampering. If the content of the tag has been illegally rewritten, it is treated as a tag with an invalid format. Also, the content of the tag is encrypted, so it is necessary to decrypt it when reading the content and to encrypt it when writing content. The decryption when reading and encryption when writing are handled within the NTAG library, so it is not necessary for applications to track it. Processing for format conversions is also handled within the library.
To create NOFT tags, you must use a dedicated tool distributed by Nintendo to write the data. For more information about how to create tags, see the tool for creating NFC tags in Nintendo's proprietary format.
2013/05/08 Automated cleanup pass.
2012/11/28 Initial version.