Changes

Jump to navigation Jump to search
1,433 bytes added ,  08:55, 5 August 2017
→‎NFC management service "nfc:m": Added information about 0x402 coommand in nfc:m.
Line 3: Line 3:  
On New3DS NFC module uses the [[I2C_Registers|NFC]] hardware via the [[I2C_Services|i2c::NFC]] and [[GPIO_Services|gpio:NFC]] services. On Old3DS NFC module communicates with a NFC peripheral via IR with the IRUSER service.
 
On New3DS NFC module uses the [[I2C_Registers|NFC]] hardware via the [[I2C_Services|i2c::NFC]] and [[GPIO_Services|gpio:NFC]] services. On Old3DS NFC module communicates with a NFC peripheral via IR with the IRUSER service.
   −
A total of 6 sessions can be open simultaneously for all of these services combined.
+
Only 1 session can be open for all of these services combined. Commands for each service are handled by the main-thread.
    
=NFC services=
 
=NFC services=
Line 33: Line 33:  
| void
 
| void
 
| s32 result, u32 unknownA[16]
 
| s32 result, u32 unknownA[16]
| Output seems to be a struct
+
| Output seems to be a struct. unknownA[2]'s value is the AppID of the Amiibo.
 
|-
 
|-
 
| 0x04030000
 
| 0x04030000
Line 102: Line 102:     
==NFC development service "nfc:dev"==
 
==NFC development service "nfc:dev"==
This service seems to be intended for use only on dev-units(or at least some of the command(s)).
+
{| class="wikitable" border="1"
 +
|-
 +
!  Command header
 +
!  Available since system-version
 +
!  Description
 +
|-
 +
| 0x00110100
 +
|
 +
| [[NFCDEV:ReadRawPages|ReadRawPages]]
 +
|-
 +
| 0x001200C0
 +
|
 +
| [[NFCDEV:WriteRawPage|WriteRawPage]]
 +
|}
 +
 
 +
Some of these commands seems to be intended for use only on dev-units.
    
Unlike the New3DS NFC-module, at least some of these commands are stubbed in the Old3DS NFC-module(only returns an error).
 
Unlike the New3DS NFC-module, at least some of these commands are stubbed in the Old3DS NFC-module(only returns an error).
Line 128: Line 143:  
|  
 
|  
 
| ?
 
| ?
 +
|-
 +
| 0x000500C2
 +
|
 +
| [[NFCP:SendTagCommand|SendTagCommand]]
 +
|-
 +
| 0x00060000
 +
|
 +
| GetTagInfo
 
|-
 
|-
 
| 0x00070000
 
| 0x00070000
Line 134: Line 157:  
|-
 
|-
 
| 0x00080000
 
| 0x00080000
 +
|
 +
| Writes a handle to cmdreply[3].
 +
|-
 +
| 0x00090000
 
|  
 
|  
 
| Writes a handle to cmdreply[3].
 
| Writes a handle to cmdreply[3].
Line 140: Line 167:  
|  
 
|  
 
| Unknown. Writes an output value to cmdreply[2].
 
| Unknown. Writes an output value to cmdreply[2].
 +
|-
 +
| 0x000B0000
 +
|
 +
| Unknown. Writes 0x60-bytes of output starting at cmdreply[2]. u16 +0 is the size of the data at +4, +2 is not initialized, u8 +3 is loaded from state, u32 +0x2C is loaded from state, and the data at +4 with the previously mentioned size is copied from state.
 +
|-
 +
| 0x000C0040
 +
|
 +
| (u32 outputsize) Writes output to static_buf_id=0, outputsize 1 is used when it's >=1.
 +
|-
 +
| 0x000D0040
 +
|
 +
| (u32 outputsize) Writes output to static_buf_id=0, outputsize 1 is used when it's >=1.
 +
|-
 +
| 0x000E0080
 +
|
 +
| (u8 unk, u32 outputsize) Writes output to static_buf_id=0, outputsize 2 is used when it's >=2.
 +
|-
 +
| 0x000F0040
 +
|
 +
| (u32 outputsize) Writes output to static_buf_id=0, outputsize 2 is used when it's >=2.
 +
|-
 +
| 0x00100000
 +
|
 +
| Unknown.
 +
|-
 +
| 0x00110000
 +
|
 +
| Unknown.
 +
|-
 +
| 0x00120000
 +
|
 +
| Unknown. Writes an output u32 to cmdreply[2].
 +
|-
 +
| 0x00130000
 +
|
 +
| Unknown. Writes an output u32 to cmdreply[2].
 
|}
 
|}
   Line 156: Line 219:  
!  Available since system-version
 
!  Available since system-version
 
!  Description
 
!  Description
 +
|-
 +
| 0x00130102
 +
|
 +
| [[NFCS:SendTagCommand|SendTagCommand]]
 
|-
 
|-
 
| 0x00230000
 
| 0x00230000
Line 390: Line 457:  
| 0x001F0080
 
| 0x001F0080
 
| [[10.0.0-27|10.0.0-X]]
 
| [[10.0.0-27|10.0.0-X]]
| ?
+
| [[NFC:StartOtherTagScanning|StartOtherTagScanning]]
| u16, u32
+
|  
 
|  
 
|  
 
| Used by JPN eShop app "Megami Meguri".
 
| Used by JPN eShop app "Megami Meguri".
Line 397: Line 464:  
| 0x00200102
 
| 0x00200102
 
| [[10.0.0-27|10.0.0-X]]
 
| [[10.0.0-27|10.0.0-X]]
| ?
+
| [[NFC:SendTagCommand|SendTagCommand]]
| [1]=u32_inputsize, [2]=u32_outputsize, [3]=u32_unk1, [4]=u32_unk2, [5]={static ipc buf translate-header with static_buf_id=0}, [6]=inbufaddr
+
|  
| [2]=output_u32, 3={static ipc buf translate-header with static_buf_id=0}, 4=outbufaddr
+
|  
| outputsize value 0x800 will be used when it's >=0x800.
+
|
 
|-
 
|-
 
| 0x00210000
 
| 0x00210000
Line 407: Line 474:  
|  
 
|  
 
|  
 
|  
| Used by JPN eShop app "Megami Meguri".
+
| Used by JPN eShop app "Megami Meguri". This can only be used when [[NFC:Initialize|initialized]] with type3, and when the [[NFC:GetTagState|TagState]] is 3.
 
|-
 
|-
 
| 0x00220000
 
| 0x00220000
Line 414: Line 481:  
|  
 
|  
 
|  
 
|  
|  
+
| This can only be used when [[NFC:Initialize|initialized]] with type3, and when the [[NFC:GetTagState|TagState]] is 3.
 
|}
 
|}
  
1

edit

Navigation menu