Changes

418 bytes added ,  14:42, 18 September 2024
m
Add anchors
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 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 141: Line 143:  
|-
 
|-
 
| 0x00010100
 
| 0x00010100
| ?
+
| [[NSC:LockSpecialContent|LockSpecialContent]]
 
|-
 
|-
 
| 0x00020100
 
| 0x00020100
| ?
+
| [[NSC:UnlockSpecialContent|UnlockSpecialContent]]
 
|}
 
|}
   −
This was added with [[5.0.0-11]], it's unknown what this is used for.
+
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.
 
  −
Both functions take a [[Filesystem_services#MediaType|MediaType]], Title ID, and [[Filesystem_services#SpecialContentType|SpecialContentType]] as inputs. Command 1 does update title related checks, stores the info in a structure, and increments counters based on media types. Command 2 checks the stored data against the provided parameters, and clears data from the structure and decrements counters if they match. Both call (as of writing) unknown FS commands in the 0x870 range.
      +
{{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 157: 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 166: Line 169:  
| 0x00020080
 
| 0x00020080
 
|  
 
|  
 +
| See [[APT:Initialize|here]].
 
| See [[APT:Initialize|here]].
 
| See [[APT:Initialize|here]].
 
| [[APT:Initialize|Initialize]]
 
| [[APT:Initialize|Initialize]]
Line 171: Line 175:  
| 0x00030040
 
| 0x00030040
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:Enable|Enable]]
 
| [[APT:Enable|Enable]]
Line 176: Line 181:  
| 0x00040040
 
| 0x00040040
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:Finalize|Finalize]]
 
| [[APT:Finalize|Finalize]]
Line 181: Line 187:  
| 0x00050040
 
| 0x00050040
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:GetAppletManInfo|GetAppletManInfo]]
 
| [[APT:GetAppletManInfo|GetAppletManInfo]]
Line 186: Line 193:  
| 0x00060040
 
| 0x00060040
 
|  
 
|  
| Yes, for AppID != 0x300
+
| Yes (AppID != 0x300)
 +
| Yes
 
| [[APT:GetAppletInfo|GetAppletInfo]]
 
| [[APT:GetAppletInfo|GetAppletInfo]]
 
|-
 
|-
 
| 0x00070000
 
| 0x00070000
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:GetLastSignaledAppletId|GetLastSignaledAppletId]]
 
| [[APT:GetLastSignaledAppletId|GetLastSignaledAppletId]]
Line 196: Line 205:  
| 0x00080000
 
| 0x00080000
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:CountRegisteredApplet|CountRegisteredApplet]]
 
| [[APT:CountRegisteredApplet|CountRegisteredApplet]]
Line 201: Line 211:  
| 0x00090040
 
| 0x00090040
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:IsRegistered|IsRegistered]]
 
| [[APT:IsRegistered|IsRegistered]]
Line 206: Line 217:  
| 0x000A0040
 
| 0x000A0040
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:GetAttribute|GetAttribute]]
 
| [[APT:GetAttribute|GetAttribute]]
Line 211: Line 223:  
| 0x000B0040
 
| 0x000B0040
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:InquireNotification|InquireNotification]]
 
| [[APT:InquireNotification|InquireNotification]]
Line 216: Line 229:  
| 0x000C0104
 
| 0x000C0104
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:SendParameter|SendParameter]]
 
| [[APT:SendParameter|SendParameter]]
Line 221: Line 235:  
| 0x000D0080
 
| 0x000D0080
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:ReceiveParameter|ReceiveParameter]]
 
| [[APT:ReceiveParameter|ReceiveParameter]]
Line 226: Line 241:  
| 0x000E0080
 
| 0x000E0080
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:GlanceParameter|GlanceParameter]]
 
| [[APT:GlanceParameter|GlanceParameter]]
Line 231: Line 247:  
| 0x000F0100
 
| 0x000F0100
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:CancelParameter|CancelParameter]]
 
| [[APT:CancelParameter|CancelParameter]]
Line 236: Line 253:  
| 0x001000C2
 
| 0x001000C2
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:DebugFunc|DebugFunc]]
 
| [[APT:DebugFunc|DebugFunc]]
Line 241: Line 259:  
| 0x001100C0
 
| 0x001100C0
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:MapProgramIdForDebug|MapProgramIdForDebug]]
 
| [[APT:MapProgramIdForDebug|MapProgramIdForDebug]]
Line 246: Line 265:  
| 0x00120040
 
