Line 1:
Line 1:
−
[[Category:Services]]
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 36:
Line 36:
| [[NSS:LaunchTitle|LaunchTitle]]
| [[NSS:LaunchTitle|LaunchTitle]]
|-
|-
−
| 0x0003....
+
| 0x00030000
| [[1.0.0-0]] - [[2.0.0-2]]
| [[1.0.0-0]] - [[2.0.0-2]]
−
| Wrapper for [[PMApp:TerminateLastLaunched]].
+
| [[NSS:TerminateApplication|TerminateApplication]]
|-
|-
−
| 0x0004....
+
| 0x00040040
| [[1.0.0-0]] - [[2.0.0-2]]
| [[1.0.0-0]] - [[2.0.0-2]]
−
| Wrapper for [[PMApp:TerminateProcessId]].
+
| [[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:SetFIRMParams4A0|SetFIRMParams4A0]]
+
| [[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]]
−
| This shuts down the gamecard system update interface: the shared memory is unmapped, the CFA archive is closed, state is cleared, etc.
+
| [[NSS:CardUpdateShutdown|CardUpdateShutdown]]
|-
|-
| 0x00090000
| 0x00090000
Line 68:
Line 68:
| Gamecard system update related.
| Gamecard system update related.
|-
|-
−
| 0x000B....
+
| 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.
|-
|-
−
| 0x000C....
+
| 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:SetFIRMParams4B0|SetFIRMParams4B0]]
+
| [[NSS:SetTWLBannerHMAC|SetTWLBannerHMAC]]
|-
|-
| 0x000E0000
| 0x000E0000
Line 92:
Line 92:
| [[NSS:RebootSystem|RebootSystem]]
| [[NSS:RebootSystem|RebootSystem]]
|-
|-
−
| 0x0011....
+
| 0x00110100
| [[1.0.0-0]] - [[2.0.0-2]]
| [[1.0.0-0]] - [[2.0.0-2]]
−
| [[NSS:TerminateProcessTID|TerminateProcessTID]]
+
| [[NSS:TerminateTitle|TerminateTitle]]
|-
|-
−
| 0x0012....
+
| 0x001200C0
| ?
| ?
−
| Uses [[PMApp:SetResourceLimit]] & [[PMApp:GetResourceLimitMax]]
+
| [[NSS:SetApplicationCpuTimeLimit|SetApplicationCpuTimeLimit]]
|-
|-
| 0x00130000
| 0x00130000
Line 110:
Line 110:
| 0x00150140
| 0x00150140
| ?
| ?
−
| [[NSS:LaunchApplication|LaunchApplication]] : unlike LaunchTitle, this will do a "proper" app launch, using the update title if present. It seems to set proper internal states, like [[APT:PrepareToStartApplication]] and [[APT:StartApplication]] would.
+
| [[NSS:LaunchApplication|LaunchApplication]]
|-
|-
| 0x00160000
| 0x00160000
| [[8.0.0-18]]
| [[8.0.0-18]]
−
| This triggers a hw-reboot.
+
| [[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"=
−
This was added with [[5.0.0-11]], it's unknown what this is used for.
+
{| 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
|-
|-
| 0x00010040
| 0x00010040
|
|
+
| Yes
| Yes
| Yes
| [[APT:GetLockHandle|GetLockHandle]]
| [[APT:GetLockHandle|GetLockHandle]]
Line 140:
Line 169:
| 0x00020080
| 0x00020080
|
|
+
| See [[APT:Initialize|here]].
| See [[APT:Initialize|here]].
| See [[APT:Initialize|here]].
| [[APT:Initialize|Initialize]]
| [[APT:Initialize|Initialize]]
Line 145:
Line 175:
| 0x00030040
| 0x00030040
|
|
+
| Yes
| Yes
| Yes
| [[APT:Enable|Enable]]
| [[APT:Enable|Enable]]
Line 150:
Line 181:
| 0x00040040
| 0x00040040
|
|
+
| Yes
| Yes
| Yes
| [[APT:Finalize|Finalize]]
| [[APT:Finalize|Finalize]]
Line 155:
Line 187:
| 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 165:
Line 199:
| 0x00070000
| 0x00070000
|
|
+
| Yes
| Yes
| Yes
| [[APT:GetLastSignaledAppletId|GetLastSignaledAppletId]]
| [[APT:GetLastSignaledAppletId|GetLastSignaledAppletId]]
Line 170:
Line 205:
| 0x00080000
| 0x00080000
|
|
+
| Yes
| Yes
| Yes
| [[APT:CountRegisteredApplet|CountRegisteredApplet]]
| [[APT:CountRegisteredApplet|CountRegisteredApplet]]
Line 175:
Line 211:
| 0x00090040
| 0x00090040
|
|
+
| Yes
| Yes
| Yes
| [[APT:IsRegistered|IsRegistered]]
| [[APT:IsRegistered|IsRegistered]]
Line 180:
Line 217:
| 0x000A0040
| 0x000A0040
|
|
+
| Yes
| Yes
| Yes
| [[APT:GetAttribute|GetAttribute]]
| [[APT:GetAttribute|GetAttribute]]
Line 185:
Line 223:
| 0x000B0040
| 0x000B0040
|
|
+
| Yes
| Yes
| Yes
| [[APT:InquireNotification|InquireNotification]]
| [[APT:InquireNotification|InquireNotification]]
Line 190:
Line 229:
| 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 210:
Line 253:
| 0x001000C2
| 0x001000C2
|
|
+
| Yes
| Yes
| Yes
| [[APT:DebugFunc|DebugFunc]]
| [[APT:DebugFunc|DebugFunc]]
Line 215:
Line 259:
| 0x001100C0
| 0x001100C0
|
|
+
| Yes
| Yes
| Yes
| [[APT:MapProgramIdForDebug|MapProgramIdForDebug]]
| [[APT:MapProgramIdForDebug|MapProgramIdForDebug]]
Line 220:
Line 265:
| 0x00120040
| 0x00120040
|
|
+
| Yes
| Yes
| Yes
| [[APT:SetHomeMenuAppletIdForDebug|SetHomeMenuAppletIdForDebug]]
| [[APT:SetHomeMenuAppletIdForDebug|SetHomeMenuAppletIdForDebug]]
Line 225:
Line 271:
| 0x00130000
| 0x00130000
|
|
+
| Yes
| Yes
| Yes
| [[APT:GetPreparationState|GetPreparationState]]
| [[APT:GetPreparationState|GetPreparationState]]
Line 230:
Line 277:
| 0x00140040
| 0x00140040
|
|
+
| Yes
| Yes
| Yes
| [[APT:SetPreparationState|SetPreparationState]]
| [[APT:SetPreparationState|SetPreparationState]]
Line 235:
Line 283:
| 0x00150140
| 0x00150140
|
|
+
| No
| No
| No
| [[APT:PrepareToStartApplication|PrepareToStartApplication]]
| [[APT:PrepareToStartApplication|PrepareToStartApplication]]
Line 240:
Line 289:
| 0x00160040
| 0x00160040
|
|
+
| Yes
| Yes
| Yes
| [[APT:PreloadLibraryApplet|PreloadLibraryApplet]]
| [[APT:PreloadLibraryApplet|PreloadLibraryApplet]]
Line 245:
Line 295:
| 0x00170040
| 0x00170040
|
|
+
| Yes
| Yes
| Yes
| [[APT:FinishPreloadingLibraryApplet|FinishPreloadingLibraryApplet]]
| [[APT:FinishPreloadingLibraryApplet|FinishPreloadingLibraryApplet]]
Line 250:
Line 301:
| 0x00180040
| 0x00180040
|
|
+
| Yes
| Yes
| Yes
| [[APT:PrepareToStartLibraryApplet|PrepareToStartLibraryApplet]]
| [[APT:PrepareToStartLibraryApplet|PrepareToStartLibraryApplet]]
Line 255:
Line 307:
| 0x00190040
| 0x00190040
|
|
+
| Yes
| Yes
| Yes
| [[APT:PrepareToStartSystemApplet|PrepareToStartSystemApplet]]
| [[APT:PrepareToStartSystemApplet|PrepareToStartSystemApplet]]
Line 260:
Line 313:
| 0x001A0000
| 0x001A0000
|
|
+
| Yes
| Yes
| Yes
| [[APT:PrepareToStartNewestHomeMenu|PrepareToStartNewestHomeMenu]]
| [[APT:PrepareToStartNewestHomeMenu|PrepareToStartNewestHomeMenu]]
Line 265:
Line 319:
| 0x001B00C4
| 0x001B00C4
|
|
+
| Yes
| Yes
| Yes
| [[APT:StartApplication|StartApplication]]
| [[APT:StartApplication|StartApplication]]
Line 270:
Line 325:
| 0x001C0000
| 0x001C0000
|
|
+
| Yes
| Yes
| Yes
| [[APT:WakeupApplication|WakeupApplication]]
| [[APT:WakeupApplication|WakeupApplication]]
Line 275:
Line 331:
| 0x001D0000
| 0x001D0000
|
|
+
| Yes
| Yes
| Yes
| [[APT:CancelApplication|CancelApplication]]
| [[APT:CancelApplication|CancelApplication]]
Line 280:
Line 337:
| 0x001E0084
| 0x001E0084
|
|
+
| Yes
| Yes
| Yes
| [[APT:StartLibraryApplet|StartLibraryApplet]]
| [[APT:StartLibraryApplet|StartLibraryApplet]]
Line 285:
Line 343:
| 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 295:
Line 355:
| 0x00210000
| 0x00210000
|
|
+
| No
| No
| No
| [[APT:OrderToCloseApplication|OrderToCloseApplication]]
| [[APT:OrderToCloseApplication|OrderToCloseApplication]]
Line 300:
Line 361:
| 0x00220040
| 0x00220040
|
|
+
| Yes
| Yes
| Yes
| [[APT:PrepareToCloseApplication|PrepareToCloseApplication]]
| [[APT:PrepareToCloseApplication|PrepareToCloseApplication]]
Line 305:
Line 367:
| 0x00230040
| 0x00230040
|
|
+
| Yes
| Yes
| Yes
| [[APT:PrepareToJumpToApplication|PrepareToJumpToApplication]]
| [[APT:PrepareToJumpToApplication|PrepareToJumpToApplication]]
Line 310:
Line 373:
| 0x00240044
| 0x00240044
|
|
+
| Yes
| Yes
| Yes
| [[APT:JumpToApplication|JumpToApplication]]
| [[APT:JumpToApplication|JumpToApplication]]
Line 315:
Line 379:
| 0x002500C0
| 0x002500C0
|
|
+
| Yes
| Yes
| Yes
| [[APT:PrepareToCloseLibraryApplet|PrepareToCloseLibraryApplet]]
| [[APT:PrepareToCloseLibraryApplet|PrepareToCloseLibraryApplet]]
Line 320:
Line 385:
| 0x00260000
| 0x00260000
|
|
+
| Yes
| Yes
| Yes
| [[APT:PrepareToCloseSystemApplet|PrepareToCloseSystemApplet]]
| [[APT:PrepareToCloseSystemApplet|PrepareToCloseSystemApplet]]
Line 325:
Line 391:
| 0x00270044
| 0x00270044
|
|
+
| Yes
| Yes
| Yes
| [[APT:CloseApplication|CloseApplication]]
| [[APT:CloseApplication|CloseApplication]]
Line 330:
Line 397:
| 0x00280044
| 0x00280044
|
|
+
| Yes
| Yes
| Yes
| [[APT:CloseLibraryApplet|CloseLibraryApplet]]
| [[APT:CloseLibraryApplet|CloseLibraryApplet]]
Line 335:
Line 403:
| 0x00290044
| 0x00290044
|
|
+
| Yes
| Yes
| Yes
| [[APT:CloseSystemApplet|CloseSystemApplet]]
| [[APT:CloseSystemApplet|CloseSystemApplet]]
Line 340:
Line 409:
| 0x002A0000
| 0x002A0000
|
|
+
| Yes
| Yes
| Yes
| [[APT:OrderToCloseSystemApplet|OrderToCloseSystemApplet]]
| [[APT:OrderToCloseSystemApplet|OrderToCloseSystemApplet]]
Line 345:
Line 415:
| 0x002B0000
| 0x002B0000
|
|
+
| Yes
| Yes
| Yes
| [[APT:PrepareToJumpToHomeMenu|PrepareToJumpToHomeMenu]]
| [[APT:PrepareToJumpToHomeMenu|PrepareToJumpToHomeMenu]]
Line 350:
Line 421:
| 0x002C0044
| 0x002C0044
|
|
+
| Yes
| Yes
| Yes
| [[APT:JumpToHomeMenu|JumpToHomeMenu]]
| [[APT:JumpToHomeMenu|JumpToHomeMenu]]
Line 355:
Line 427:
| 0x002D0000
| 0x002D0000
|
|
+
| Yes
| Yes
| Yes
| [[APT:PrepareToLeaveHomeMenu|PrepareToLeaveHomeMenu]]
| [[APT:PrepareToLeaveHomeMenu|PrepareToLeaveHomeMenu]]
Line 360:
Line 433:
| 0x002E0044
| 0x002E0044
|
|
+
| Yes
| Yes
| Yes
| [[APT:LeaveHomeMenu|LeaveHomeMenu]]
| [[APT:LeaveHomeMenu|LeaveHomeMenu]]
Line 365:
Line 439:
| 0x002F0040
| 0x002F0040
|
|
+
| Yes
| Yes
| Yes
| [[APT:PrepareToLeaveResidentApplet|PrepareToLeaveResidentApplet]]
| [[APT:PrepareToLeaveResidentApplet|PrepareToLeaveResidentApplet]]
Line 370:
Line 445:
| 0x00300044
| 0x00300044
|
|
+
| Yes
| Yes
| Yes
| [[APT:LeaveResidentApplet|LeaveResidentApplet]]
| [[APT:LeaveResidentApplet|LeaveResidentApplet]]
Line 375:
Line 451:
| 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 385:
Line 463:
| 0x00330000
| 0x00330000
|
|
+
| Yes
| Yes
| Yes
| [[APT:GetProgramIdOnApplicationJump|GetProgramIdOnApplicationJump]]
| [[APT:GetProgramIdOnApplicationJump|GetProgramIdOnApplicationJump]]
Line 390:
Line 469:
| 0x00340084
| 0x00340084
|
|
+
| Yes
| Yes
| Yes
| [[APT:SendDeliverArg|SendDeliverArg]]
| [[APT:SendDeliverArg|SendDeliverArg]]
Line 395:
Line 475:
| 0x00350080
| 0x00350080
|
|
+
| Yes
| Yes
| Yes
| [[APT:ReceiveDeliverArg|ReceiveDeliverArg]]
| [[APT:ReceiveDeliverArg|ReceiveDeliverArg]]
Line 400:
Line 481:
| 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 410:
Line 493:
| 0x00380040
| 0x00380040
|
|
+
| Yes
| Yes
| Yes
| [[APT:PreloadResidentApplet|PreloadResidentApplet]]
| [[APT:PreloadResidentApplet|PreloadResidentApplet]]
Line 415:
Line 499:
| 0x00390040
| 0x00390040
|
|
+
| Yes
| Yes
| Yes
| [[APT:PrepareToStartResidentApplet|PrepareToStartResidentApplet]]
| [[APT:PrepareToStartResidentApplet|PrepareToStartResidentApplet]]
Line 420:
Line 505:
| 0x003A0044
| 0x003A0044
|
|
+
| Yes
| Yes
| Yes
| [[APT:StartResidentApplet|StartResidentApplet]]
| [[APT:StartResidentApplet|StartResidentApplet]]
Line 425:
Line 511:
| 0x003B0040
| 0x003B0040
|
|
+
| Yes
| Yes
| Yes
| [[APT:CancelLibraryApplet|CancelLibraryApplet]]
| [[APT:CancelLibraryApplet|CancelLibraryApplet]]
Line 430:
Line 517:
| 0x003C0042
| 0x003C0042
|
|
+
| Yes
| Yes
| Yes
| [[APT:SendDspSleep|SendDspSleep]]
| [[APT:SendDspSleep|SendDspSleep]]
Line 435:
Line 523:
| 0x003D0042
| 0x003D0042
|
|
+
| Yes
| Yes
| Yes
| [[APT:SendDspWakeUp|SendDspWakeUp]]
| [[APT:SendDspWakeUp|SendDspWakeUp]]
Line 440:
Line 529:
| 0x003E0080
| 0x003E0080
|
|
+
| Yes
| Yes
| Yes
| [[APT:ReplySleepQuery|ReplySleepQuery]]
| [[APT:ReplySleepQuery|ReplySleepQuery]]
Line 445:
Line 535:
| 0x003F0040
| 0x003F0040
|
|
+
| Yes
| Yes
| Yes
| [[APT:ReplySleepNotificationComplete|ReplySleepNotificationComplete]]
| [[APT:ReplySleepNotificationComplete|ReplySleepNotificationComplete]]
Line 450:
Line 541:
| 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 460:
Line 553:
| 0x00420080
| 0x00420080
|
|
+
| Yes
| Yes
| Yes
| [[APT:SleepSystem|SleepSystem]]
| [[APT:SleepSystem|SleepSystem]]
Line 465:
Line 559:
| 0x00430040
| 0x00430040
|
|
+
| Yes
| Yes
| Yes
| [[APT:NotifyToWait|NotifyToWait]]
| [[APT:NotifyToWait|NotifyToWait]]
Line 470:
Line 565:
| 0x00440000
| 0x00440000
|
|
+
| Yes
| Yes
| Yes
| [[APT:GetSharedFont|GetSharedFont]]
| [[APT:GetSharedFont|GetSharedFont]]
Line 475:
Line 571:
| 0x00450040
| 0x00450040
|
|
+
| Yes
| Yes
| Yes
| [[APT:GetWirelessRebootInfo|GetWirelessRebootInfo]]
| [[APT:GetWirelessRebootInfo|GetWirelessRebootInfo]]
Line 480:
Line 577:
| 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 510:
Line 613:
| 0x004C0000
| 0x004C0000
|
|
+
| Yes
| Yes
| Yes
| [[APT:SetFatalErrDispMode|SetFatalErrDispMode]]
| [[APT:SetFatalErrDispMode|SetFatalErrDispMode]]
Line 515:
Line 619:
| 0x004D0080
| 0x004D0080
|
|
+
| Yes
| Yes
| Yes
| [[APT:GetAppletProgramInfo|GetAppletProgramInfo]]
| [[APT:GetAppletProgramInfo|GetAppletProgramInfo]]
Line 520:
Line 625:
| 0x004E0000
| 0x004E0000
|
|
+
| Yes
| Yes
| Yes
| [[APT:HardwareResetAsync|HardwareResetAsync]]
| [[APT:HardwareResetAsync|HardwareResetAsync]]
Line 525:
Line 631:
| 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]]
Line 535:
Line 643:
| 0x00510080
| 0x00510080
| [[3.0.0-5]]
| [[3.0.0-5]]
+
| Yes
| Yes
| Yes
| [[APT:GetStartupArgument|GetStartupArgument]]
| [[APT:GetStartupArgument|GetStartupArgument]]
Line 540:
Line 649:
| 0x00520104
| 0x00520104
| [[4.0.0-7]]
| [[4.0.0-7]]
+
| Yes
| Yes
| Yes
| [[APT:Wrap1|Wrap1]]
| [[APT:Wrap1|Wrap1]]
Line 545:
Line 655:
| 0x00530104
| 0x00530104
| [[4.0.0-7]]
| [[4.0.0-7]]
+
| Yes
| Yes
| Yes
| [[APT:Unwrap1|Unwrap1]]
| [[APT:Unwrap1|Unwrap1]]
Line 550:
Line 661:
| 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
−
| This writes the input u8 to a NS state field.
+
| Yes
+
| [[APT:SetScreenCapturePostPermission|SetScreenCapturePostPermission]]
|-
|-
| 0x00560000
| 0x00560000
| [[7.0.0-13]]
| [[7.0.0-13]]
| Yes
| Yes
−
| This returns an u8 NS state field(which can be set by cmd 0x00550040), at cmdreply+8.
+
| 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
| Yes
| [[APT:GetProgramID|GetProgramID]]
| [[APT:GetProgramID|GetProgramID]]
Line 576:
Line 692:
| [[8.0.0-18]]
| [[8.0.0-18]]
| Yes
| Yes
−
| [[APT:CheckNew3DSApp|CheckNew3DSApp]]
+
| Yes
+
| [[APT:GetTargetPlatform|GetTargetPlatform]]
|-
|-
| 0x01020000
| 0x01020000
| [[8.0.0-18]]
| [[8.0.0-18]]
+
| Yes
| Yes
| Yes
| [[APT:CheckNew3DS|CheckNew3DS]]
| [[APT:CheckNew3DS|CheckNew3DS]]
Line 586:
Line 704:
| [[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
| 0x01050100
| [[10.4.0-29]]
| [[10.4.0-29]]
−
| ?
+
| Yes
−
| ?
+
| Yes
+
| [[APT:IsTitleAllowed|IsTitleAllowed]]
|}
|}
Line 645:
Line 766:
|-
|-
| 4
| 4
−
| FORAMT_R4G4B4A4
+
| FORMAT_R4G4B4A4
|-
|-
| 0xFFFFFFFF
| 0xFFFFFFFF
Line 796:
Line 917:
| 17
| 17
| COMMAND_WAKEUP_TO_LAUNCH_APPLICATION
| 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).
|}
|}
Line 928:
Line 1,052:
|}
|}
+
==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. It's unknown whether there's anything which is only accessible via "APT:A".
+
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 951:
Line 1,098:
|-
|-
| 0x101
| 0x101
−
| Home Menu (menu)
+
| [[Home Menu]] (menu)
|-
|-
| 0x103
| 0x103
Line 957:
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 972:
Line 1,119:
|-
|-
| 0x116
| 0x116
−
| Notifications applet (newslist)
+
| [[Notifications]] applet (newslist)
|-
|-
| 0x117
| 0x117
Line 978:
Line 1,125:
|-
|-
| 0x118
| 0x118
−
| Miiverse posting applet (solv3)
+
| [[Miiverse]] posting applet (solv3)
|-
|-
| 0x119
| 0x119
Line 987:
Line 1,134:
|-
|-
| 0x202
| 0x202
−
| Mii Selector (appletEd) (?)
+
| [[Mii Selector]] (appletEd) (?)
|-
|-
| 0x204
| 0x204
Line 996:
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 1,068:
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]]