Difference between revisions of "NFC:WriteAppData"

From 3dbrew
Jump to navigation Jump to search
(Created page with "=Request= {| class="wikitable" border="1" |- ! Index Word ! Description |- | 0 | Header code [Starting with 9.3.0-X: 0x00160242] |- | 1 | Size |- | 2-3 | NFC tag 7-byte UID |- ...")
 
 
(2 intermediate revisions by the same user not shown)
Line 11: Line 11:
 
| Size
 
| Size
 
|-
 
|-
| 2-3
+
| 2-9
| NFC tag 7-byte UID
+
| See below input struct.
|-
 
| 4
 
| ?
 
|-
 
| 5-9
 
| Unknown, normally all-zero?
 
 
|-
 
|-
 
| 10
 
| 10
Line 24: Line 18:
 
|-
 
|-
 
| 11
 
| 11
| Pointer to input buf
+
| Pointer to input appdata buf
 
|}
 
|}
  
Line 38: Line 32:
 
| 1
 
| 1
 
| Result code
 
| Result code
 +
|}
 +
 +
=Input struct=
 +
{| class="wikitable" border="1"
 +
|-
 +
!  Offset
 +
!  Size
 +
!  Description
 +
|-
 +
| 0x0
 +
| 0x7
 +
| NFC tag 7-byte UID, must match the current tag UID stored in NFC module state.
 +
|-
 +
| 0x8
 +
| 0x2
 +
| Unused
 +
|-
 +
| 0xA
 +
| 0x1
 +
| Size of the above UID, must match a NFC module state field(value 0x7).
 +
|-
 +
| 0xB
 +
| 0x15
 +
| Unused
 
|}
 
|}
  
 
=Description=
 
=Description=
This is used to write to the [[Amiibo]] app-data, when the app-data was already [[NFC:InitializeWriteAppData|setup]] for the user application.
+
This is used to write to the [[Amiibo]] app-data stored in memory, when the app-data was already [[NFC:InitializeWriteAppData|setup]] for the user application. When the size is <0xD8-bytes, the remaining app-data in memory has data from a "PRNG" written to it.
 +
 
 +
Besides the usual NFC module state checks, this command can only be used when a certain state u8 field is non-zero, otherwise an error is returned.

Latest revision as of 05:31, 17 April 2015

Request[edit]

Index Word Description
0 Header code [Starting with 9.3.0-X: 0x00160242]
1 Size
2-9 See below input struct.
10 (Size<<14) | 2
11 Pointer to input appdata buf

Response[edit]

Index Word Description
0 Header code
1 Result code

Input struct[edit]

Offset Size Description
0x0 0x7 NFC tag 7-byte UID, must match the current tag UID stored in NFC module state.
0x8 0x2 Unused
0xA 0x1 Size of the above UID, must match a NFC module state field(value 0x7).
0xB 0x15 Unused

Description[edit]

This is used to write to the Amiibo app-data stored in memory, when the app-data was already setup for the user application. When the size is <0xD8-bytes, the remaining app-data in memory has data from a "PRNG" written to it.

Besides the usual NFC module state checks, this command can only be used when a certain state u8 field is non-zero, otherwise an error is returned.