Changes

947 bytes added ,  00:44, 3 March 2015
no edit summary
Line 32: Line 32:     
==Post-9.3.0-21==
 
==Post-9.3.0-21==
Commands for post-9.3.0-21 have been extracted by analyzing the amiibo Settings applet. Therefore this table may be missing commands.
+
Commands for post-9.3.0-21 have been extracted by analyzing the amiibo Settings applet. Therefore this table may be missing commands. Note that the function name is actually a nickname for easeness of reading, as original function names have been stripped off the binaries.
   −
Command header is stored at [[Thread Local Storage|TLS]]+0x80. Input and output parameters, if any, are set at TLS+0x84 onwards. If the command specifies has a parameter named "pid", this value has to be set to 0x20, as the kernel will replace the next word ("pidPlaceholder" - which can be left uninitialized) with the process' real PID (see [[IPC_Command_Structure]]).
+
See [[IPC Command Structure]] for an explanation on how IPC communication works and how to use these functions.
 
  −
Note that the function name is actually a nickname for easeness of reading, as original function names have been stripped off the binaries.
   
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 54: Line 52:  
| nfcStop
 
| nfcStop
 
| u8 unknownA
 
| u8 unknownA
 +
| s32 result
 +
|
 +
|-
 +
| 0x00030000
 +
| ???
 +
| void
 +
| s32 result
 +
|
 +
|-
 +
| 0x00040000
 +
| ???
 +
| void
 
| s32 result
 
| s32 result
 
|
 
|
Line 92: Line 102:  
| s32 result
 
| s32 result
 
|
 
|
 +
|-
 +
| 0x000B0000
 +
| ???
 +
| void
 +
| s32 result, u32 unknownA, u32 unknownB
 +
| amiibo applet ignores value unknownA. It doesn't even read it from the command buffer.
 +
|-
 +
| 0x000C0000
 +
| ???
 +
| void
 +
| s32 result, u32 unknownA, u32 unknownB
 +
| amiibo applet also ignores value unknownA for this command.
 
|-
 
|-
 
| 0x000D0000
 
| 0x000D0000
Line 140: Line 162:  
| s32 result
 
| s32 result
 
| Uses something at TLS+0x180
 
| Uses something at TLS+0x180
 +
|-
 +
| 0x00160242
 +
| ???
 +
| u32 unknownA, u8 unknownB[32], u32 (buffer_size << 14) <nowiki>|</nowiki> 0x00000002, void * buffer
 +
| s32 result
 +
|
 
|-
 
|-
 
| 0x00170000
 
| 0x00170000
Line 158: Line 186:  
| 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 | 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
 
| 0x04060000
Line 163: Line 215:  
| void
 
| void
 
| s32 result
 
| 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
 
|
 
|
 
|}
 
|}
48

edits