Line 65: |
Line 65: |
| | | |
| == ISystemAppletProxy == | | == ISystemAppletProxy == |
| + | This is "nn::am::service::ISystemAppletProxy". |
| + | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 95: |
Line 97: |
| | | |
| === IHomeMenuFunctions === | | === IHomeMenuFunctions === |
| + | This is "nn::am::service::IHomeMenuFunctions". |
| + | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 116: |
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 156: |
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 172: |
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 180: |
Line 200: |
| | | |
| ==== ILockAccessor ==== | | ==== ILockAccessor ==== |
| + | This is "nn::am::service::ILockAccessor". |
| + | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 210: |
Line 232: |
| | | |
| === IGlobalStateController === | | === IGlobalStateController === |
| + | This is "nn::am::service::IGlobalStateController". |
| + | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 581: |
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 627: |
Line 665: |
| | | |
| == ILibraryAppletProxy == | | == ILibraryAppletProxy == |
| + | This is "nn::am::service::ILibraryAppletProxy". |
| + | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 648: |
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 653: |
Line 697: |
| | | |
| === ILibraryAppletSelfAccessor === | | === ILibraryAppletSelfAccessor === |
| + | This is "nn::am::service::ILibraryAppletSelfAccessor". |
| + | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 726: |
Line 772: |
| |- | | |- |
| | 150 || [10.0.0+] [[#ShouldSetGpuTimeSliceManually]] || | | | 150 || [10.0.0+] [[#ShouldSetGpuTimeSliceManually]] || |
| + | |- |
| + | | 160 || [17.0.0+] [[#Cmd160]] || |
| |} | | |} |
| | | |
Line 858: |
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 == |
| + | This is "nn::am::service::IOverlayAppletProxy". |
| + | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 881: |
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 886: |
Line 941: |
| | | |
| === IOverlayFunctions === | | === IOverlayFunctions === |
| + | This is "nn::am::service::IOverlayFunctions". |
| + | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 915: |
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 980: |
Line 1,041: |
| | | |
| == IApplicationProxy == | | == IApplicationProxy == |
| + | This is "nn::am::service::IApplicationProxy". |
| + | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 1,004: |
Line 1,067: |
| | | |
| === IApplicationFunctions === | | === IApplicationFunctions === |
| + | This is "nn::am::service::IApplicationFunctions". |
| + | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 1,050: |
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,284: |
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,405: |
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,415: |
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 === |
| + | This is "nn::am::service::IMovieMaker". |
| + | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 1,433: |
Line 1,504: |
| | | |
| == ILibraryAppletCreator == | | == ILibraryAppletCreator == |
| + | This is "nn::am::service::ILibraryAppletCreator". |
| + | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 1,485: |
Line 1,558: |
| | | |
| === ILibraryAppletAccessor === | | === ILibraryAppletAccessor === |
| + | This is "nn::am::service::ILibraryAppletAccessor". |
| + | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 1,577: |
Line 1,652: |
| | | |
| == ICommonStateGetter == | | == ICommonStateGetter == |
| + | This is "nn::am::service::ICommonStateGetter". |
| + | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 1,680: |
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,872: |
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 1,922: |
Line 2,005: |
| | | |
| == ISelfController == | | == ISelfController == |
| + | This is "nn::am::service::ISelfController". |
| + | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 2,253: |
Line 2,338: |
| | | |
| == IStorageChannel == | | == IStorageChannel == |
− | Added with [[7.0.0]].
| + | This is "nn::am::service::IStorageChannel". |
| + | |
| + | This was added with [7.0.0+]. |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 2,271: |
Line 2,358: |
| | | |
| == IWindowController == | | == IWindowController == |
| + | This is "nn::am::service::IWindowController". |
| + | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 2,327: |
Line 2,416: |
| | | |
| == IAudioController == | | == IAudioController == |
| + | This is "nn::am::service::IAudioController". |
| + | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 2,362: |
Line 2,453: |
| | | |
| == IDisplayController == | | == IDisplayController == |
| + | This is "nn::am::service::IDisplayController". |
| + | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 2,564: |
Line 2,657: |
| | | |
| == ISystemAppletControllerForDebug == | | == ISystemAppletControllerForDebug == |
| + | This is "nn::am::service::ISystemAppletControllerForDebug". |
| + | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 2,587: |
Line 2,682: |
| | | |
| == IProcessWindingController == | | == IProcessWindingController == |
| + | This is "nn::am::service::IProcessWindingController". |
| + | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 2,637: |
Line 2,734: |
| | | |
| == IDebugFunctions == | | == IDebugFunctions == |
| + | This is "nn::am::service::IDebugFunctions". |
| + | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 2,654: |
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,676: |
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 2,757: |
Line 2,874: |
| | | |
| == IStorage == | | == IStorage == |
| + | This is "nn::am::service::IStorage". |
| + | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 2,771: |
Line 2,890: |
| | | |
| == IStorageAccessor == | | == IStorageAccessor == |
| + | This is "nn::am::service::IStorageAccessor". |
| + | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 2,783: |
Line 2,904: |
| | | |
| == ITransferStorageAccessor == | | == ITransferStorageAccessor == |
| + | This is "nn::am::service::ITransferStorageAccessor". |
| + | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 2,920: |
Line 3,043: |
| | | |
| == ICradleFirmwareUpdater == | | == ICradleFirmwareUpdater == |
− | This is "nn::omm::detail::ICradleFirmwareUpdater". | + | This is "nn::am::service::ICradleFirmwareUpdater". |
| | | |
| This was added with [12.0.0+]. | | This was added with [12.0.0+]. |
Line 3,033: |
Line 3,156: |
| Takes an input 0x40-byte struct '''ScreenShotAttributeEx0''', an input u32, an input u64 AppletResourceUserId, a type-0x15 input buffer containing an [[Capture_services|UserIdList]], and a type-0x45 input buffer containing image data. Returns an [[Capture_services|ApplicationAlbumEntry]]. | | Takes an input 0x40-byte struct '''ScreenShotAttributeEx0''', an input u32, an input u64 AppletResourceUserId, a type-0x15 input buffer containing an [[Capture_services|UserIdList]], and a type-0x45 input buffer containing image data. Returns an [[Capture_services|ApplicationAlbumEntry]]. |
| | | |
− | = Library Applets = | + | = apm = |
− | This section documents library applet launching. | + | This is "nn::am::service::IApmManager". |
| | | |
− | Before starting the applet, [[#IStorage]]s are [[#ILibraryAppletCreator|created]] and written, then passed to [[#ILibraryAppletAccessor]] PushInData. The [[#IStorage]] session is closed afterwards. The first [[#IStorage]] is [[#CommonArguments]], followed by any applet-specific [[#IStorage]]s.
| + | This was added with [8.0.0+]. |
| | | |
− | Once the applet finishes running successfully, [[#ILibraryAppletAccessor]] PopOutData can be used to get the applet-specific [[#IStorage]] containing the applet output data.
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Cmd || Name |
| + | |- |
| + | | 0 || [[#OpenSession]] |
| + | |- |
| + | | 1 || GetPerformanceMode |
| + | |- |
| + | | 6 || [7.0.0+] [[#IsCpuOverclockEnabled]] |
| + | |} |
| | | |
− | == CommonArguments == | + | == OpenSession == |
− | The first [[#CreateStorage|IStorage]] passed to applets should contain the common library applet arguments. This is populated by <code>nn::la::CommonArgumentsWriter</code> and has the following format.
| + | Returns an [[#ISession]]. |
| | | |
− | This struct is 0x20-bytes.
| + | == IsCpuOverclockEnabled == |
| + | No input, returns an output u8 bool. |
| | | |
− | Official sw handles the first 8-bytes separately, which is a header. With CommonArguments version 0x0, the header is 4-bytes, while starting with version 0x1 it's 8-bytes. | + | == ISession == |
| + | This is "nn::am::service::IApmSession". |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Cmd || Name |
| + | |- |
| + | | 0 || SetPerformanceConfiguration |
| + | |- |
| + | | 1 || GetPerformanceConfiguration |
| + | |- |
| + | | 2 || [8.0.0+] SetCpuOverclockEnabled |
| + | |} |
| + | |
| + | = Library Applets = |
| + | This section documents library applet launching. |
| + | |
| + | Before starting the applet, [[#IStorage]]s are [[#ILibraryAppletCreator|created]] and written, then passed to [[#ILibraryAppletAccessor]] PushInData. The [[#IStorage]] session is closed afterwards. The first [[#IStorage]] is [[#CommonArguments]], followed by any applet-specific [[#IStorage]]s. |
| + | |
| + | Once the applet finishes running successfully, [[#ILibraryAppletAccessor]] PopOutData can be used to get the applet-specific [[#IStorage]] containing the applet output data. |
| + | |
| + | == CommonArguments == |
| + | The first [[#CreateStorage|IStorage]] passed to applets should contain the common library applet arguments. This is populated by <code>nn::la::CommonArgumentsWriter</code> and has the following format. |
| + | |
| + | This struct is 0x20-bytes. |
| + | |
| + | Official sw handles the first 8-bytes separately, which is a header. With CommonArguments version 0x0, the header is 4-bytes, while starting with version 0x1 it's 8-bytes. |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 3,189: |
Line 3,348: |
| | 0100000000001038 | | | 0100000000001038 |
| | [10.0.0+] LibraryAppletSample (sample) | | | [10.0.0+] LibraryAppletSample (sample) |
| + | |- |
| + | | 0x22 |
| + | | 0100000000001007 |
| + | | [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 | | | 0x3E8 |
| | | | | |
− | | [10.0.0+] DevlopmentTool | + | | [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 |
| + | |} |
| + | |
| = LibraryAppletMode = | | = LibraryAppletMode = |
| This is "nn::applet::LibraryAppletMode". | | This is "nn::applet::LibraryAppletMode". |
Line 3,292: |
Line 3,551: |
| |- | | |- |
| | 6 || ApplicationExited | | | 6 || ApplicationExited |
| + | |- |
| + | | 7 || |
| |- | | |- |
| | 15 || [[#FocusState|FocusStateChanged]] | | | 15 || [[#FocusState|FocusStateChanged]] |
Line 3,324: |
Line 3,585: |
| |- | | |- |
| | 33 || SdCardRemoved | | | 33 || SdCardRemoved |
| + | |- |
| + | | 34 || |
| |- | | |- |
| | 50 || LaunchApplicationRequested | | | 50 || LaunchApplicationRequested |
Line 3,334: |
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,342: |
Line 3,633: |
| |- | | |- |
| | 93 || AlbumRecordingSaved | | | 93 || AlbumRecordingSaved |
| + | |- |
| + | | 94 || |
| + | |- |
| + | | 100 || |
| + | |- |
| + | | 101 || |
| + | |- |
| + | | 110 || [14.0.0+] DetectShortPressingCaptureButtonForApplet |
| + | |- |
| + | | 111 || [14.0.0+] DetectLongPressingCaptureButtonForApplet |
| + | |- |
| + | | 1000 || |
| |} | | |} |
| | | |
Line 3,524: |
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,669: |
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]] |