NFC services: Difference between revisions
Document some nfp IDebug commands and types |
Narr the reg (talk | contribs) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 695: | Line 695: | ||
= TestWaveType = | = TestWaveType = | ||
This is u32 enum "nn::nfc::TestWaveType". | This is u32 enum "nn::nfc::TestWaveType". | ||
= MifareKey = | |||
This is a 0x10-byte struct. | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset || Size || Description | |||
|- | |||
| 0x0 || 0x1 || MifareCommand | |||
|- | |||
| 0x1 || 0x1 || Unknown | |||
|- | |||
| 0x2 || 0x6 || Padding | |||
|- | |||
| 0x8 || 0x6 || Key data | |||
|- | |||
| 0xE || 0x2 || Padding | |||
|} | |||
= MifareReadBlockData = | = MifareReadBlockData = | ||
This is "nn::nfc::MifareReadBlockData". This is a 0x18-byte struct. | This is "nn::nfc::MifareReadBlockData". This is a 0x18-byte struct. | ||
{| class="wikitable" border="1" | |||
|- | |||
! Offset || Size || Description | |||
|- | |||
| 0x0 || 0x10 || Data | |||
|- | |||
| 0x10 || 0x1 || Block index | |||
|- | |||
| 0x11 || 0x7 || Padding | |||
|} | |||
= MifareReadBlockParameter = | = MifareReadBlockParameter = | ||
This is "nn::nfc::MifareReadBlockParameter". This is a 0x18-byte struct. | This is "nn::nfc::MifareReadBlockParameter". This is a 0x18-byte struct. | ||
{| class="wikitable" border="1" | |||
|- | |||
! Offset || Size || Description | |||
|- | |||
| 0x0 || 0x1 || Block index | |||
|- | |||
| 0x1 || 0x7 || Padding | |||
|- | |||
| 0x8 || 0x10 || [[#MifareKey]] | |||
|} | |||
= MifareWriteBlockParameter = | = MifareWriteBlockParameter = | ||
This is "nn::nfc::MifareWriteBlockParameter". This is a 0x28-byte struct. | This is "nn::nfc::MifareWriteBlockParameter". This is a 0x28-byte struct. | ||
{| class="wikitable" border="1" | |||
|- | |||
! Offset || Size || Description | |||
|- | |||
| 0x0 || 0x10 || Data | |||
|- | |||
| 0x10 || 0x1 || Block index | |||
|- | |||
| 0x11 || 0x7 || Padding | |||
|- | |||
| 0x18 || 0x10 || [[#MifareKey]] | |||
|} | |||
= State = | = State = | ||
Line 805: | Line 858: | ||
| 0x58 || 0x4 || First write date (see [[#Date]]) | | 0x58 || 0x4 || First write date (see [[#Date]]) | ||
|- | |- | ||
| 0x5C || 0x29 || Amiibo name (NUL-terminated string) | | 0x5C || 0x29 || Amiibo name (NUL-terminated UTF-8 string) | ||
|- | |- | ||
| 0x85 || 0x1 || | | 0x85 || 0x1 || Font region | ||
|- | |- | ||
| 0x86 || 0x7A || Reserved | | 0x86 || 0x7A || Reserved | ||
Line 898: | Line 951: | ||
= NfpData = | = NfpData = | ||
This is "nn::nfp::NfpData". This is a 0x298-byte struct. | This is "nn::nfp::NfpData". This is a 0x298-byte struct. | ||
{| class="wikitable" border="1" | |||
|- | |||
! Offset || Size || Description | |||
|- | |||
| 0x0 || 0x1 || Magic (Always 0xA5) | |||
|- | |||
| 0x1 || 0x1 || Reserved | |||
|- | |||
| 0x2 || 0x1 || Write counter | |||
|- | |||
| 0x3 || 0x1 || Reserved | |||
|- | |||
| 0x4 || 0x4 || Settings CRC32 | |||
|- | |||
| 0x8 || 0x38 || Reserved | |||
|- | |||
| 0x40 || 0x40 || [[#CommonInfo]] | |||
|- | |||
| 0x80 || 0x5C || Mii char info V3 (see https://www.3dbrew.org/wiki/Mii#Mii_format) | |||
|- | |||
| 0xDC || 0x2 || Padding | |||
|- | |||
| 0xDE || 0x2 || Mii char info V3 CRC16 | |||
|- | |||
| 0xE0 || 0x8 || Mii StoreDataExtension | |||
|- | |||
| 0xE8 || 0x4 || First write date (see [[#Date]]) | |||
|- | |||
| 0xEC || 0xB * 2 || Amiibo name (NUL-terminated UTF-16 string) | |||
|- | |||
| 0x102 || 0x1 || Settings flags (bit4 = amiibo was initialized in console settings, bit5 = has application area) | |||
|- | |||
| 0x103 || 0x1 || Unknown, normally zero | |||
|- | |||
| 0x104 || 0x4 || Register Info CRC32 | |||
|- | |||
| 0x108 || 0x4 * 5 || Unknown, normally zero | |||
|- | |||
| 0x11c || 0x64 || Reserved | |||
|- | |||
| 0x180 || 0x8 || Program ID (From the Wii U, 3DS or Switch title who created the application area) | |||
|- | |||
| 0x188 || 0x4 || [[#Access ID]] | |||
|- | |||
| 0x18c || 0x2 || Settings CRC32 change counter | |||
|- | |||
| 0x18e || 0x1 || Font region | |||
|- | |||
| 0x18f || 0x1 || Tag type, hardcoded to 0x2 | |||
|- | |||
| 0x190 || 0x1 || Console type, (3DS = 0, Wiiu = 1, 3DSv2 = 2, switch = 3, not set = 0xFF) | |||
|- | |||
| 0x191 || 0x1 || (Original Program ID >> 0x24) & 0xF byte (Program ID has this byte swapped with console type) | |||
|- | |||
| 0x192 || 0x2E || Reserved | |||
|- | |||
| 0x1c0 || 0xd8 || Application area data | |||
|} | |||
= BreakType = | = BreakType = | ||
Line 938: | Line 1,050: | ||
! Game || Access ID | ! Game || Access ID | ||
|- | |- | ||
| | | Splatoon 2 || 0x10162B00 | ||
|- | |- | ||
| | | Shovel Knight: Treasure Trove || 0x1016E100 | ||
|- | |- | ||
| The Legend of Zelda: Breath of the Wild || 0x1019C800 | | The Legend of Zelda: Breath of the Wild || 0x1019C800 | ||
|- | |||
| Super Smash Bros. Ultimate || 0x34F80200 | |||
|- | |||
| Splatoon 3 || 0x38600500 | |||
|- | |- | ||
| The Legend of Zelda: Link's Awakening || 0x3B440400 | | The Legend of Zelda: Link's Awakening || 0x3B440400 |