| 0x00120040
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:SetHomeMenuAppletIdForDebug|SetHomeMenuAppletIdForDebug]]
 
| [[APT:SetHomeMenuAppletIdForDebug|SetHomeMenuAppletIdForDebug]]
Line 251: Line 271:  
| 0x00130000
 
| 0x00130000
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:GetPreparationState|GetPreparationState]]
 
| [[APT:GetPreparationState|GetPreparationState]]
Line 256: Line 277:  
| 0x00140040
 
| 0x00140040
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:SetPreparationState|SetPreparationState]]
 
| [[APT:SetPreparationState|SetPreparationState]]
Line 261: Line 283:  
| 0x00150140
 
| 0x00150140
 
|  
 
|  
 +
| No
 
| No
 
| No
 
| [[APT:PrepareToStartApplication|PrepareToStartApplication]]
 
| [[APT:PrepareToStartApplication|PrepareToStartApplication]]
Line 266: Line 289:  
| 0x00160040
 
| 0x00160040
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:PreloadLibraryApplet|PreloadLibraryApplet]]
 
| [[APT:PreloadLibraryApplet|PreloadLibraryApplet]]
Line 271: Line 295:  
| 0x00170040
 
| 0x00170040
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:FinishPreloadingLibraryApplet|FinishPreloadingLibraryApplet]]
 
| [[APT:FinishPreloadingLibraryApplet|FinishPreloadingLibraryApplet]]
Line 276: Line 301:  
| 0x00180040
 
| 0x00180040
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:PrepareToStartLibraryApplet|PrepareToStartLibraryApplet]]
 
| [[APT:PrepareToStartLibraryApplet|PrepareToStartLibraryApplet]]
Line 281: Line 307:  
| 0x00190040
 
| 0x00190040
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:PrepareToStartSystemApplet|PrepareToStartSystemApplet]]
 
| [[APT:PrepareToStartSystemApplet|PrepareToStartSystemApplet]]
Line 286: Line 313:  
| 0x001A0000
 
| 0x001A0000
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:PrepareToStartNewestHomeMenu|PrepareToStartNewestHomeMenu]]
 
| [[APT:PrepareToStartNewestHomeMenu|PrepareToStartNewestHomeMenu]]
Line 291: Line 319:  
| 0x001B00C4
 
| 0x001B00C4
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:StartApplication|StartApplication]]
 
| [[APT:StartApplication|StartApplication]]
Line 296: Line 325:  
| 0x001C0000
 
| 0x001C0000
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:WakeupApplication|WakeupApplication]]
 
| [[APT:WakeupApplication|WakeupApplication]]
Line 301: Line 331:  
| 0x001D0000
 
| 0x001D0000
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:CancelApplication|CancelApplication]]
 
| [[APT:CancelApplication|CancelApplication]]
Line 306: Line 337:  
| 0x001E0084
 
| 0x001E0084
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:StartLibraryApplet|StartLibraryApplet]]
 
| [[APT:StartLibraryApplet|StartLibraryApplet]]
Line 311: Line 343:  
| 0x001F0084
 
| 0x001F0084
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:StartSystemApplet|StartSystemApplet]]
 
| [[APT:StartSystemApplet|StartSystemApplet]]
Line 316: Line 349:  
| 0x00200044
 
| 0x00200044
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:StartNewestHomeMenu|StartNewestHomeMenu]]
 
| [[APT:StartNewestHomeMenu|StartNewestHomeMenu]]
Line 321: Line 355:  
| 0x00210000
 
| 0x00210000
 
|  
 
|  
 +
| No
 
| No
 
| No
 
| [[APT:OrderToCloseApplication|OrderToCloseApplication]]
 
| [[APT:OrderToCloseApplication|OrderToCloseApplication]]
Line 326: Line 361:  
| 0x00220040
 
| 0x00220040
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:PrepareToCloseApplication|PrepareToCloseApplication]]
 
| [[APT:PrepareToCloseApplication|PrepareToCloseApplication]]
Line 331: Line 367:  
| 0x00230040
 
| 0x00230040
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:PrepareToJumpToApplication|PrepareToJumpToApplication]]
 
| [[APT:PrepareToJumpToApplication|PrepareToJumpToApplication]]
Line 336: Line 373:  
| 0x00240044
 
| 0x00240044
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:JumpToApplication|JumpToApplication]]
 
| [[APT:JumpToApplication|JumpToApplication]]
Line 341: Line 379:  
| 0x002500C0
 
| 0x002500C0
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:PrepareToCloseLibraryApplet|PrepareToCloseLibraryApplet]]
 
