Changes

Jump to navigation Jump to search
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]]

Navigation menu