Line 120: |
Line 120: |
| |- | | |- |
| | 41 || [12.0.0+] [[#IsRebootEnabled]] | | | 41 || [12.0.0+] [[#IsRebootEnabled]] |
| + | |- |
| + | | 50 || [16.0.0+] [[#LaunchSystemApplet]] |
| + | |- |
| + | | 51 || [16.0.0+] [[#LaunchStarter]] |
| |- | | |- |
| | 100 || [6.0.0+] [[#PopRequestLaunchApplicationForDebug]] | | | 100 || [6.0.0+] [[#PopRequestLaunchApplicationForDebug]] |
Line 160: |
Line 164: |
| ==== IsRebootEnabled ==== | | ==== IsRebootEnabled ==== |
| No input, returns an output bool. | | No input, returns an output bool. |
| + | |
| + | ==== LaunchSystemApplet ==== |
| + | No input/output. |
| + | |
| + | This wraps [[NS_Services|ns]] LaunchSystemApplet, ignoring the u64 returned by that cmd (and other functionality). |
| + | |
| + | ==== LaunchStarter ==== |
| + | No input/output. |
| + | |
| + | This is similar to [[#LaunchSystemApplet]], except this uses [[NS_Services|ns]] LaunchLibraryApplet with a ProgramId from global state. |
| + | |
| + | The global state field is initialized elsewhere with the value of [[System_Settings|system-setting]] <code>am.debug!starter_id</code>, defaulting to ProgramId 0100000000001012 ([[Title_list|starter]]) if not available. |
| | | |
| ==== PopRequestLaunchApplicationForDebug ==== | | ==== PopRequestLaunchApplicationForDebug ==== |
Line 176: |
Line 192: |
| The cached value loaded from [[Settings_services#GetDebugModeFlag]] must be 1, otherwise an error is returned. | | The cached value loaded from [[Settings_services#GetDebugModeFlag]] must be 1, otherwise an error is returned. |
| | | |
− | Uses [[NS_Services#IApplicationManagerInterface]] cmd99. | + | Uses [[NS_Services|ns]] LaunchDevMenu. |
| | | |
| This is used by [[qlaunch]]. On success, official sw will enter an infinite loop with sleep-thread value 86400000000000. | | This is used by [[qlaunch]]. On success, official sw will enter an infinite loop with sleep-thread value 86400000000000. |
Line 589: |
Line 605: |
| |- | | |- |
| | 81 || [14.0.0+] SetHandlingCaptureButtonLongPressedMessageEnabledForApplet | | | 81 || [14.0.0+] SetHandlingCaptureButtonLongPressedMessageEnabledForApplet |
| + | |- |
| + | | 82 || [18.0.0+] |
| + | |- |
| + | | 90 || [15.0.0+] OpenNamedChannelAsParent |
| + | |- |
| + | | 91 || [15.0.0+] OpenNamedChannelAsChild |
| + | |- |
| + | | 100 || [15.0.0+] SetApplicationCoreUsageMode |
| + | |- |
| + | | 160 || [18.0.0+] |
| + | |- |
| + | | 161 || [18.0.0+] |
| + | |- |
| + | | 300 || [17.0.0+] |
| |} | | |} |
| | | |
Line 658: |
Line 688: |
| |- | | |- |
| | 21 || [7.0.0+] GetAppletCommonFunctions || No input, returns an [[#IAppletCommonFunctions]]. | | | 21 || [7.0.0+] GetAppletCommonFunctions || No input, returns an [[#IAppletCommonFunctions]]. |
| + | |- |
| + | | 22 || [15.0.0+] GetHomeMenuFunctions || No input, returns an [[#IHomeMenuFunctions]]. |
| + | |- |
| + | | 23 || [15.0.0+] GetGlobalStateController || No input, returns an [[#IGlobalStateController]]. |
| |- | | |- |
| | 1000 || GetDebugFunctions || Returns an [[#IDebugFunctions]]. | | | 1000 || GetDebugFunctions || Returns an [[#IDebugFunctions]]. |
Line 738: |
Line 772: |
| |- | | |- |
| | 150 || [10.0.0+] [[#ShouldSetGpuTimeSliceManually]] || | | | 150 || [10.0.0+] [[#ShouldSetGpuTimeSliceManually]] || |
| + | |- |
| + | | 160 || [17.0.0+] [[#Cmd160]] || |
| |} | | |} |
| | | |
Line 870: |
Line 906: |
| ==== ShouldSetGpuTimeSliceManually ==== | | ==== ShouldSetGpuTimeSliceManually ==== |
| No input, returns an output u8 bool. | | No input, returns an output u8 bool. |
| + | |
| + | ==== Cmd160 ==== |
| + | No input, returns an output u64. Currently always returns 0. |
| | | |
| == IOverlayAppletProxy == | | == IOverlayAppletProxy == |
Line 895: |
Line 934: |
| |- | | |- |
| | 21 || [7.0.0+] GetAppletCommonFunctions || No input, returns an [[#IAppletCommonFunctions]]. | | | 21 || [7.0.0+] GetAppletCommonFunctions || No input, returns an [[#IAppletCommonFunctions]]. |
| + | |- |
| + | | 23 || [15.0.0+] GetGlobalStateController || No input, returns an [[#IGlobalStateController]]. |
| |- | | |- |
| | 1000 || GetDebugFunctions || Returns an [[#IDebugFunctions]]. | | | 1000 || GetDebugFunctions || Returns an [[#IDebugFunctions]]. |
Line 931: |
Line 972: |
| |- | | |- |
| | 31 || [10.0.0+] [[#IsHealthWarningRequired]] | | | 31 || [10.0.0+] [[#IsHealthWarningRequired]] |
| + | |- |
| + | | 40 || [18.0.0+] |
| + | |- |
| + | | 41 || [18.0.0+] |
| |- | | |- |
| | 90 || [7.0.0+] [[#SetRequiresGpuResourceUse]] | | | 90 || [7.0.0+] [[#SetRequiresGpuResourceUse]] |
Line 1,070: |
Line 1,115: |
| | 33 || [[#EndBlockingHomeButton]] | | | 33 || [[#EndBlockingHomeButton]] |
| |- | | |- |
− | | 34 || [10.0.0+] [[#SelectApplicationLicense]] | + | | 34 || [10.0.0-15.0.1] [[#SelectApplicationLicense]] |
| |- | | |- |
| | 35 || [11.0.0+] [[#GetDeviceSaveDataSizeMax]] | | | 35 || [11.0.0+] [[#GetDeviceSaveDataSizeMax]] |
Line 1,304: |
Line 1,349: |
| | | |
| User-processes create the tmem with an user-specified buffer with permissions=0. '''width''' = 1280 and '''height''' = 720. | | User-processes create the tmem with an user-specified buffer with permissions=0. '''width''' = 1280 and '''height''' = 720. |
| + | |
| + | After the validation checks pass the input is passed to [[OMM_services|ommdisp]] cmd500. |
| | | |
| This is used as an overlay for screenshots. | | This is used as an overlay for screenshots. |
Line 1,425: |
Line 1,472: |
| | | |
| ==== PrepareForJit ==== | | ==== PrepareForJit ==== |
− | Takes no input. Launches the [[JIT_services|jit-sysmodule]] if it has not already been launched for the current application, storing a std::shared_ptr<> for jit-sysmodule process tracking object as an IApplicationFunctions member. | + | Takes no input. Launches the [[JIT_services|jit-sysmodule]] via [[NS_Services|ns]] LaunchLibraryApplet if it has not already been launched for the current application, storing a std::shared_ptr<> for jit-sysmodule process tracking object as an IApplicationFunctions member. |
| | | |
| ~IApplicationFunctions() includes: | | ~IApplicationFunctions() includes: |
Line 1,435: |
Line 1,482: |
| | | |
| Thus the lifetime of the jit sysmodule is tied to the application which uses it, and each application gets its own fresh copy of the jit sysmodule. | | Thus the lifetime of the jit sysmodule is tied to the application which uses it, and each application gets its own fresh copy of the jit sysmodule. |
| + | |
| + | AM can also optionally launch jit-sysmodule automatically if the [[NACP]] enables it. |
| | | |
| === IMovieMaker === | | === IMovieMaker === |
Line 1,708: |
Line 1,757: |
| |- | | |- |
| | 503 || [12.0.0+] IsDisablingSleepSuppressed | | | 503 || [12.0.0+] IsDisablingSleepSuppressed |
| + | |- |
| + | | 600 || [17.0.0+] OpenNamedChannelAsChild |
| |- | | |- |
| | 900 || [11.0.0+] [[#SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled]] | | | 900 || [11.0.0+] [[#SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled]] |
| + | |- |
| + | | 910 || [17.0.0+] GetLaunchRequiredTick |
| |} | | |} |
| | | |
Line 1,900: |
Line 1,953: |
| === ActivateMigrationService === | | === ActivateMigrationService === |
| No input/output. | | No input/output. |
| + | |
| + | Besides various other functionality, if required this eventually uses [[NS_Services|ns]] LaunchLibraryApplet to launch [[Migration_services|migration]]. |
| | | |
| === DeactivateMigrationService === | | === DeactivateMigrationService === |
Line 2,698: |
Line 2,753: |
| |- | | |- |
| | 40 || [6.0.0+] [[#GetAppletResourceUsageInfo]] | | | 40 || [6.0.0+] [[#GetAppletResourceUsageInfo]] |
| + | |- |
| + | | 50 || [15.0.0+] AddSystemProgramIdAndAppletIdForDebug |
| + | |- |
| + | | 51 || [16.0.0+] AddOperationConfirmedLibraryAppletIdForDebug |
| + | |- |
| + | | 52 || [17.0.0+] GetProgramIdFromAppletIdForDebug |
| + | |- |
| + | | 53 || [18.0.0+] |
| |- | | |- |
| | 100 || [7.0.0+] [[#SetCpuBoostModeForApplet]] | | | 100 || [7.0.0+] [[#SetCpuBoostModeForApplet]] |
Line 2,720: |
Line 2,783: |
| |- | | |- |
| | 140 || [14.0.0+] RestrictPowerOperationForSecureLaunchModeForDebug | | | 140 || [14.0.0+] RestrictPowerOperationForSecureLaunchModeForDebug |
| + | |- |
| + | | 200 || [15.0.0+] CreateFloatingLibraryAppletAccepterForDebug |
| + | |- |
| + | | 300 || [16.0.0+] TerminateAllRunningApplicationsForDebug |
| + | |- |
| + | | 410 || [18.0.0+] |
| + | |- |
| + | | 411 || [18.0.0+] |
| + | |- |
| + | | 412 || [18.0.0+] |
| |- | | |- |
| | 900 || [12.0.0+] GetGrcProcessLaunchedSystemEvent | | | 900 || [12.0.0+] GetGrcProcessLaunchedSystemEvent |
Line 3,276: |
Line 3,349: |
| | [10.0.0+] LibraryAppletSample (sample) | | | [10.0.0+] LibraryAppletSample (sample) |
| |- | | |- |
− | | 0x3E8 | + | | 0x22 |
− | | | + | | 0100000000001007 |
− | | [10.0.0+] DevlopmentTool | + | | [13.0.0+] LibraryAppletPromoteQualification (playerSelect) |
| + | |- |
| + | | 0x32 |
| + | | 010000000000100F |
| + | | [17.0.0+] [[Internet_Browser#Offline_Applet|LibraryAppletOfflineWeb (offlineWeb)]] |
| + | |- |
| + | | 0x33 |
| + | | 010000000000100F |
| + | | [17.0.0+] [[Internet_Browser#Offline_Applet|LibraryAppletOfflineWeb (offlineWeb)]] |
| + | |- |
| + | | 0x35 |
| + | | [17.0.0+] 0100000000001010 ([16.0.0-16.1.0] 0100000000001042) |
| + | | [17.0.0+] [[Internet_Browser#Whitelisted_Applets|LibraryAppletLoginShare (loginShare)]] ([16.0.0-16.1.0] ) |
| + | |- |
| + | | 0x36 |
| + | | [17.0.0+] 0100000000001010 ([16.0.0-16.1.0] 0100000000001042) |
| + | | [17.0.0+] [[Internet_Browser#Whitelisted_Applets|LibraryAppletLoginShare (loginShare)]] ([16.0.0-16.1.0] ) |
| + | |- |
| + | | 0x37 |
| + | | [17.0.0+] 0100000000001010 ([16.0.0-16.1.0] 0100000000001042) |
| + | | [17.0.0+] [[Internet_Browser#Whitelisted_Applets|LibraryAppletLoginShare (loginShare)]] ([16.0.0-16.1.0] ) |
| + | |- |
| + | | 0x38 |
| + | | 0100000000001043 |
| + | | [16.0.0-16.1.0] |
| + | |- |
| + | | 0x50 |
| + | | 0100000000001007 |
| + | | [18.0.0+] |
| + | |- |
| + | | 0x51 |
| + | | 0100000000001007 |
| + | | [18.0.0+] |
| + | |- |
| + | | 0x3E8 |
| + | | |
| + | | [10.0.0-16.1.0] DevlopmentTool |
| |- | | |- |
| | 0x3F1 | | | 0x3F1 |
| | 010000000000D619 | | | 010000000000D619 |
− | | [10.0.0+] CombinationLA | + | | [10.0.0-16.1.0] CombinationLA |
| |- | | |- |
| | 0x3F2 | | | 0x3F2 |
| | 010000000000D610 | | | 010000000000D610 |
− | | [10.0.0+] AeSystemApplet | + | | [10.0.0-16.1.0] AeSystemApplet |
| |- | | |- |
| | 0x3F3 | | | 0x3F3 |
| | 010000000000D611 | | | 010000000000D611 |
− | | [10.0.0+] AeOverlayApplet | + | | [10.0.0-16.1.0] AeOverlayApplet |
| |- | | |- |
| | 0x3F4 | | | 0x3F4 |
| | 010000000000D612 | | | 010000000000D612 |
− | | [10.0.0+] AeStarter | + | | [10.0.0-16.1.0] AeStarter |
| |- | | |- |
| | 0x3F5 | | | 0x3F5 |
| | 010000000000D613 | | | 010000000000D613 |
− | | [10.0.0+] AeLibraryAppletAlone | + | | [10.0.0-16.1.0] AeLibraryAppletAlone |
| |- | | |- |
| | 0x3F6 | | | 0x3F6 |
| | 010000000000D614 | | | 010000000000D614 |
− | | [10.0.0+] AeLibraryApplet1 | + | | [10.0.0-16.1.0] AeLibraryApplet1 |
| |- | | |- |
| | 0x3F7 | | | 0x3F7 |
| | 010000000000D615 | | | 010000000000D615 |
− | | [10.0.0+] AeLibraryApplet2 | + | | [10.0.0-16.1.0] AeLibraryApplet2 |
| |- | | |- |
| | 0x3F8 | | | 0x3F8 |
| | 010000000000D616 | | | 010000000000D616 |
− | | [10.0.0+] AeLibraryApplet3 | + | | [10.0.0-16.1.0] AeLibraryApplet3 |
| |- | | |- |
| | 0x3F9 | | | 0x3F9 |
| | 010000000000D617 | | | 010000000000D617 |
− | | [10.0.0+] AeLibraryApplet4 | + | | [10.0.0-16.1.0] AeLibraryApplet4 |
| |- | | |- |
| | 0x3FA | | | 0x3FA |
| | 010000000000D60A | | | 010000000000D60A |
− | | [10.0.0+] AppletISA | + | | [10.0.0-16.1.0] AppletISA |
| |- | | |- |
| | 0x3FB | | | 0x3FB |
| | 010000000000D60B | | | 010000000000D60B |
− | | [10.0.0+] AppletIOA | + | | [10.0.0-16.1.0] AppletIOA |
| |- | | |- |
| | 0x3FC | | | 0x3FC |
| | 010000000000D60C | | | 010000000000D60C |
− | | [10.0.0+] AppletISTA | + | | [10.0.0-16.1.0] AppletISTA |
| |- | | |- |
| | 0x3FD | | | 0x3FD |
| | 010000000000D60D | | | 010000000000D60D |
− | | [10.0.0+] AppletILA1 | + | | [10.0.0-16.1.0] AppletILA1 |
| |- | | |- |
| | 0x3FE | | | 0x3FE |
| | 010000000000D60E | | | 010000000000D60E |
− | | [10.0.0+] AppletILA2 | + | | [10.0.0-16.1.0] AppletILA2 |
| + | |- |
| + | | 0x700000C8 |
| + | | 010000000000D65B |
| + | | [18.0.0+] |
| + | |- |
| + | | 0x700000C9 |
| + | | 010000000000D65C |
| + | | [18.0.0+] |
| + | |- |
| + | | 0x700000DC |
| + | | 010000000000D619 |
| + | | [17.0.0+] CombinationLA |
| + | |- |
| + | | 0x700000E6 |
| + | | 010000000000D610 |
| + | | [17.0.0+] AeSystemApplet |
| + | |- |
| + | | 0x700000E7 |
| + | | 010000000000D611 |
| + | | [17.0.0+] AeOverlayApplet |
| + | |- |
| + | | 0x700000E8 |
| + | | 010000000000D612 |
| + | | [17.0.0+] AeStarter |
| + | |- |
| + | | 0x700000E9 |
| + | | 010000000000D613 |
| + | | [17.0.0+] AeLibraryAppletAlone |
| + | |- |
| + | | 0x700000EA |
| + | | 010000000000D614 |
| + | | [17.0.0+] AeLibraryApplet1 |
| + | |- |
| + | | 0x700000EB |
| + | | 010000000000D615 |
| + | | [17.0.0+] AeLibraryApplet2 |
| + | |- |
| + | | 0x700000EC |
| + | | 010000000000D616 |
| + | | [17.0.0+] AeLibraryApplet3 |
| + | |- |
| + | | 0x700000ED |
| + | | 010000000000D617 |
| + | | [17.0.0+] AeLibraryApplet4 |
| + | |- |
| + | | 0x700000F0 |
| + | | 010000000000D60A |
| + | | [17.0.0+] AppletISA |
| + | |- |
| + | | 0x700000F1 |
| + | | 010000000000D60B |
| + | | [17.0.0+] AppletIOA |
| + | |- |
| + | | 0x700000F2 |
| + | | 010000000000D60C |
| + | | [17.0.0+] AppletISTA |
| + | |- |
| + | | 0x700000F3 |
| + | | 010000000000D60D |
| + | | [17.0.0+] AppletILA1 |
| + | |- |
| + | | 0x700000F4 |
| + | | 010000000000D60E |
| + | | [17.0.0+] AppletILA2 |
| |} | | |} |
| | | |
Line 3,378: |
Line 3,551: |
| |- | | |- |
| | 6 || ApplicationExited | | | 6 || ApplicationExited |
| + | |- |
| + | | 7 || |
| |- | | |- |
| | 15 || [[#FocusState|FocusStateChanged]] | | | 15 || [[#FocusState|FocusStateChanged]] |
Line 3,410: |
Line 3,585: |
| |- | | |- |
| | 33 || SdCardRemoved | | | 33 || SdCardRemoved |
| + | |- |
| + | | 34 || |
| |- | | |- |
| | 50 || LaunchApplicationRequested | | | 50 || LaunchApplicationRequested |
Line 3,420: |
Line 3,597: |
| |- | | |- |
| | 57 || ForceHideApplicationLogo | | | 57 || ForceHideApplicationLogo |
| + | |- |
| + | | 58 || |
| + | |- |
| + | | 59 || |
| |- | | |- |
| | 60 || FloatingApplicationDetected | | | 60 || FloatingApplicationDetected |
| + | |- |
| + | | 61 || [7.0.0+] PerformanceConfigurationChanged |
| + | |- |
| + | | 70 || |
| + | |- |
| + | | 71 || |
| + | |- |
| + | | 72 || |
| + | |- |
| + | | 73 || |
| + | |- |
| + | | 75 || |
| + | |- |
| + | | 80 || |
| + | |- |
| + | | 81 || |
| + | |- |
| + | | 82 || |
| + | |- |
| + | | 83 || |
| + | |- |
| + | | 85 || |
| + | |- |
| + | | 86 || |
| |- | | |- |
| | 90 || [[#SetRequiresCaptureButtonShortPressedMessage|DetectShortPressingCaptureButton]] | | | 90 || [[#SetRequiresCaptureButtonShortPressedMessage|DetectShortPressingCaptureButton]] |
Line 3,428: |
Line 3,633: |
| |- | | |- |
| | 93 || AlbumRecordingSaved | | | 93 || AlbumRecordingSaved |
| + | |- |
| + | | 94 || |
| + | |- |
| + | | 100 || |
| + | |- |
| + | | 101 || |
| + | |- |
| + | | 110 || [14.0.0+] DetectShortPressingCaptureButtonForApplet |
| + | |- |
| + | | 111 || [14.0.0+] DetectLongPressingCaptureButtonForApplet |
| + | |- |
| + | | 1000 || |
| |} | | |} |
| | | |
Line 3,610: |
Line 3,827: |
| | | |
| = AppletAttribute = | | = AppletAttribute = |
− | This is "nn::am::AppletAttribute". This struct is 0x8-bytes. | + | This is "nn::am::AppletAttribute". This struct is 0x80 bytes. |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 3,755: |
Line 3,972: |
| = LaunchRequiredVersion = | | = LaunchRequiredVersion = |
| This is "nn::oe::LaunchRequiredVersion". This is a 0x40-byte struct with 1-byte alignment. | | This is "nn::oe::LaunchRequiredVersion". This is a 0x40-byte struct with 1-byte alignment. |
| + | |
| + | = ServerEnvironmentType = |
| + | This is "nn::oe::ServerEnvironmentType". |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Value |
| + | ! Description |
| + | |- |
| + | | 0 || dd |
| + | |- |
| + | | 1 || lp |
| + | |- |
| + | | 2 || sd |
| + | |- |
| + | | 3 || sp |
| + | |- |
| + | | 4 || dp |
| + | |} |
| | | |
| = Notes = | | = Notes = |
− | AM-sysmodule will only initialize [[Shared_Database_services|pdm:ntfy]] / use pdm:ntfy service commands when the value from [[Process_Manager_services|pm:bm]] GetBootMode is not 0x1. | + | AM-sysmodule will only initialize [[Shared_Database_services|pdm:ntfy]] / use pdm:ntfy service commands when the value from [[Process_Manager_services|pm:bm]] GetBootMode is not 0x1 (Maintenance). |
| + | |
| + | An object constructor also writes the output from [[Process_Manager_services|pm:bm]] GetBootMode into the created object. A vfunc for this object checks whether this field is Maintenance: if so, it calls a vfunc then a func and returns. Otherwise after calling various (v)funcs, if required this eventually uses [[OMM_services|ommdisp]] cmd600. |
| | | |
| [[Category:Services]] | | [[Category:Services]] |