| [[APT:PrepareToCloseLibraryApplet|PrepareToCloseLibraryApplet]]
Line 346: Line 385:  
| 0x00260000
 
| 0x00260000
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:PrepareToCloseSystemApplet|PrepareToCloseSystemApplet]]
 
| [[APT:PrepareToCloseSystemApplet|PrepareToCloseSystemApplet]]
Line 351: Line 391:  
| 0x00270044
 
| 0x00270044
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:CloseApplication|CloseApplication]]
 
| [[APT:CloseApplication|CloseApplication]]
Line 356: Line 397:  
| 0x00280044
 
| 0x00280044
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:CloseLibraryApplet|CloseLibraryApplet]]
 
| [[APT:CloseLibraryApplet|CloseLibraryApplet]]
Line 361: Line 403:  
| 0x00290044
 
| 0x00290044
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:CloseSystemApplet|CloseSystemApplet]]
 
| [[APT:CloseSystemApplet|CloseSystemApplet]]
Line 366: Line 409:  
| 0x002A0000
 
| 0x002A0000
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:OrderToCloseSystemApplet|OrderToCloseSystemApplet]]
 
| [[APT:OrderToCloseSystemApplet|OrderToCloseSystemApplet]]
Line 371: Line 415:  
| 0x002B0000
 
| 0x002B0000
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:PrepareToJumpToHomeMenu|PrepareToJumpToHomeMenu]]
 
| [[APT:PrepareToJumpToHomeMenu|PrepareToJumpToHomeMenu]]
Line 376: Line 421:  
| 0x002C0044
 
| 0x002C0044
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:JumpToHomeMenu|JumpToHomeMenu]]
 
| [[APT:JumpToHomeMenu|JumpToHomeMenu]]
Line 381: Line 427:  
| 0x002D0000
 
| 0x002D0000
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:PrepareToLeaveHomeMenu|PrepareToLeaveHomeMenu]]
 
| [[APT:PrepareToLeaveHomeMenu|PrepareToLeaveHomeMenu]]
Line 386: Line 433:  
| 0x002E0044
 
| 0x002E0044
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:LeaveHomeMenu|LeaveHomeMenu]]
 
| [[APT:LeaveHomeMenu|LeaveHomeMenu]]
Line 391: Line 439:  
| 0x002F0040
 
| 0x002F0040
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:PrepareToLeaveResidentApplet|PrepareToLeaveResidentApplet]]
 
| [[APT:PrepareToLeaveResidentApplet|PrepareToLeaveResidentApplet]]
Line 396: Line 445:  
| 0x00300044
 
| 0x00300044
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:LeaveResidentApplet|LeaveResidentApplet]]
 
| [[APT:LeaveResidentApplet|LeaveResidentApplet]]
Line 401: Line 451:  
| 0x00310100
 
| 0x00310100
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:PrepareToDoApplicationJump|PrepareToDoApplicationJump]]
 
| [[APT:PrepareToDoApplicationJump|PrepareToDoApplicationJump]]
Line 406: Line 457:  
| 0x00320084
 
| 0x00320084
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:DoApplicationJump|DoApplicationJump]]
 
| [[APT:DoApplicationJump|DoApplicationJump]]
Line 411: Line 463:  
| 0x00330000
 
| 0x00330000
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:GetProgramIdOnApplicationJump|GetProgramIdOnApplicationJump]]
 
| [[APT:GetProgramIdOnApplicationJump|GetProgramIdOnApplicationJump]]
Line 416: Line 469:  
| 0x00340084
 
| 0x00340084
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:SendDeliverArg|SendDeliverArg]]
 
| [[APT:SendDeliverArg|SendDeliverArg]]
Line 421: Line 475:  
| 0x00350080
 
| 0x00350080
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:ReceiveDeliverArg|ReceiveDeliverArg]]
 
| [[APT:ReceiveDeliverArg|ReceiveDeliverArg]]
Line 426: Line 481:  
| 0x00360040
 
| 0x00360040
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:LoadSysMenuArg|LoadSysMenuArg]]
 
| [[APT:LoadSysMenuArg|LoadSysMenuArg]]
Line 431: Line 487:  
| 0x00370042
 
| 0x00370042
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:StoreSysMenuArg|StoreSysMenuArg]]
 
| [[APT:StoreSysMenuArg|StoreSysMenuArg]]
Line 436: Line 493:  
| 0x00380040
 
| 0x00380040
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:PreloadResidentApplet|PreloadResidentApplet]]
 
