NS and APT Services: Difference between revisions
m Add anchors |
|||
(52 intermediate revisions by 11 users not shown) | |||
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. 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. | |||
NS will not trigger the [[ErrDisp|fatal-error]] screen when launching the regular/alternate menu fails. | NS will not trigger the [[ErrDisp|fatal-error]] screen when launching the regular/alternate menu fails. | ||
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 36: | Line 36: | ||
| [[NSS:LaunchTitle|LaunchTitle]] | | [[NSS:LaunchTitle|LaunchTitle]] | ||
|- | |- | ||
| | | 0x00030000 | ||
| [[1.0.0-0]] - [[2.0.0-2]] | | [[1.0.0-0]] - [[2.0.0-2]] | ||
| | | [[NSS:TerminateApplication|TerminateApplication]] | ||
|- | |- | ||
| | | 0x00040040 | ||
| [[1.0.0-0]] - [[2.0.0-2]] | | [[1.0.0-0]] - [[2.0.0-2]] | ||
| | | [[NSS:TerminateProcess|TerminateProcess]] | ||
|- | |- | ||
| 0x000500C0 | | 0x000500C0 | ||
Line 50: | Line 50: | ||
| 0x00060042 | | 0x00060042 | ||
| [[1.0.0-0]] - [[2.0.0-2]] | | [[1.0.0-0]] - [[2.0.0-2]] | ||
| [[NSS: | | [[NSS:SetWirelessRebootInfo|SetWirelessRebootInfo]] | ||
|- | |- | ||
| 0x00070042 | | 0x00070042 | ||
Line 58: | Line 58: | ||
| 0x00080000 | | 0x00080000 | ||
| [[1.0.0-0]] - [[2.0.0-2]] | | [[1.0.0-0]] - [[2.0.0-2]] | ||
| | | [[NSS:CardUpdateShutdown|CardUpdateShutdown]] | ||
|- | |- | ||
| | | 0x00090000 | ||
| [[1.0.0-0]] - [[2.0.0-2]] | | [[1.0.0-0]] - [[2.0.0-2]] | ||
| Gamecard system update related. | | Gamecard system update related. | ||
|- | |- | ||
| | | 0x000A0000 | ||
| [[1.0.0-0]] - [[2.0.0-2]] | | [[1.0.0-0]] - [[2.0.0-2]] | ||
| Gamecard system update related. | | Gamecard system update related. | ||
|- | |- | ||
| | | 0x000B0000 | ||
| [[1.0.0-0]] - [[2.0.0-2]] | | [[1.0.0-0]] - [[2.0.0-2]] | ||
| Gamecard system update related. | | Gamecard system update related. | ||
|- | |- | ||
| | | 0x000C0000 | ||
| [[1.0.0-0]] - [[2.0.0-2]] | | [[1.0.0-0]] - [[2.0.0-2]] | ||
| Gamecard system update related. | | Gamecard system update related. | ||
Line 78: | Line 78: | ||
| 0x000D0140 | | 0x000D0140 | ||
| [[1.0.0-0]] - [[2.0.0-2]] | | [[1.0.0-0]] - [[2.0.0-2]] | ||
| [[NSS: | | [[NSS:SetTWLBannerHMAC|SetTWLBannerHMAC]] | ||
|- | |- | ||
| | | 0x000E0000 | ||
| [[1.0.0-0]] - [[2.0.0-2]] | | [[1.0.0-0]] - [[2.0.0-2]] | ||
| | | [[NSS:ShutdownAsync|ShutdownAsync]] | ||
|- | |- | ||
| 0x000F0000 | | 0x000F0000 | ||
Line 92: | Line 92: | ||
| [[NSS:RebootSystem|RebootSystem]] | | [[NSS:RebootSystem|RebootSystem]] | ||
|- | |- | ||
| | | 0x00110100 | ||
| [[1.0.0-0]] - [[2.0.0-2]] | | [[1.0.0-0]] - [[2.0.0-2]] | ||
| [[NSS: | | [[NSS:TerminateTitle|TerminateTitle]] | ||
|- | |- | ||
| | | 0x001200C0 | ||
| ? | | ? | ||
| | | [[NSS:SetApplicationCpuTimeLimit|SetApplicationCpuTimeLimit]] | ||
|- | |- | ||
| | | 0x00130000 | ||
| ? | | ? | ||
| ? | | ? | ||
|- | |- | ||
| | | 0x00140042 | ||
| ? | | ? | ||
| ? | | ? | ||
|- | |- | ||
| | | 0x00150140 | ||
| ? | | ? | ||
| [[NSS:LaunchApplication|LaunchApplication]] | |||
|- | |- | ||
| 0x00160000 | | 0x00160000 | ||
| [[8.0.0-18]] | | [[8.0.0-18]] | ||
| | | [[NSS:RebootSystemClean|RebootSystemClean]] | ||
|} | |} | ||
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. | ||
=NS Service "ns:p"= | {{Anchor|NSP}}{{Anchor|ns:p}} | ||
=NS Power Service "ns:p"= | |||
{| class="wikitable" border="1" | |||
|- | |||
! Command Header | |||
! Description | |||
|- | |||
| 0x00010040 | |||
| [[NSP:RebootSystem|RebootSystem]] | |||
|- | |||
| 0x00020000 | |||
| [[NSS:ShutdownAsync|ShutdownAsync]] | |||
|} | |||
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" | |||
|- | |||
! Command Header | |||
! Description | |||
|- | |||
| 0x00010100 | |||
| [[NSC:LockSpecialContent|LockSpecialContent]] | |||
|- | |||
| 0x00020100 | |||
| [[NSC:UnlockSpecialContent|UnlockSpecialContent]] | |||
|} | |||
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 131: | Line 158: | ||
! Available since system version | ! Available since system version | ||
! Accessible with APT:U | ! Accessible with APT:U | ||
! Accessible with APT:A | |||
! Description | ! Description | ||
|- | |- | ||
Line 136: | Line 164: | ||
| | | | ||
| Yes | | Yes | ||
| GetLockHandle | | Yes | ||
| [[APT:GetLockHandle|GetLockHandle]] | |||
|- | |- | ||
| 0x00020080 | | 0x00020080 | ||
| | | | ||
| See [[ | | See [[APT:Initialize|here]]. | ||
| [[ | | See [[APT:Initialize|here]]. | ||
| [[APT:Initialize|Initialize]] | |||
|- | |- | ||
| 0x00030040 | | 0x00030040 | ||
| | | | ||
| Yes | | Yes | ||
| Enable | | Yes | ||
| [[APT:Enable|Enable]] | |||
|- | |- | ||
| 0x00040040 | | 0x00040040 | ||
| | | | ||
| Yes | | Yes | ||
| Finalize | | Yes | ||
| [[APT:Finalize|Finalize]] | |||
|- | |- | ||
| 0x00050040 | | 0x00050040 | ||
| | | | ||
| Yes | |||
| Yes | | Yes | ||
| [[APT:GetAppletManInfo|GetAppletManInfo]] | | [[APT:GetAppletManInfo|GetAppletManInfo]] | ||
Line 160: | Line 193: | ||
| 0x00060040 | | 0x00060040 | ||
| | | | ||
| Yes (AppID != 0x300) | |||
| Yes | | Yes | ||
| [[APT:GetAppletInfo|GetAppletInfo]] | | [[APT:GetAppletInfo|GetAppletInfo]] | ||
Line 166: | Line 200: | ||
| | | | ||
| Yes | | Yes | ||
| GetLastSignaledAppletId | | Yes | ||
| [[APT:GetLastSignaledAppletId|GetLastSignaledAppletId]] | |||
|- | |- | ||
| 0x00080000 | | 0x00080000 | ||
| | | | ||
| Yes | | Yes | ||
| CountRegisteredApplet | | Yes | ||
| [[APT:CountRegisteredApplet|CountRegisteredApplet]] | |||
|- | |- | ||
| 0x00090040 | | 0x00090040 | ||
| | | | ||
| Yes | |||
| Yes | | Yes | ||
| [[APT:IsRegistered|IsRegistered]] | | [[APT:IsRegistered|IsRegistered]] | ||
Line 181: | Line 218: | ||
| | | | ||
| Yes | | Yes | ||
| GetAttribute | | Yes | ||
| [[APT:GetAttribute|GetAttribute]] | |||
|- | |- | ||
| 0x000B0040 | | 0x000B0040 | ||
| | | | ||
| Yes | | Yes | ||
| [[ | | Yes | ||
| [[APT:InquireNotification|InquireNotification]] | |||
|- | |- | ||
| 0x000C0104 | | 0x000C0104 | ||
| | | | ||
| Yes | |||
| Yes | | Yes | ||
| [[APT:SendParameter|SendParameter]] | | [[APT:SendParameter|SendParameter]] | ||
Line 195: | Line 235: | ||
| 0x000D0080 | | 0x000D0080 | ||
| | | | ||
| Yes | |||
| Yes | | Yes | ||
| [[APT:ReceiveParameter|ReceiveParameter]] | | [[APT:ReceiveParameter|ReceiveParameter]] | ||
Line 200: | Line 241: | ||
| 0x000E0080 | | 0x000E0080 | ||
| | | | ||
| Yes | |||
| Yes | | Yes | ||
| [[APT:GlanceParameter|GlanceParameter]] | | [[APT:GlanceParameter|GlanceParameter]] | ||
Line 205: | Line 247: | ||
| 0x000F0100 | | 0x000F0100 | ||
| | | | ||
| Yes | |||
| Yes | | Yes | ||
| [[APT:CancelParameter|CancelParameter]] | | [[APT:CancelParameter|CancelParameter]] | ||
Line 211: | Line 254: | ||
| | | | ||
| Yes | | Yes | ||
| DebugFunc | | Yes | ||
| [[APT:DebugFunc|DebugFunc]] | |||
|- | |- | ||
| 0x001100C0 | | 0x001100C0 | ||
| | | | ||
| Yes | |||
| Yes | | Yes | ||
| [[APT:MapProgramIdForDebug|MapProgramIdForDebug]] | | [[APT:MapProgramIdForDebug|MapProgramIdForDebug]] | ||
Line 221: | Line 266: | ||
| | | | ||
| Yes | | Yes | ||
| SetHomeMenuAppletIdForDebug | | Yes | ||
| [[APT:SetHomeMenuAppletIdForDebug|SetHomeMenuAppletIdForDebug]] | |||
|- | |- | ||
| 0x00130000 | | 0x00130000 | ||
| | | | ||
| Yes | | Yes | ||
| GetPreparationState | | Yes | ||
| [[APT:GetPreparationState|GetPreparationState]] | |||
|- | |- | ||
| 0x00140040 | | 0x00140040 | ||
| | | | ||
| Yes | | Yes | ||
| SetPreparationState | | Yes | ||
| [[APT:SetPreparationState|SetPreparationState]] | |||
|- | |- | ||
| 0x00150140 | | 0x00150140 | ||
| | | | ||
| No | |||
| No | | No | ||
| [[APT:PrepareToStartApplication|PrepareToStartApplication]] | | [[APT:PrepareToStartApplication|PrepareToStartApplication]] | ||
Line 241: | Line 290: | ||
| | | | ||
| Yes | | Yes | ||
| PreloadLibraryApplet | | Yes | ||
| [[APT:PreloadLibraryApplet|PreloadLibraryApplet]] | |||
|- | |- | ||
| 0x00170040 | | 0x00170040 | ||
| | | | ||
| Yes | | Yes | ||
| FinishPreloadingLibraryApplet | | Yes | ||
| [[APT:FinishPreloadingLibraryApplet|FinishPreloadingLibraryApplet]] | |||
|- | |- | ||
| 0x00180040 | | 0x00180040 | ||
| | | | ||
| Yes | | Yes | ||
| PrepareToStartLibraryApplet | | Yes | ||
| [[APT:PrepareToStartLibraryApplet|PrepareToStartLibraryApplet]] | |||
|- | |- | ||
| 0x00190040 | | 0x00190040 | ||
| | | | ||
| Yes | |||
| Yes | | Yes | ||
| [[APT:PrepareToStartSystemApplet|PrepareToStartSystemApplet]] | | [[APT:PrepareToStartSystemApplet|PrepareToStartSystemApplet]] | ||
Line 261: | Line 314: | ||
| | | | ||
| Yes | | Yes | ||
| PrepareToStartNewestHomeMenu | | Yes | ||
| [[APT:PrepareToStartNewestHomeMenu|PrepareToStartNewestHomeMenu]] | |||
|- | |- | ||
| 0x001B00C4 | | 0x001B00C4 | ||
| | | | ||
| Yes | |||
| Yes | | Yes | ||
| [[APT:StartApplication|StartApplication]] | | [[APT:StartApplication|StartApplication]] | ||
Line 271: | Line 326: | ||
| | | | ||
| Yes | | Yes | ||
| WakeupApplication | | Yes | ||
| [[APT:WakeupApplication|WakeupApplication]] | |||
|- | |- | ||
| 0x001D0000 | | 0x001D0000 | ||
| | | | ||
| Yes | | Yes | ||
| CancelApplication | | Yes | ||
| [[APT:CancelApplication|CancelApplication]] | |||
|- | |- | ||
| 0x001E0084 | | 0x001E0084 | ||
| | | | ||
| Yes | | Yes | ||
| StartLibraryApplet | | Yes | ||
| [[APT:StartLibraryApplet|StartLibraryApplet]] | |||
|- | |- | ||
| 0x001F0084 | | 0x001F0084 | ||
| | | | ||
| Yes | |||
| Yes | | Yes | ||
| [[APT:StartSystemApplet|StartSystemApplet]] | | [[APT:StartSystemApplet|StartSystemApplet]] | ||
Line 290: | Line 349: | ||
| 0x00200044 | | 0x00200044 | ||
| | | | ||
| Yes | |||
| Yes | | Yes | ||
| [[APT:StartNewestHomeMenu|StartNewestHomeMenu]] | | [[APT:StartNewestHomeMenu|StartNewestHomeMenu]] | ||
Line 296: | Line 356: | ||
| | | | ||
| No | | No | ||
| OrderToCloseApplication | | No | ||
| [[APT:OrderToCloseApplication|OrderToCloseApplication]] | |||
|- | |- | ||
| 0x00220040 | | 0x00220040 | ||
| | | | ||
| Yes | | Yes | ||
| PrepareToCloseApplication | | Yes | ||
| [[APT:PrepareToCloseApplication|PrepareToCloseApplication]] | |||
|- | |- | ||
| 0x00230040 | | 0x00230040 | ||
| | | | ||
| Yes | | Yes | ||
| PrepareToJumpToApplication | | Yes | ||
| [[APT:PrepareToJumpToApplication|PrepareToJumpToApplication]] | |||
|- | |- | ||
| 0x00240044 | | 0x00240044 | ||
| | | | ||
| Yes | | Yes | ||
| JumpToApplication | | Yes | ||
| [[APT:JumpToApplication|JumpToApplication]] | |||
|- | |- | ||
| 0x002500C0 | | 0x002500C0 | ||
| | | | ||
| Yes | | Yes | ||
| PrepareToCloseLibraryApplet | | Yes | ||
| [[APT:PrepareToCloseLibraryApplet|PrepareToCloseLibraryApplet]] | |||
|- | |- | ||
| 0x00260000 | | 0x00260000 | ||
| | | | ||
| Yes | | Yes | ||
| PrepareToCloseSystemApplet | | Yes | ||
| [[APT:PrepareToCloseSystemApplet|PrepareToCloseSystemApplet]] | |||
|- | |- | ||
| 0x00270044 | | 0x00270044 | ||
| | | | ||
| Yes | | Yes | ||
| CloseApplication | | Yes | ||
| [[APT:CloseApplication|CloseApplication]] | |||
|- | |- | ||
| 0x00280044 | | 0x00280044 | ||
| | | | ||
| Yes | | Yes | ||
| CloseLibraryApplet | | Yes | ||
| [[APT:CloseLibraryApplet|CloseLibraryApplet]] | |||
|- | |- | ||
| 0x00290044 | | 0x00290044 | ||
| | | | ||
| Yes | | Yes | ||
| CloseSystemApplet | | Yes | ||
| [[APT:CloseSystemApplet|CloseSystemApplet]] | |||
|- | |- | ||
| 0x002A0000 | | 0x002A0000 | ||
| | | | ||
| Yes | | Yes | ||
| OrderToCloseSystemApplet | | Yes | ||
| [[APT:OrderToCloseSystemApplet|OrderToCloseSystemApplet]] | |||
|- | |- | ||
| 0x002B0000 | | 0x002B0000 | ||
| | | | ||
| Yes | | Yes | ||
| PrepareToJumpToHomeMenu | | Yes | ||
| [[APT:PrepareToJumpToHomeMenu|PrepareToJumpToHomeMenu]] | |||
|- | |- | ||
| 0x002C0044 | | 0x002C0044 | ||
| | | | ||
| Yes | | Yes | ||
| JumpToHomeMenu | | Yes | ||
| [[APT:JumpToHomeMenu|JumpToHomeMenu]] | |||
|- | |- | ||
| 0x002D0000 | | 0x002D0000 | ||
| | | | ||
| Yes | | Yes | ||
| PrepareToLeaveHomeMenu | | Yes | ||
| [[APT:PrepareToLeaveHomeMenu|PrepareToLeaveHomeMenu]] | |||
|- | |- | ||
| 0x002E0044 | | 0x002E0044 | ||
| | | | ||
| Yes | | Yes | ||
| LeaveHomeMenu | | Yes | ||
| [[APT:LeaveHomeMenu|LeaveHomeMenu]] | |||
|- | |- | ||
| 0x002F0040 | | 0x002F0040 | ||
| | | | ||
| Yes | | Yes | ||
| PrepareToLeaveResidentApplet | | Yes | ||
| [[APT:PrepareToLeaveResidentApplet|PrepareToLeaveResidentApplet]] | |||
|- | |- | ||
| 0x00300044 | | 0x00300044 | ||
| | | | ||
| Yes | | Yes | ||
| LeaveResidentApplet | | Yes | ||
| [[APT:LeaveResidentApplet|LeaveResidentApplet]] | |||
|- | |- | ||
| 0x00310100 | | 0x00310100 | ||
| | | | ||
| Yes | |||
| Yes | | Yes | ||
| [[APT:PrepareToDoApplicationJump|PrepareToDoApplicationJump]] | | [[APT:PrepareToDoApplicationJump|PrepareToDoApplicationJump]] | ||
Line 380: | Line 457: | ||
| 0x00320084 | | 0x00320084 | ||
| | | | ||
| Yes | |||
| Yes | | Yes | ||
| [[APT:DoApplicationJump|DoApplicationJump]] | | [[APT:DoApplicationJump|DoApplicationJump]] | ||
Line 386: | Line 464: | ||
| | | | ||
| Yes | | Yes | ||
| GetProgramIdOnApplicationJump | | Yes | ||
| [[APT:GetProgramIdOnApplicationJump|GetProgramIdOnApplicationJump]] | |||
|- | |- | ||
| 0x00340084 | | 0x00340084 | ||
| | | | ||
| Yes | |||
| Yes | | Yes | ||
| [[APT:SendDeliverArg|SendDeliverArg]] | | [[APT:SendDeliverArg|SendDeliverArg]] | ||
Line 396: | Line 476: | ||
| | | | ||
| Yes | | Yes | ||
| ReceiveDeliverArg | | Yes | ||
| [[APT:ReceiveDeliverArg|ReceiveDeliverArg]] | |||
|- | |- | ||
| 0x00360040 | | 0x00360040 | ||
| | | | ||
| Yes | |||
| Yes | | Yes | ||
| [[APT:LoadSysMenuArg|LoadSysMenuArg]] | | [[APT:LoadSysMenuArg|LoadSysMenuArg]] | ||
Line 405: | Line 487: | ||
| 0x00370042 | | 0x00370042 | ||
| | | | ||
| Yes | |||
| Yes | | Yes | ||
| [[APT:StoreSysMenuArg|StoreSysMenuArg]] | | [[APT:StoreSysMenuArg|StoreSysMenuArg]] | ||
Line 411: | Line 494: | ||
| | | | ||
| Yes | | Yes | ||
| PreloadResidentApplet | | Yes | ||
| [[APT:PreloadResidentApplet|PreloadResidentApplet]] | |||
|- | |- | ||
| 0x00390040 | | 0x00390040 | ||
| | | | ||
| Yes | | Yes | ||
| PrepareToStartResidentApplet | | Yes | ||
| [[APT:PrepareToStartResidentApplet|PrepareToStartResidentApplet]] | |||
|- | |- | ||
| 0x003A0044 | | 0x003A0044 | ||
| | | | ||
| Yes | | Yes | ||
| StartResidentApplet | | Yes | ||
| [[APT:StartResidentApplet|StartResidentApplet]] | |||
|- | |- | ||
| 0x003B0040 | | 0x003B0040 | ||
| | | | ||
| Yes | | Yes | ||
| CancelLibraryApplet | | Yes | ||
| [[APT:CancelLibraryApplet|CancelLibraryApplet]] | |||
|- | |- | ||
| 0x003C0042 | | 0x003C0042 | ||
| | | | ||
| Yes | | Yes | ||
| SendDspSleep | | Yes | ||
| [[APT:SendDspSleep|SendDspSleep]] | |||
|- | |- | ||
| 0x003D0042 | | 0x003D0042 | ||
| | | | ||
| Yes | | Yes | ||
| SendDspWakeUp | | Yes | ||
| [[APT:SendDspWakeUp|SendDspWakeUp]] | |||
|- | |- | ||
| 0x003E0080 | | 0x003E0080 | ||
| | | | ||
| Yes | | Yes | ||
| ReplySleepQuery | | Yes | ||
| [[APT:ReplySleepQuery|ReplySleepQuery]] | |||
|- | |- | ||
| 0x003F0040 | | 0x003F0040 | ||
| | | | ||
| Yes | | Yes | ||
| ReplySleepNotificationComplete | | Yes | ||
| [[APT:ReplySleepNotificationComplete|ReplySleepNotificationComplete]] | |||
|- | |- | ||
| 0x00400042 | | 0x00400042 | ||
| | | | ||
| Yes | |||
| Yes | | Yes | ||
| [[APT:SendCaptureBufferInfo|SendCaptureBufferInfo]] | | [[APT:SendCaptureBufferInfo|SendCaptureBufferInfo]] | ||
Line 455: | Line 547: | ||
| 0x00410040 | | 0x00410040 | ||
| | | | ||
| Yes | |||
| Yes | | Yes | ||
| [[APT:ReceiveCaptureBufferInfo|ReceiveCaptureBufferInfo]] | | [[APT:ReceiveCaptureBufferInfo|ReceiveCaptureBufferInfo]] | ||
Line 461: | Line 554: | ||
| | | | ||
| Yes | | Yes | ||
| SleepSystem | | Yes | ||
| [[APT:SleepSystem|SleepSystem]] | |||
|- | |- | ||
| 0x00430040 | | 0x00430040 | ||
| | | | ||
| Yes | | Yes | ||
| NotifyToWait | | Yes | ||
| [[APT:NotifyToWait|NotifyToWait]] | |||
|- | |- | ||
| 0x00440000 | | 0x00440000 | ||
| | | | ||
| Yes | | Yes | ||
| GetSharedFont | | Yes | ||
| [[APT:GetSharedFont|GetSharedFont]] | |||
|- | |- | ||
| 0x00450040 | | 0x00450040 | ||
| | | | ||
| Yes | | Yes | ||
| GetWirelessRebootInfo | | Yes | ||
| [[APT:GetWirelessRebootInfo|GetWirelessRebootInfo]] | |||
|- | |- | ||
| 0x00460104 | | 0x00460104 | ||
| | | | ||
| Yes | |||
| Yes | | Yes | ||
| [[APT:Wrap|Wrap]] | | [[APT:Wrap|Wrap]] | ||
Line 485: | Line 583: | ||
| 0x00470104 | | 0x00470104 | ||
| | | | ||
| Yes | |||
| Yes | | Yes | ||
| [[APT:Unwrap|Unwrap]] | | [[APT:Unwrap|Unwrap]] | ||
Line 490: | Line 589: | ||
| 0x00480100 | | 0x00480100 | ||
| | | | ||
| No | |||
| No | | No | ||
| [[APT:GetProgramInfo|GetProgramInfo]] | | [[APT:GetProgramInfo|GetProgramInfo]] | ||
Line 495: | Line 595: | ||
| 0x00490180 | | 0x00490180 | ||
| | | | ||
| No | |||
| No | | No | ||
| [[APT:Reboot|Reboot]] | | [[APT:Reboot|Reboot]] | ||
Line 500: | Line 601: | ||
| 0x004A0040 | | 0x004A0040 | ||
| | | | ||
| Yes | |||
| Yes | | Yes | ||
| [[APT:GetCaptureInfo|GetCaptureInfo]] | | [[APT:GetCaptureInfo|GetCaptureInfo]] | ||
Line 505: | Line 607: | ||
| 0x004B00C2 | | 0x004B00C2 | ||
| | | | ||
| Yes | |||
| Yes | | Yes | ||
| [[APT:AppletUtility|AppletUtility]] | | [[APT:AppletUtility|AppletUtility]] | ||
Line 511: | Line 614: | ||
| | | | ||
| Yes | | Yes | ||
| SetFatalErrDispMode | | Yes | ||
| [[APT:SetFatalErrDispMode|SetFatalErrDispMode]] | |||
|- | |- | ||
| 0x004D0080 | | 0x004D0080 | ||
| | | | ||
| Yes | |||
| Yes | | Yes | ||
| [[APT:GetAppletProgramInfo|GetAppletProgramInfo]] | | [[APT:GetAppletProgramInfo|GetAppletProgramInfo]] | ||
Line 521: | Line 626: | ||
| | | | ||
| Yes | | Yes | ||
| HardwareResetAsync | | Yes | ||
| [[APT:HardwareResetAsync|HardwareResetAsync]] | |||
|- | |- | ||
| 0x004F0080 | | 0x004F0080 | ||
| [[2.2.0-X]] | | [[2.2.0-X]] | ||
| Yes | |||
| Yes | | Yes | ||
| [[APT:SetApplicationCpuTimeLimit|SetApplicationCpuTimeLimit]] | | [[APT:SetApplicationCpuTimeLimit|SetApplicationCpuTimeLimit]] | ||
Line 530: | Line 637: | ||
| 0x00500040 | | 0x00500040 | ||
| [[2.2.0-X]] | | [[2.2.0-X]] | ||
| Yes | |||
| Yes | | Yes | ||
| [[APT:GetApplicationCpuTimeLimit|GetApplicationCpuTimeLimit]] | | [[APT:GetApplicationCpuTimeLimit|GetApplicationCpuTimeLimit]] | ||
|- | |- | ||
| | | 0x00510080 | ||
| [[3.0.0-5]] | | [[3.0.0-5]] | ||
| | | Yes | ||
| | | Yes | ||
| [[APT:GetStartupArgument|GetStartupArgument]] | |||
|- | |- | ||
| 0x00520104 | | 0x00520104 | ||
| [[4.0.0-7]] | | [[4.0.0-7]] | ||
| | | Yes | ||
| Wrap1 | | Yes | ||
| [[APT:Wrap1|Wrap1]] | |||
|- | |- | ||
| 0x00530104 | | 0x00530104 | ||
| [[4.0.0-7]] | | [[4.0.0-7]] | ||
| | | Yes | ||
| Unwrap1 | | Yes | ||
| [[APT:Unwrap1|Unwrap1]] | |||
|- | |- | ||
| 0x00540040 | | 0x00540040 | ||
| [[5.0.0-11]] | | [[5.0.0-11]] | ||
| | | Yes | ||
| | | Yes | ||
| Takes an unknown parameter, outputs a result code and media type. | |||
|- | |- | ||
| 0x00550040 | | 0x00550040 | ||
| [[7.0.0-13]] | | [[7.0.0-13]] | ||
| Yes | | Yes | ||
| | | Yes | ||
| [[APT:SetScreenCapturePostPermission|SetScreenCapturePostPermission]] | |||
|- | |- | ||
| 0x00560000 | | 0x00560000 | ||
| [[7.0.0-13]] | | [[7.0.0-13]] | ||
| Yes | | Yes | ||
| | | Yes | ||
| [[APT:GetScreenCapturePostPermission|GetScreenCapturePostPermission]] | |||
|- | |- | ||
| 0x00570044 | | 0x00570044 | ||
| [[7.0.0-13]] | | [[7.0.0-13]] | ||
| | | Yes | ||
| WakeupApplication2 | | Yes | ||
| [[APT:WakeupApplication2|WakeupApplication2]] | |||
|- | |- | ||
| 0x00580002 | | 0x00580002 | ||
| [[7.0.0-13]] | | [[7.0.0-13]] | ||
| | | Yes | ||
| | | Yes | ||
| [[APT:GetProgramID|GetProgramID]] | |||
|- | |- | ||
| 0x01010000 | | 0x01010000 | ||
| [[8.0.0-18]] | | [[8.0.0-18]] | ||
| Yes | | Yes | ||
| | | Yes | ||
| [[APT:GetTargetPlatform|GetTargetPlatform]] | |||
|- | |- | ||
| 0x01020000 | | 0x01020000 | ||
| [[8.0.0-18]] | | [[8.0.0-18]] | ||
| Yes | | Yes | ||
| | | Yes | ||
| [[APT:CheckNew3DS|CheckNew3DS]] | |||
|- | |- | ||
| 0x01030000 | | 0x01030000 | ||
| [[8.0.0-18]] | | [[8.0.0-18]] | ||
| Yes | | Yes | ||
| | | Yes | ||
| [[APT:GetApplicationRunningMode|GetApplicationRunningMode]] | |||
|- | |- | ||
| 0x01040000 | | 0x01040000 | ||
| [[8.0.0-18]] | | [[8.0.0-18]] | ||
| | | Yes | ||
| | | Yes | ||
| [[APT:IsStandardMemoryLayout|IsStandardMemoryLayout]] | |||
|- | |||
| 0x01050100 | |||
| [[10.4.0-29]] | |||
| Yes | |||
| Yes | |||
| [[APT:IsTitleAllowed|IsTitleAllowed]] | |||
|} | |} | ||
Line 602: | Line 728: | ||
APT:PrepareToDoApplicationJump and APT:DoApplicationJump are used by applications, for launching native/<non-NATIVE_FIRM> applications. These commands notify Home Menu that title launching needs done, Home Menu does the actual title launching via NS commands. | APT:PrepareToDoApplicationJump and APT:DoApplicationJump are used by applications, for launching native/<non-NATIVE_FIRM> applications. These commands notify Home Menu that title launching needs done, Home Menu does the actual title launching via NS commands. | ||
== AppletAttr == | |||
{| class="wikitable" border="1" | |||
|- | |||
! Bits | |||
! Description | |||
|- | |||
| 0-2 | |||
| [[NS_and_APT_Services#AppletPos|AppletPos]] | |||
|- | |||
| 3 | |||
| Manually Acquire/Release GPU Rights | |||
|- | |||
| 4 | |||
| Manually Acquire/Release DSP Rights | |||
|- | |||
| 5 | |||
| ? | |||
|} | |||
== DisplayBufferMode == | |||
{| class="wikitable" border="1" | |||
|- | |||
! Value | |||
! Description | |||
|- | |||
| 0 | |||
| FORMAT_R8G8B8A8 | |||
|- | |||
| 1 | |||
| FORMAT_R8G8B8 | |||
|- | |||
| 2 | |||
| FORMAT_R5G6B5 | |||
|- | |||
| 3 | |||
| FORMAT_R5G5B5A1 | |||
|- | |||
| 4 | |||
| FORMAT_R4G4B4A4 | |||
|- | |||
| 0xFFFFFFFF | |||
| FORMAT_UNIMPORTABLE | |||
|} | |||
This is the same mapping as used for the [[GPU/External_Registers#Framebuffer_color_formats|GPU framebuffer color formats]]. | |||
== AppletPos == | |||
{| class="wikitable" border="1" | |||
|- | |||
! Value | |||
! Description | |||
|- | |||
| -1 | |||
| POS_NONE | |||
|- | |||
| 0 | |||
| POS_APP | |||
|- | |||
| 1 | |||
| POS_APPLIB | |||
|- | |||
| 2 | |||
| POS_SYS | |||
|- | |||
| 3 | |||
| POS_SYSLIB | |||
|- | |||
| 4 | |||
| POS_RESIDENT | |||
|} | |||
== QueryReply == | |||
{| class="wikitable" border="1" | |||
|- | |||
! Value | |||
! Description | |||
|- | |||
| 0 | |||
| REPLY_REJECT | |||
|- | |||
| 1 | |||
| REPLY_ACCEPT | |||
|- | |||
| 2 | |||
| REPLY_LATER | |||
|} | |||
== Notification == | |||
{| class="wikitable" border="1" | |||
|- | |||
! Value | |||
! Description | |||
|- | |||
| 0 | |||
| NOTIFICATION_NONE | |||
|- | |||
| 1 | |||
| NOTIFICATION_HOME_BUTTON_1 | |||
|- | |||
| 2 | |||
| NOTIFICATION_HOME_BUTTON_2 | |||
|- | |||
| 3 | |||
| NOTIFICATION_SLEEP_QUERY | |||
|- | |||
| 4 | |||
| NOTIFICATION_SLEEP_CANCELED_BY_OPEN | |||
|- | |||
| 5 | |||
| NOTIFICATION_SLEEP_ACCEPTED | |||
|- | |||
| 6 | |||
| NOTIFICATION_SLEEP_AWAKE | |||
|- | |||
| 7 | |||
| NOTIFICATION_SHUTDOWN | |||
|- | |||
| 8 | |||
| NOTIFICATION_POWER_BUTTON_CLICK | |||
|- | |||
| 9 | |||
| NOTIFICATION_POWER_BUTTON_CLEAR | |||
|- | |||
| 10 | |||
| NOTIFICATION_TRY_SLEEP | |||
|- | |||
| 11 | |||
| NOTIFICATION_ORDER_TO_CLOSE | |||
|} | |||
== Command == | |||
{| class="wikitable" border="1" | |||
|- | |||
! Value | |||
! Description | |||
|- | |||
| 0 | |||
| COMMAND_NONE | |||
|- | |||
| 1 | |||
| COMMAND_WAKEUP | |||
|- | |||
| 2 | |||
| COMMAND_REQUEST | |||
|- | |||
| 3 | |||
| COMMAND_RESPONSE | |||
|- | |||
| 4 | |||
| COMMAND_EXIT | |||
|- | |||
| 5 | |||
| COMMAND_MESSAGE | |||
|- | |||
| 6 | |||
| COMMAND_HOME_BUTTON_SINGLE | |||
|- | |||
| 7 | |||
| COMMAND_HOME_BUTTON_DOUBLE | |||
|- | |||
| 8 | |||
| COMMAND_DSP_SLEEP | |||
|- | |||
| 9 | |||
| COMMAND_DSP_WAKEUP | |||
|- | |||
| 10 | |||
| COMMAND_WAKEUP_BY_EXIT | |||
|- | |||
| 11 | |||
| COMMAND_WAKEUP_BY_PAUSE | |||
|- | |||
| 12 | |||
| COMMAND_WAKEUP_BY_CANCEL | |||
|- | |||
| 13 | |||
| COMMAND_WAKEUP_BY_CANCELALL | |||
|- | |||
| 14 | |||
| COMMAND_WAKEUP_BY_POWER_BUTTON_CLICK | |||
|- | |||
| 15 | |||
| COMMAND_WAKEUP_TO_JUMP_HOME | |||
|- | |||
| 16 | |||
| COMMAND_REQUEST_FOR_SYS_APPLET | |||
|- | |||
| 17 | |||
| COMMAND_WAKEUP_TO_LAUNCH_APPLICATION | |||
|- | |||
| 0x41 | |||
| Unknown. [[APT:ReceiveParameter|Received]] by Home Menu during boot when the Home Menu process doesn't terminate properly(svcExitProcess/crash). | |||
|} | |||
== AppletPreparationState == | |||
{| class="wikitable" border="1" | |||
|- | |||
! Value | |||
! Description | |||
|- | |||
| 0 | |||
| NO_PREPARATION | |||
|- | |||
| 1 | |||
| PREPARED_TO_LAUNCH_APP | |||
|- | |||
| 2 | |||
| PREPARED_TO_CLOSE_APP | |||
|- | |||
| 3 | |||
| PREPARED_TO_FORCE_TO_CLOSE_APP | |||
|- | |||
| 4 | |||
| PREPARED_TO_PRELOAD_APPLIB | |||
|- | |||
| 5 | |||
| PREPARED_TO_LAUNCH_APPLIB | |||
|- | |||
| 6 | |||
| PREPARED_TO_CLOSE_APPLIB | |||
|- | |||
| 7 | |||
| PREPARED_TO_LAUNCH_SYS | |||
|- | |||
| 8 | |||
| PREPARED_TO_CLOSE_SYS | |||
|- | |||
| 9 | |||
| PREPARED_TO_PRELOAD_SYSLIB | |||
|- | |||
| 10 | |||
| PREPARED_TO_LAUNCH_SYSLIB | |||
|- | |||
| 11 | |||
| PREPARED_TO_CLOSE_SYSLIB | |||
|- | |||
| 12 | |||
| PREPARED_TO_LAUNCH_RESIDENT | |||
|- | |||
| 13 | |||
| PREPARED_TO_LEAVE_RESIDENT | |||
|- | |||
| 14 | |||
| PREPARED_TO_DO_HOMEMENU | |||
|- | |||
| 15 | |||
| PREPARED_TO_LEAVE_HOMEMENU | |||
|- | |||
| 16 | |||
| PREPARED_TO_START_RESIDENT | |||
|- | |||
| 17 | |||
| PREPARED_TO_DO_APP_JUMP | |||
|- | |||
| 18 | |||
| PREPARED_TO_FORCE_TO_CLOSE_SYS | |||
|- | |||
| 19 | |||
| PREPARED_TO_LAUNCH_OTHER_SYS | |||
|- | |||
| 20 | |||
| PREPARED_TO_JUMP_TO_APP | |||
|} | |||
== StartupArgumentType == | |||
{| class="wikitable" border="1" | |||
|- | |||
! Value | |||
! Description | |||
|- | |||
| 0 | |||
| STARTUP_ARGUMENT_TYPE_OTHER_APP | |||
|- | |||
| 1 | |||
| STARTUP_ARGUMENT_TYPE_RESTART | |||
|- | |||
| 2 | |||
| STARTUP_ARGUMENT_TYPE_OTHER_MEDIA | |||
|} | |||
== CaptureBufferInfo == | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |||
| 0x0 | |||
| 0x4 | |||
| u32, Size | |||
|- | |||
| 0x4 | |||
| 0x1 | |||
| u8, 3D (0 = not 3D, 1 = 3D) | |||
|- | |||
| 0x5 | |||
| 0x3 | |||
| Reserved | |||
|- | |||
| 0x8 | |||
| 0x4 | |||
| Main Screen Left Offset | |||
|- | |||
| 0xC | |||
| 0x4 | |||
| Main Screen Right Offset | |||
|- | |||
| 0x10 | |||
| 0x4 | |||
| Main Screen [[NS_and_APT_Services#DisplayBufferMode|DisplayBufferMode]] | |||
|- | |||
| 0x14 | |||
| 0x4 | |||
| Sub Screen Left Offset | |||
|- | |||
| 0x18 | |||
| 0x4 | |||
| Sub Screen Right Offset | |||
|- | |||
| 0x1C | |||
| 0x4 | |||
| Sub Screen [[NS_and_APT_Services#DisplayBufferMode|DisplayBufferMode]] | |||
|} | |||
==WirelessRebootInfo== | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |||
| 0x0 | |||
| 0x6 | |||
| Host MAC address. | |||
|- | |||
| 0x6 | |||
| 0x9 | |||
| WirelessRebootPassphrase | |||
|- | |||
| 0xF | |||
| 0x1 | |||
| Uninitialized | |||
|} | |||
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. | 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. | ||
=Applets= | =Applets= | ||
Line 625: | Line 1,098: | ||
|- | |- | ||
| 0x101 | | 0x101 | ||
| Home Menu (menu) | | [[Home Menu]] (menu) | ||
|- | |- | ||
| 0x103 | | 0x103 | ||
Line 631: | Line 1,104: | ||
|- | |- | ||
| 0x110 | | 0x110 | ||
| Camera applet (CtrApp) | | Camera applet ([[Camera Applet|CtrApp]]) | ||
|- | |- | ||
| 0x112 | | 0x112 | ||
| Friends List applet (friend) | | Friends List applet ([[Friend List|friend]]) | ||
|- | |- | ||
| 0x113 | | 0x113 | ||
Line 646: | Line 1,119: | ||
|- | |- | ||
| 0x116 | | 0x116 | ||
| Notifications applet (newslist) | | [[Notifications]] applet (newslist) | ||
|- | |- | ||
| 0x117 | | 0x117 | ||
Line 652: | Line 1,125: | ||
|- | |- | ||
| 0x118 | | 0x118 | ||
| Miiverse posting applet (solv3) | | [[Miiverse]] posting applet (solv3) | ||
|- | |- | ||
| 0x119 | | 0x119 | ||
Line 661: | Line 1,134: | ||
|- | |- | ||
| 0x202 | | 0x202 | ||
| Mii Selector (appletEd) (?) | | [[Mii Selector]] (appletEd) (?) | ||
|- | |- | ||
| 0x204 | | 0x204 | ||
Line 670: | Line 1,143: | ||
|- | |- | ||
| 0x206 | | 0x206 | ||
| Error Display (error) (?) | | Error Display ([[ErrDisp|error]]) (?) | ||
|- | |- | ||
| 0x207 | | 0x207 | ||
| eShop applet (mint) (?) | | eShop applet ([[EShop#NS_eShop_application_parameters|mint]]) (?) | ||
|- | |- | ||
| 0x208 | | 0x208 | ||
Line 742: | 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]] |