Changes

475 bytes added ,  18:47, 11 April 2015
no edit summary
Line 12: Line 12:     
==NFC management service "nfc:m"==
 
==NFC management service "nfc:m"==
This is used by the [[amiibo Settings]] applet.
+
{| class="wikitable" border="1"
 +
|-
 +
!  Command Header
 +
!  Available since system-version
 +
!  Name
 +
!  Input
 +
!  Output
 +
!  Notes
 +
|-
 +
| 0x040100C2
 +
| Unknown, <[[9.3.0-21|9.3.0-X]]
 +
| ???
 +
| u32 unknownA, u32 unknownB, u32 unknownC, u32 (sizeof(*buffer) << 14 <nowiki>|</nowiki> 0x402), void * buffer
 +
| s32 result
 +
|
 +
|-
 +
| 0x04020000
 +
| [[9.3.0-21|9.3.0-X]]
 +
| ???
 +
| void
 +
| s32 result, u32 unknownA[16]
 +
| Output seems to be a struct
 +
|-
 +
| 0x04030000
 +
| [[9.3.0-21|9.3.0-X]]
 +
| ???
 +
| void
 +
| s32 result, u32 unknownA[41]
 +
|
 +
|-
 +
| 0x04040A40
 +
| [[9.3.0-21|9.3.0-X]]
 +
| ???
 +
| u32 unknownA[41]
 +
| s32 result
 +
|
 +
|-
 +
| 0x04060000
 +
| [[9.3.0-21|9.3.0-X]]
 +
| ???
 +
| void
 +
| s32 result
 +
|
 +
|-
 +
| 0x04070000
 +
| [[9.3.0-21|9.3.0-X]]
 +
| ???
 +
| void
 +
| s32 result, u32 unknownA
 +
|
 +
|-
 +
| 0x04080000
 +
| [[9.3.0-21|9.3.0-X]]
 +
| ???
 +
| void
 +
| s32 result, u32 unknownA
 +
|
 +
|-
 +
| 0x040D0000
 +
| [[9.3.0-21|9.3.0-X]]
 +
| ???
 +
| void
 +
| s32 result
 +
|
 +
|-
 +
| 0x040E0000
 +
| [[9.3.0-21|9.3.0-X]]
 +
| ???
 +
| void
 +
| s32 result, u32 unknownA, u32 unknownB
 +
| Again, amiibo applet ignores value unknownA.
 +
|-
 +
| 0x040F0000
 +
| [[9.3.0-21|9.3.0-X]]
 +
| ???
 +
| void
 +
| s32 result, u32 unknownA, u32 unknownB
 +
|
 +
|}
 +
 
 +
This is used by the [[amiibo Settings]] applet. This service has the above commands, in addition to the command-set listed below.
    
==NFC development service "nfc:dev"==
 
==NFC development service "nfc:dev"==
Line 31: Line 111:     
="nfc:u" and "nfc:m" command set=
 
="nfc:u" and "nfc:m" command set=
There are two different revisions of the NFC module. First version was introduced on New3DS only with firmware 8.1.0-0_New3DS. Second version made its appearance with 9.3.0-X, on both Old3DS and New3DS.
+
There are at least two different revisions of the NFC module. First version was introduced on New3DS only with firmware [[8.1.0-0_New3DS]]. Second version made its appearance with [[9.3.0-21|9.3.0-X]], on both Old3DS and New3DS.
    
These two versions are not interchangeable and not compatible, since the newer version uses a different command set and has no implemented commands from the older version. This does not introduce compatibility problems since no retail software used the NFC module before the Super Smash Bros for 3DS, whose NFC update required 9.3.0-21.
 
These two versions are not interchangeable and not compatible, since the newer version uses a different command set and has no implemented commands from the older version. This does not introduce compatibility problems since no retail software used the NFC module before the Super Smash Bros for 3DS, whose NFC update required 9.3.0-21.
Line 190: Line 270:  
| s32 result, u32 unknownA[8], u32 unknownB[4], u64 unknownC, u32 unknownD
 
| s32 result, u32 unknownA[8], u32 unknownB[4], u64 unknownC, u32 unknownD
 
| Apparently output is a struct
 
| Apparently output is a struct
|-
  −
| 0x040100C2
  −
| ???
  −
| u32 unknownA, u32 unknownB, u32 unknownC, u32 (sizeof(*buffer) << 14 <nowiki>|</nowiki> 0x402), void * buffer
  −
| s32 result
  −
|
  −
|-
  −
| 0x04020000
  −
| ???
  −
| void
  −
| s32 result, u32 unknownA[16]
  −
| Output seems to be a struct
  −
|-
  −
| 0x04030000
  −
| ???
  −
| void
  −
| s32 result, u32 unknownA[41]
  −
|
  −
|-
  −
| 0x04040A40
  −
| ???
  −
| u32 unknownA[41]
  −
| s32 result
  −
|
  −
|-
  −
| 0x04060000
  −
| ???
  −
| void
  −
| s32 result
  −
|
  −
|-
  −
| 0x04070000
  −
| ???
  −
| void
  −
| s32 result, u32 unknownA
  −
|
  −
|-
  −
| 0x04080000
  −
| ???
  −
| void
  −
| s32 result, u32 unknownA
  −
|
  −
|-
  −
| 0x040D0000
  −
| ???
  −
| void
  −
| s32 result
  −
|
  −
|-
  −
| 0x040E0000
  −
| ???
  −
| void
  −
| s32 result, u32 unknownA, u32 unknownB
  −
| Again, amiibo applet ignores value unknownA.
  −
|-
  −
| 0x040F0000
  −
| ???
  −
| void
  −
| s32 result, u32 unknownA, u32 unknownB
  −
|
   
|}
 
|}