| [[APT:PreloadResidentApplet|PreloadResidentApplet]]
Line 441: Line 499:  
| 0x00390040
 
| 0x00390040
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:PrepareToStartResidentApplet|PrepareToStartResidentApplet]]
 
| [[APT:PrepareToStartResidentApplet|PrepareToStartResidentApplet]]
Line 446: Line 505:  
| 0x003A0044
 
| 0x003A0044
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:StartResidentApplet|StartResidentApplet]]
 
| [[APT:StartResidentApplet|StartResidentApplet]]
Line 451: Line 511:  
| 0x003B0040
 
| 0x003B0040
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:CancelLibraryApplet|CancelLibraryApplet]]
 
| [[APT:CancelLibraryApplet|CancelLibraryApplet]]
Line 456: Line 517:  
| 0x003C0042
 
| 0x003C0042
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:SendDspSleep|SendDspSleep]]
 
| [[APT:SendDspSleep|SendDspSleep]]
Line 461: Line 523:  
| 0x003D0042
 
| 0x003D0042
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:SendDspWakeUp|SendDspWakeUp]]
 
| [[APT:SendDspWakeUp|SendDspWakeUp]]
Line 466: Line 529:  
| 0x003E0080
 
| 0x003E0080
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:ReplySleepQuery|ReplySleepQuery]]
 
| [[APT:ReplySleepQuery|ReplySleepQuery]]
Line 471: Line 535:  
| 0x003F0040
 
| 0x003F0040
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:ReplySleepNotificationComplete|ReplySleepNotificationComplete]]
 
| [[APT:ReplySleepNotificationComplete|ReplySleepNotificationComplete]]
Line 476: Line 541:  
| 0x00400042
 
| 0x00400042
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:SendCaptureBufferInfo|SendCaptureBufferInfo]]
 
| [[APT:SendCaptureBufferInfo|SendCaptureBufferInfo]]
Line 481: Line 547:  
| 0x00410040
 
| 0x00410040
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:ReceiveCaptureBufferInfo|ReceiveCaptureBufferInfo]]
 
| [[APT:ReceiveCaptureBufferInfo|ReceiveCaptureBufferInfo]]
Line 486: Line 553:  
| 0x00420080
 
| 0x00420080
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:SleepSystem|SleepSystem]]
 
| [[APT:SleepSystem|SleepSystem]]
Line 491: Line 559:  
| 0x00430040
 
| 0x00430040
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:NotifyToWait|NotifyToWait]]
 
| [[APT:NotifyToWait|NotifyToWait]]
Line 496: Line 565:  
| 0x00440000
 
| 0x00440000
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:GetSharedFont|GetSharedFont]]
 
| [[APT:GetSharedFont|GetSharedFont]]
Line 501: Line 571:  
| 0x00450040
 
| 0x00450040
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:GetWirelessRebootInfo|GetWirelessRebootInfo]]
 
| [[APT:GetWirelessRebootInfo|GetWirelessRebootInfo]]
Line 506: Line 577:  
| 0x00460104
 
| 0x00460104
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:Wrap|Wrap]]
 
| [[APT:Wrap|Wrap]]
Line 511: Line 583:  
| 0x00470104
 
| 0x00470104
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:Unwrap|Unwrap]]
 
| [[APT:Unwrap|Unwrap]]
Line 516: Line 589:  
| 0x00480100
 
| 0x00480100
 
|  
 
|  
 +
| No
 
| No
 
| No
 
| [[APT:GetProgramInfo|GetProgramInfo]]
 
| [[APT:GetProgramInfo|GetProgramInfo]]
Line 521: Line 595:  
| 0x00490180
 
| 0x00490180
 
|  
 
|  
 +
| No
 
| No
 
| No
 
| [[APT:Reboot|Reboot]]
 
| [[APT:Reboot|Reboot]]
Line 526: Line 601:  
| 0x004A0040
 
| 0x004A0040
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:GetCaptureInfo|GetCaptureInfo]]
 
| [[APT:GetCaptureInfo|GetCaptureInfo]]
Line 531: Line 607:  
| 0x004B00C2
 
| 0x004B00C2
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:AppletUtility|AppletUtility]]
 
| [[APT:AppletUtility|AppletUtility]]
Line 536: Line 613:  
| 0x004C0000
 
| 0x004C0000
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:SetFatalErrDispMode|SetFatalErrDispMode]]
 
| [[APT:SetFatalErrDispMode|SetFatalErrDispMode]]
Line 541: Line 619:  
| 0x004D0080
 
