Difference between revisions of "Cabinet Applet"

From Nintendo Switch Brew
Jump to navigation Jump to search
Line 31: Line 31:
 
! Offset || Size || Description
 
! Offset || Size || Description
 
|-
 
|-
| 0x0 || 0x1 ||  
+
| 0x0 || 0x1 || Left at value 0 by sdknso.
 
|-
 
|-
| 0x1 || 0x1 ||  
+
| 0x1 || 0x1 || Type
 
|-
 
|-
 
| 0x2 || 0x1 || Flags
 
| 0x2 || 0x1 || Flags
Line 47: Line 47:
 
| 0x164 || 0x20 || [[#StartParamForAmiiboSettings]]+0x8
 
| 0x164 || 0x20 || [[#StartParamForAmiiboSettings]]+0x8
 
|-
 
|-
| 0x184 || 0x24 ||  
+
| 0x184 || 0x24 || Left at all-zero by sdknso.
 
|}
 
|}
 +
 +
Types:
 +
* 0 <code>StartNicknameAndOwnerSettings</code>
 +
* 1 <code>StartGameDataEraser</code>
 +
* 2 <code>StartRestorer</code>
 +
* 3 <code>StartFormatter</code>
  
 
== ReturnValueForAmiiboSettings ==
 
== ReturnValueForAmiiboSettings ==

Revision as of 00:59, 7 June 2020

This is the cabinet (amiibo) applet. See AM_services#Library_Applets.

Library Applet Versions

System Version Value
[1.0.0+] 0x1

AmiiboSettingsStartParam

This is "nn::nfp::AmiiboSettingsStartParam".

Offset Size Description
0x0 0x8
0x8 0x20
0x28 0x1

StartParamForAmiiboSettings

This is "nn::nfp::StartParamForAmiiboSettings". This struct is 0x1A8-bytes.

Offset Size Description
0x0 0x1 Left at value 0 by sdknso.
0x1 0x1 Type
0x2 0x1 Flags
0x3 0x1 #AmiiboSettingsStartParam+0x28
0x4 0x8 #AmiiboSettingsStartParam+0x0
0xC 0x58 nn::nfp::TagInfo, only enabled when flags bit1 is set.
0x64 0x100 nn::nfp::RegisterInfo, only enabled when flags bit2 is set.
0x164 0x20 #StartParamForAmiiboSettings+0x8
0x184 0x24 Left at all-zero by sdknso.

Types:

  • 0 StartNicknameAndOwnerSettings
  • 1 StartGameDataEraser
  • 2 StartRestorer
  • 3 StartFormatter

ReturnValueForAmiiboSettings

This is "nn::nfp::ReturnValueForAmiiboSettings". This struct is 0x188-bytes.

Offset Size Description
0x0 0x1 Flags. 0 = error, non-zero = success.
0x1 0x3 Padding
0x4 0x8 nn::nfp::DeviceHandle
0xC 0x58 nn::nfp::TagInfo
0x64 0x100 nn::nfp::RegisterInfo, only available when flags bit2 is set.
0x164 0x24

Usage

User-processes should push a common arguments struct as well as the #StartParamForAmiiboSettings struct. Once the applet finishes running successfully, it will return an output storage containing a #ReturnValueForAmiiboSettings. sdknso doesn't validate the storage size, an error is thrown if #ReturnValueForAmiiboSettings+0x0 is 0.