Difference between revisions of "NSS:LaunchApplicationFIRM"

From 3dbrew
Jump to navigation Jump to search
(Created page with "=Request= {| class="wikitable" border="1" |- ! Index Word ! Description |- | 0 | Header code [0x0005....] |- | 1 | Application titleID lower word |- | 2 | Application titleID u...")
 
Line 9: Line 9:
 
|-
 
|-
 
| 1
 
| 1
| Application titleID lower word
+
| TitleID lower word
 
|-
 
|-
 
| 2
 
| 2
| Application titleID upper word
+
| TitleID upper word
 
|-
 
|-
 
| 3
 
| 3
Line 33: Line 33:
 
=Description=
 
=Description=
 
This triggers a FIRM [[PMApp:LaunchFIRMSetParams|launch]], where the title run by this FIRM is specified with the input titleID. The [[FIRM]] titleID-low is determined by the input application titleID. When the input TID is all-zero, the application is launched from the gamecard by the launched FIRM.
 
This triggers a FIRM [[PMApp:LaunchFIRMSetParams|launch]], where the title run by this FIRM is specified with the input titleID. The [[FIRM]] titleID-low is determined by the input application titleID. When the input TID is all-zero, the application is launched from the gamecard by the launched FIRM.
 +
 +
Flags bit0 is set when launching a [[FIRM]] which requires an application title-info structure to be specified via [[FIRM]] parameters. Otherwise when this FIRM doesn't use FIRM parameters, bit0 is clear. When flags bit1 is clear, NS will check certain [[Configuration Memory]] fields and will return an error if these checks fail. This [[Configuration Memory]] field checks seems to always pass on retail however.
 +
 +
When the input titleID is a TWL title, the TWL_FIRM titleID-low is used for launching FIRM, it's unknown how GBA VC titles are handled here. For CTR titles, the [[FIRM]] titleID-low is loaded from the input title's exheader [[PMApp:GetTitleProgramID|programID-low]]. Therefore the CTR title specified here must be a [[FIRM]] title.

Revision as of 21:58, 5 May 2013

Request

Index Word Description
0 Header code [0x0005....]
1 TitleID lower word
2 TitleID upper word
3 Flags

Response

Index Word Description
0 Header code
1 Result code

Description

This triggers a FIRM launch, where the title run by this FIRM is specified with the input titleID. The FIRM titleID-low is determined by the input application titleID. When the input TID is all-zero, the application is launched from the gamecard by the launched FIRM.

Flags bit0 is set when launching a FIRM which requires an application title-info structure to be specified via FIRM parameters. Otherwise when this FIRM doesn't use FIRM parameters, bit0 is clear. When flags bit1 is clear, NS will check certain Configuration Memory fields and will return an error if these checks fail. This Configuration Memory field checks seems to always pass on retail however.

When the input titleID is a TWL title, the TWL_FIRM titleID-low is used for launching FIRM, it's unknown how GBA VC titles are handled here. For CTR titles, the FIRM titleID-low is loaded from the input title's exheader programID-low. Therefore the CTR title specified here must be a FIRM title.