| 0x004D0080
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:GetAppletProgramInfo|GetAppletProgramInfo]]
 
| [[APT:GetAppletProgramInfo|GetAppletProgramInfo]]
Line 546: Line 625:  
| 0x004E0000
 
| 0x004E0000
 
|  
 
|  
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:HardwareResetAsync|HardwareResetAsync]]
 
| [[APT:HardwareResetAsync|HardwareResetAsync]]
Line 551: Line 631:  
| 0x004F0080
 
| 0x004F0080
 
| [[2.2.0-X]]
 
| [[2.2.0-X]]
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:SetApplicationCpuTimeLimit|SetApplicationCpuTimeLimit]]
 
| [[APT:SetApplicationCpuTimeLimit|SetApplicationCpuTimeLimit]]
Line 556: Line 637:  
| 0x00500040
 
| 0x00500040
 
| [[2.2.0-X]]
 
| [[2.2.0-X]]
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:GetApplicationCpuTimeLimit|GetApplicationCpuTimeLimit]]
 
| [[APT:GetApplicationCpuTimeLimit|GetApplicationCpuTimeLimit]]
Line 561: Line 643:  
| 0x00510080
 
| 0x00510080
 
| [[3.0.0-5]]
 
| [[3.0.0-5]]
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:GetStartupArgument|GetStartupArgument]]
 
| [[APT:GetStartupArgument|GetStartupArgument]]
Line 566: Line 649:  
| 0x00520104
 
| 0x00520104
 
| [[4.0.0-7]]
 
| [[4.0.0-7]]
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:Wrap1|Wrap1]]
 
| [[APT:Wrap1|Wrap1]]
Line 571: Line 655:  
| 0x00530104
 
| 0x00530104
 
| [[4.0.0-7]]
 
| [[4.0.0-7]]
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:Unwrap1|Unwrap1]]
 
| [[APT:Unwrap1|Unwrap1]]
Line 576: 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
| [[APT:SetScreencapPostPermission|SetScreencapPostPermission]]
+
| Yes
 +
| [[APT:SetScreenCapturePostPermission|SetScreenCapturePostPermission]]
 
|-
 
|-
 
| 0x00560000
 
| 0x00560000
 
| [[7.0.0-13]]
 
| [[7.0.0-13]]
 
| Yes
 
| Yes
| [[APT:GetScreencapPostPermission|GetScreencapPostPermission]]
+
| Yes
 +
| [[APT:GetScreenCapturePostPermission|GetScreenCapturePostPermission]]
 
|-
 
|-
 
| 0x00570044
 
| 0x00570044
 
| [[7.0.0-13]]
 
| [[7.0.0-13]]
| ?
+
| Yes
 +
| Yes
 
| [[APT:WakeupApplication2|WakeupApplication2]]
 
| [[APT:WakeupApplication2|WakeupApplication2]]
 
|-
 
|-
 
| 0x00580002
 
| 0x00580002
 
| [[7.0.0-13]]
 
| [[7.0.0-13]]
 +
| Yes
 
| Yes
 
| Yes
 
| [[APT:GetProgramID|GetProgramID]]
 
| [[APT:GetProgramID|GetProgramID]]
Line 602: 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 612: Line 704:  
| [[8.0.0-18]]
 
| [[8.0.0-18]]
 
| Yes
 
| Yes
| This writes an output u8 to cmdreply[2], the value is determined by checking various NS internal state + whether this is a New3DS.
+
| Yes
The normal output seems to be value 0x2. Forcing this value to 0x1 causes New3DS HID usage(via ir:USER) in Smash Bros to be disabled.
+
| [[APT:GetApplicationRunningMode|GetApplicationRunningMode]]
 
|-
 
|-
 
| 0x01040000
 
| 0x01040000
 
| [[8.0.0-18]]
 
| [[8.0.0-18]]
| ?
+
| Yes
 +
| Yes
 
| [[APT:IsStandardMemoryLayout|IsStandardMemoryLayout]]
 
| [[APT:IsStandardMemoryLayout|IsStandardMemoryLayout]]
 
|-
 
|-
 
| 0x01050100
 
| 0x01050100
 
| [[10.4.0-29]]
 
| [[10.4.0-29]]
| ?
+
| Yes
 +
| Yes
 
| [[APT:IsTitleAllowed|IsTitleAllowed]]
 
| [[APT:IsTitleAllowed|IsTitleAllowed]]
 
|}
 
|}
Line 980: 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. 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 1,120: 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]]
164

edits