Difference between revisions of "APT:PrepareToStartApplication"
Steveice10 (talk | contribs) m (→Request) |
|||
(8 intermediate revisions by 2 users not shown) | |||
Line 9: | Line 9: | ||
|- | |- | ||
| 1-4 | | 1-4 | ||
− | | | + | | [[Filesystem_services#ProgramInfo|Program Info]] |
|- | |- | ||
| 5 | | 5 | ||
− | | u8 | + | | u8 (changed to u32 with [[8.0.0-18]]), Flags (usually zero, when zero, NS writes a title-info struct with Program ID = ~0 and [[Filesystem_services#MediaType|MediaType]] = NAND to the [[FIRM]] parameters structure) |
|} | |} | ||
Line 27: | Line 27: | ||
| Result code | | Result code | ||
|} | |} | ||
+ | |||
+ | =Description= | ||
+ | When the input title-info programID is zero, NS will load the actual programID via [[AMNet:GetTitleIDList]]. After doing some checks with the programID, NS will then set a NS state flag to value 1, then set the programID for AppID 0x300(application) to the input programID(or the one from GetTitleIDList). A mediatype field in NS state is also set to the input mediatype value(other state fields are set at this point as well). | ||
+ | |||
+ | With [[8.0.0-18]], NS will set an u8 NS state field to value 1 when input flags bit8 is set. This is used with the PTMSYSM 0x040A0000 command code in NS, mentioned [[NCCH/Extended_Header|here]]. Note that the value of that NS state field is unreliable: as of the [[Home Menu]] version for system-version [[9.8.0-25]] the Home Menu code still writes to the flags field for this APT:PrepareToStartApplication command with an u8. Hence, the bit8 value that gets sent to NS is whatever was previously stored in the Home Menu thread-local-storage. |
Latest revision as of 04:37, 22 November 2015
Request[edit]
Index Word | Description |
---|---|
0 | Header code [0x00150140] |
1-4 | Program Info |
5 | u8 (changed to u32 with 8.0.0-18), Flags (usually zero, when zero, NS writes a title-info struct with Program ID = ~0 and MediaType = NAND to the FIRM parameters structure) |
Response[edit]
Index Word | Description |
---|---|
0 | Header code |
1 | Result code |
Description[edit]
When the input title-info programID is zero, NS will load the actual programID via AMNet:GetTitleIDList. After doing some checks with the programID, NS will then set a NS state flag to value 1, then set the programID for AppID 0x300(application) to the input programID(or the one from GetTitleIDList). A mediatype field in NS state is also set to the input mediatype value(other state fields are set at this point as well).
With 8.0.0-18, NS will set an u8 NS state field to value 1 when input flags bit8 is set. This is used with the PTMSYSM 0x040A0000 command code in NS, mentioned here. Note that the value of that NS state field is unreliable: as of the Home Menu version for system-version 9.8.0-25 the Home Menu code still writes to the flags field for this APT:PrepareToStartApplication command with an u8. Hence, the bit8 value that gets sent to NS is whatever was previously stored in the Home Menu thread-local-storage.