Difference between revisions of "APT:StoreSysMenuArg"

From 3dbrew
Jump to navigation Jump to search
(Created page with "=Request= {| class="wikitable" border="1" |- ! Index Word ! Description |- | 0 | Header code [0x00370042] |- | 1 | Size, 0x40 is used if this is >0x40. |- | 3 | <nowiki>(Size<<...")
 
m (Fixed wrong last 2 index words.)
 
(2 intermediate revisions by 2 users not shown)
Line 9: Line 9:
 
|-
 
|-
 
| 1
 
| 1
| Size, 0x40 is used if this is >0x40.
+
| Size (capped to 0x40)
 +
|-
 +
| 2
 +
| <nowiki>(Size << 14) | 2</nowiki>
 
|-
 
|-
 
| 3
 
| 3
| <nowiki>(Size<<14) | 2</nowiki>
+
| void*, Input Buffer
|-
 
| 4
 
| Input buf ptr
 
 
|}
 
|}
  
Line 30: Line 30:
 
| Result code
 
| Result code
 
|}
 
|}
 +
 +
=Structure=
 +
{| class="wikitable" border="1"
 +
|-
 +
!  Offset
 +
!  Size
 +
!  Description
 +
|-
 +
| 0x0
 +
| 0x4
 +
| Type?
 +
|-
 +
| 0x4
 +
| 0x4
 +
| Title Unique ID of the applet which set this SysMenuArg structure
 +
|-
 +
| 0x8
 +
| 0x8
 +
| u64, Program ID of the title to launch
 +
|-
 +
| 0x10
 +
| 0x4
 +
| ?
 +
|-
 +
| 0x14
 +
| 0x4
 +
| 1 + <bit value loaded from [[Config_Savegame|Cfg]] block 0xC0000>
 +
|}
 +
 +
The above is the structure of the 0x18-byte buffer used with Home Menu for StoreSysMenuArg/LoadSysMenuArg. The uniqueID is for a NAND title with tid-high 000400030, this title must be installed in NAND. Only certain uniqueIDs can be used here.
  
 
=Description=
 
=Description=
 
This copies the input buffer to [[FIRM|FIRM-launch params]]+0x500, in NS state.
 
This copies the input buffer to [[FIRM|FIRM-launch params]]+0x500, in NS state.

Latest revision as of 14:04, 17 September 2021

Request[edit]

Index Word Description
0 Header code [0x00370042]
1 Size (capped to 0x40)
2 (Size << 14) | 2
3 void*, Input Buffer

Response[edit]

Index Word Description
0 Header code
1 Result code

Structure[edit]

Offset Size Description
0x0 0x4 Type?
0x4 0x4 Title Unique ID of the applet which set this SysMenuArg structure
0x8 0x8 u64, Program ID of the title to launch
0x10 0x4 ?
0x14 0x4 1 + <bit value loaded from Cfg block 0xC0000>

The above is the structure of the 0x18-byte buffer used with Home Menu for StoreSysMenuArg/LoadSysMenuArg. The uniqueID is for a NAND title with tid-high 000400030, this title must be installed in NAND. Only certain uniqueIDs can be used here.

Description[edit]

This copies the input buffer to FIRM-launch params+0x500, in NS state.