Changes

1,143 bytes added ,  18:07, 21 April 2022
Document some nfp IDebug commands and types
Line 480: Line 480:  
| 106 || [[#ExistsApplicationArea]]
 
| 106 || [[#ExistsApplicationArea]]
 
|-
 
|-
| 200 || GetAll
+
| 200 || [[#GetAll]]
 
|-
 
|-
| 201 || SetAll
+
| 201 || [[#SetAll]]
 
|-
 
|-
| 202 || FlushDebug
+
| 202 || [[#FlushDebug]]
 
|-
 
|-
| 203 || BreakTag
+
| 203 || [[#BreakTag]]
 
|-
 
|-
| 204 || ReadBackupData
+
| 204 || [[#ReadBackupData]]
 
|-
 
|-
| 205 || WriteBackupData
+
| 205 || [[#WriteBackupData]]
 
|-
 
|-
 
| 206 || [[#WriteNtf]]
 
| 206 || [[#WriteNtf]]
Line 524: Line 524:  
| 314 || [3.0.0-3.0.2]
 
| 314 || [3.0.0-3.0.2]
 
|}
 
|}
 +
 +
==== GetAll ====
 +
Takes an input [[#DeviceHandle]], a type-0x1A output buffer containing [[#NfpData]], no output.
 +
 +
==== SetAll ====
 +
Takes an input [[#DeviceHandle]], a type-0x19 input buffer containing [[#NfpData]], no output.
 +
 +
==== FlushDebug ====
 +
Takes an input [[#DeviceHandle]], no output.
 +
 +
==== BreakTag ====
 +
Takes an input [[#DeviceHandle]], an input u32 [[#BreakType]], no output.
 +
 +
==== ReadBackupData ====
 +
Takes an input [[#DeviceHandle]], a type-0x6 output buffer, and an output u32 (read_size).
 +
 +
==== WriteBackupData ====
 +
Takes an input [[#DeviceHandle]], a type-0x5 input buffer, no output.
 +
 +
The buffer size must be less or equal than 0x1FBD20.
    
==== WriteNtf ====
 
==== WriteNtf ====
Takes an input [[#DeviceHandle]], an u32, a type-0x5 input buffer, no output.
+
Takes an input [[#DeviceHandle]], an input u32 [[#WriteType]], a type-0x5 input buffer, no output.
   −
The input buffer size must match 0x2A0.
+
The input buffer size must match 0x2A0. This handles Amiibo crypto, etc.
 
  −
This handles Amiibo crypto etc.
      
== Common ==
 
== Common ==
Line 538: Line 556:     
=== Initialize* ===
 
=== Initialize* ===
Takes a PID, an [[AM_services|AppletResourceUserId]], an u64, a type-0x5 input buffer containing an array of [[#RequiredMcuVersionData]], no output.
+
Takes a PID, an [[AM_services|AppletResourceUserId]], an u64 placeholder for the PID, a type-0x5 input buffer containing an array of [[#RequiredMcuVersionData]], no output.
 
  −
sdknso passes value 0 for the u64.
      
Internally this is mostly the same for each service, this differs depending on the service/cmd however.
 
Internally this is mostly the same for each service, this differs depending on the service/cmd however.
Line 563: Line 579:     
=== Mount ===
 
=== Mount ===
Takes an input [[#DeviceHandle]], an input [[#ModelType]] and an input [[#MountTarget]], no output.
+
Takes an input [[#DeviceHandle]], an input u32 [[#ModelType]] and an input u32 [[#MountTarget]], no output.
    
=== Unmount ===
 
=== Unmount ===
Line 878: Line 894:  
|-
 
|-
 
| 0x72 || 0x8E || Reserved
 
| 0x72 || 0x8E || Reserved
 +
|}
 +
 +
= NfpData =
 +
This is "nn::nfp::NfpData". This is a 0x298-byte struct.
 +
 +
= BreakType =
 +
This is "nn::nfp::BreakType".
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! Value || Description
 +
|-
 +
| 0 || ?
 +
|-
 +
| 1 || ?
 +
|-
 +
| 2 || ?
 +
|}
 +
 +
Value 0 is internally used in some places, aside for [[#BreakTag]] commands called externally.
 +
 +
= WriteType =
 +
This is "nn::nfp::WriteType".
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! Value || Description
 +
|-
 +
| 0 || ?
 +
|-
 +
| 1 || ?
 
|}
 
|}
  
17

edits