NFC Services: Difference between revisions
Line 281: | Line 281: | ||
|} | |} | ||
==Pre-9.3.0- | ==Pre-9.3.0-X== | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
! Command | ! Pre-9.3.0-X command header | ||
! Command header starting with 9.3.0-X | |||
! Available since system-version | ! Available since system-version | ||
! Description | ! Description | ||
|- | |- | ||
| 0x00010000 | | 0x00010000 | ||
| ? | |||
| [[8.1.0-0_New3DS]] | | [[8.1.0-0_New3DS]] | ||
| Initialize | | Initialize | ||
|- | |- | ||
| 0x00020000 | | 0x00020000 | ||
| ? | |||
| [[8.1.0-0_New3DS]] | | [[8.1.0-0_New3DS]] | ||
| Shutdown | | Shutdown | ||
|- | |- | ||
| 0x00030000 | | 0x00030000 | ||
| ? | |||
| [[8.1.0-0_New3DS]] | | [[8.1.0-0_New3DS]] | ||
| GetNFCState. This writes an output u8 to cmdreply[2]: 0 = not initialized, 1 = just initialized, 5 = data transfer ready, ... | | GetNFCState. This writes an output u8 to cmdreply[2]: 0 = not initialized, 1 = just initialized, 5 = data transfer ready, ... | ||
|- | |- | ||
| 0x00040000 | | 0x00040000 | ||
| 0x000B0000 | |||
| [[8.1.0-0_New3DS]] | | [[8.1.0-0_New3DS]] | ||
| This writes an output handle to cmdreply[3]. | | This writes an output handle to cmdreply[3]. | ||
|- | |- | ||
| 0x00050000 | | 0x00050000 | ||
| 0x000C0000 | |||
| [[8.1.0-0_New3DS]] | | [[8.1.0-0_New3DS]] | ||
| This writes an output handle to cmdreply[3]. | | This writes an output handle to cmdreply[3]. | ||
|- | |- | ||
| 0x00060040 | | 0x00060040 | ||
| ? | |||
| [[8.1.0-0_New3DS]] | | [[8.1.0-0_New3DS]] | ||
| (u8 input) | | (u8 input) | ||
|- | |- | ||
| 0x00070000 | | 0x00070000 | ||
| ? | |||
| [[8.1.0-0_New3DS]] | | [[8.1.0-0_New3DS]] | ||
| The user process must setup the output-buffer hdr+ptr data @ TLS+0x180 when using this. cmdreply[2] = actual output data size? | | The user process must setup the output-buffer hdr+ptr data @ TLS+0x180 when using this. cmdreply[2] = actual output data size? | ||
|- | |- | ||
| 0x00080100 | | 0x00080100 | ||
| ? | |||
| [[8.1.0-0_New3DS]] | | [[8.1.0-0_New3DS]] | ||
| (<0x10-bytes starting at cmdreq[1]>) | | (<0x10-bytes starting at cmdreq[1]>) | ||
|- | |- | ||
| 0x00090000 | | 0x00090000 | ||
| ? | |||
| [[8.1.0-0_New3DS]] | | [[8.1.0-0_New3DS]] | ||
| | | | ||
|- | |- | ||
| 0x000A0000 | | 0x000A0000 | ||
| ? | |||
| [[8.1.0-0_New3DS]] | | [[8.1.0-0_New3DS]] | ||
| The user process must setup the output-buffer hdr+ptr data @ TLS+0x180 when using this. | | The user process must setup the output-buffer hdr+ptr data @ TLS+0x180 when using this. | ||
|- | |- | ||
| 0x000B0042 | | 0x000B0042 | ||
| ? | |||
| [[8.1.0-0_New3DS]] | | [[8.1.0-0_New3DS]] | ||
| (u32 size, ((Size<<14) <nowiki>|</nowiki> 2), inbufptr) | | (u32 size, ((Size<<14) <nowiki>|</nowiki> 2), inbufptr) | ||
|- | |- | ||
| 0x000C0044 | | 0x000C0044 | ||
| ? | |||
| [[8.1.0-0_New3DS]] | | [[8.1.0-0_New3DS]] | ||
| (u32 size, 0x20, <procid set by kernel>, ((Size<<14) <nowiki>|</nowiki> 0x402), inbufptr) | | (u32 size, 0x20, <procid set by kernel>, ((Size<<14) <nowiki>|</nowiki> 0x402), inbufptr) | ||
|- | |- | ||
| 0x000D0040 | | 0x000D0040 | ||
| ? | |||
| [[8.1.0-0_New3DS]] | | [[8.1.0-0_New3DS]] | ||
| (u16 in) | | (u16 in) | ||
|- | |- | ||
| 0x000E0000 | | 0x000E0000 | ||
| ? | |||
| [[8.1.0-0_New3DS]] | | [[8.1.0-0_New3DS]] | ||
| | | | ||
|- | |- | ||
| 0x000F00C2 | | 0x000F00C2 | ||
| ? | |||
| [[8.1.0-0_New3DS]] | | [[8.1.0-0_New3DS]] | ||
| (u32 unk0, u32 unk1, u32 unk2, ((Size<<14) <nowiki>|</nowiki> 0x802), inbufptr) | | (u32 unk0, u32 unk1, u32 unk2, ((Size<<14) <nowiki>|</nowiki> 0x802), inbufptr) | ||
|- | |- | ||
| 0x00100040 | | 0x00100040 | ||
| ? | |||
| [[8.1.0-0_New3DS]] | | [[8.1.0-0_New3DS]] | ||
| (u32 in) | | (u32 in) | ||
|- | |- | ||
| 0x00110040 | | 0x00110040 | ||
| ? | |||
| [[8.1.0-0_New3DS]] | | [[8.1.0-0_New3DS]] | ||
| (u32 in) | | (u32 in) | ||
|- | |- | ||
| 0x00120040 | | 0x00120040 | ||
| ? | |||
| [[8.1.0-0_New3DS]] | | [[8.1.0-0_New3DS]] | ||
| (u32 in) | | (u32 in) | ||
|- | |- | ||
| 0x00130000 | | 0x00130000 | ||
| ? | |||
| [[8.1.0-0_New3DS]] | | [[8.1.0-0_New3DS]] | ||
| Writes an output u32 to cmdreply[2]. | | Writes an output u32 to cmdreply[2]. | ||
|- | |- | ||
| 0x00140000 | | 0x00140000 | ||
| ? | |||
| [[8.1.0-0_New3DS]] | | [[8.1.0-0_New3DS]] | ||
| This writes an output 0x30-byte struct starting at cmdreply[2]. | | This writes an output 0x30-byte struct starting at cmdreply[2]. | ||
|- | |- | ||
| 0x00150000 | | 0x00150000 | ||
| ? | |||
| [[8.1.0-0_New3DS]] | | [[8.1.0-0_New3DS]] | ||
| This writes an output 0x2C-byte struct starting at cmdreply[2]. | | This writes an output 0x2C-byte struct starting at cmdreply[2]. | ||
|- | |- | ||
| 0x00160000 | | 0x00160000 | ||
| ? | |||
| [[8.1.0-0_New3DS]] | | [[8.1.0-0_New3DS]] | ||
| | | | ||
|- | |- | ||
| 0x00170000 | | 0x00170000 | ||
| ? | |||
| [[8.1.0-0_New3DS]] | | [[8.1.0-0_New3DS]] | ||
| | | |