NS and APT Services: Difference between revisions
Steveice10 (talk | contribs)  | 
				m Add anchors  | 
				||
| Line 1: | Line 1: | ||
The NS ('''N'''intendo User Interface '''S'''hell) system module is the first module launched from a CTR-NAND title after the [[FIRM]] processes are loaded (also see [[Bootloader]]). This module is launched by the pm process, with the titleID loaded from NS state(hard-coded TID initialized during applet TID-array initialization). NS first launches [[ErrDisp]], then the menu. On retail the menu TID is loaded from NS state, while on dev/debug the menu TID is loaded from [[Config_Savegame|config]]. On dev-units if the menu TID block doesn't exist in [[Config_Savegame|config]], NS will attempt to launch the alternate menu instead. The TID of the launched menu is then written to [[Configuration Memory|ACTIVEMENUTID]]. NS uses [[PMApp:LaunchTitle|pm:app]] to launch titles.  | The NS ('''N'''intendo User Interface '''S'''hell) system module is the first module launched from a CTR-NAND title after the [[FIRM]] processes are loaded (also see [[Bootloader]]). This module is launched by the pm process, with the titleID loaded from NS state(hard-coded TID initialized during applet TID-array initialization). NS first launches [[ErrDisp]], then the menu. On retail the menu TID is loaded from NS state, while on dev/debug the menu TID is loaded from [[Config_Savegame|config]]. On dev-units if the menu TID block doesn't exist in [[Config_Savegame|config]], NS will attempt to launch the alternate menu instead. The TID of the launched menu is then written to [[Configuration Memory|ACTIVEMENUTID]]. NS uses [[PMApp:LaunchTitle|pm:app]] to launch titles.  | ||
| Line 21: | Line 20: | ||
NS will only execute this code-path when [[Configuration Memory|0x1FF80016]] is value zero, when KERNEL_VERSIONMAJOR is value 2, and when KERNEL_VERSIONMINOR is less than 35. Therefore, this code-path is only executed when the running NATIVE_FIRM version is prior to [[5.0.0-11]].  | NS will only execute this code-path when [[Configuration Memory|0x1FF80016]] is value zero, when KERNEL_VERSIONMAJOR is value 2, and when KERNEL_VERSIONMINOR is less than 35. Therefore, this code-path is only executed when the running NATIVE_FIRM version is prior to [[5.0.0-11]].  | ||
{{Anchor|NSS}}{{Anchor|ns:s}}  | |||
= NS Service "ns:s" =  | = NS Service "ns:s" =  | ||
{| class="wikitable" border="1"  | {| class="wikitable" border="1"  | ||
| Line 119: | Line 119: | ||
The maximum sessions that can be used with this service is two, therefore only two processes can use this service at the same time.  | The maximum sessions that can be used with this service is two, therefore only two processes can use this service at the same time.  | ||
{{Anchor|NSP}}{{Anchor|ns:p}}  | |||
=NS Power Service "ns:p"=  | =NS Power Service "ns:p"=  | ||
{| class="wikitable" border="1"  | {| class="wikitable" border="1"  | ||
| Line 134: | Line 135: | ||
This was added with [[3.0.0-5]]. The PTM sysmodule connects to this service, and syncs whenever [[PTM|ptm:s GetShellState()]] changes.  | This was added with [[3.0.0-5]]. The PTM sysmodule connects to this service, and syncs whenever [[PTM|ptm:s GetShellState()]] changes.  | ||
{{Anchor|NSC}}{{Anchor|ns:c}}  | |||
=NS Service "ns:c"=  | =NS Service "ns:c"=  | ||
{| class="wikitable" border="1"  | {| class="wikitable" border="1"  | ||
| Line 149: | Line 151: | ||
This was added with [[5.0.0-11]]. It is used by the Instruction Manual applet, and is likely related to triggering SD/Game Card removal errors when ejecting the media the manual is stored on.  | This was added with [[5.0.0-11]]. It is used by the Instruction Manual applet, and is likely related to triggering SD/Game Card removal errors when ejecting the media the manual is stored on.  | ||
{{Anchor|APT}}{{Anchor|APTU}}{{Anchor|APT:U}}{{Anchor|APTS}}{{Anchor|APT:S}}  | |||
=APT Services=  | =APT Services=  | ||
{| class="wikitable" border="1"  | {| class="wikitable" border="1"  | ||
| Line 1,071: | Line 1,074: | ||
This is [[NSS:SetWirelessRebootInfo|setup]] by the dlplay system-application, before launching the DLP-child which can then use [[APT:GetWirelessRebootInfo]]. The MAC address and passphrase is used for connecting to the host by the DLP-child. See also [[DLP_Services|here]].  | This is [[NSS:SetWirelessRebootInfo|setup]] by the dlplay system-application, before launching the DLP-child which can then use [[APT:GetWirelessRebootInfo]]. The MAC address and passphrase is used for connecting to the host by the DLP-child. See also [[DLP_Services|here]].  | ||
{{Anchor|APTA}}{{Anchor|APT:A}}  | |||
="APT:A" Service=  | ="APT:A" Service=  | ||
This was added with [[7.0.0-13|7.0.0-X]]. Official apps built with the CTRSDK for system-version >=[[7.0.0-13|7.0.0-X]] normally use the "APT:A" service instead of "APT:U". Those processes also have "APT:A" instead of "APT:U" in the service-access-control. Unlike APT:U, APT:A can call [[APT:GetAppletInfo]] with applet ID 0x300.  | This was added with [[7.0.0-13|7.0.0-X]]. Official apps built with the CTRSDK for system-version >=[[7.0.0-13|7.0.0-X]] normally use the "APT:A" service instead of "APT:U". Those processes also have "APT:A" instead of "APT:U" in the service-access-control. Unlike APT:U, APT:A can call [[APT:GetAppletInfo]] with applet ID 0x300.  | ||
| Line 1,211: | Line 1,215: | ||
Note that at some point the total AppID entry count was changed from 28 to 27.  | Note that at some point the total AppID entry count was changed from 28 to 27.  | ||
[[Category:Services]]  | |||