Difference between revisions of "APM services"
From Nintendo Switch Brew
(→PerformanceConfiguration) |
m (→PerformanceConfiguration) |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 11: | Line 11: | ||
|} | |} | ||
| − | == | + | == apm:p == |
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
! Cmd || Name || Notes | ! Cmd || Name || Notes | ||
|- | |- | ||
| − | | 0 || | + | | 0 || [[#ISession|GetISession]] || Same as apm ISession - but more privileged? |
|- | |- | ||
| − | | 1 || SetPerformanceConfiguration || Takes u32 PerformanceMode, u32 PerformanceConfiguration | + | | 1 || ? || |
| + | |} | ||
| + | |||
| + | |||
| + | == apm:sys == | ||
| + | Internally known as ISystemManager | ||
| + | |||
| + | |||
| + | |||
| + | == ISession == | ||
| + | {| class="wikitable" border="1" | ||
| + | |- | ||
| + | ! Cmd || Name || Notes | ||
| + | |- | ||
| + | | 0 || SetPerformanceConfiguration || Takes u32 PerformanceMode | ||
| + | |- | ||
| + | | 1 || GetPerformanceConfiguration || Takes u32 PerformanceMode, u32 PerformanceConfiguration | ||
|} | |} | ||
| Line 34: | Line 50: | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
| − | ! Value || | + | ! Value || CPU clock || GPU clock || Memory clock |
|- | |- | ||
| − | | | + | | 0x00010000 || 1020 || 384 || 1600 |
|- | |- | ||
| − | | | + | | 0x00010001 || 1020 || 768 || 1600 |
|- | |- | ||
| − | | | + | | 0x00010002 || 1224 || 691.2 || 1600 |
|- | |- | ||
| − | | | + | | 0x00020000 || 1020 || 230.4 || 1600 |
|- | |- | ||
| − | | | + | | 0x00020001 || 1020 || 307.2 || 1600 |
|- | |- | ||
| − | | | + | | 0x00020002 || 1224|| 230.4 || 1600 |
|- | |- | ||
| − | | | + | | 0x00020003 || 1020 || 307 || 1331.2 |
|- | |- | ||
| − | | | + | | 0x00020004 || 1020 || 384 || 1331.2 |
|- | |- | ||
| − | | | + | | 0x00020005 || 1020 || 307.2 || 1065.6 |
|- | |- | ||
| − | | | + | | 0x00020006 || 1020 || 384 || 1065.6 |
|- | |- | ||
| − | | 0x92220007 || | + | | 0x92220007 || 1020 || 460.8 || 1600 |
|- | |- | ||
| − | | 0x92220008 || | + | | 0x92220008 || 1020 || 460.8 || 1331.2 |
|} | |} | ||
| − | + | Clocks are all in MHz. | |
| − | |||
| − | |||
| + | Configurations 0x10001 and 0x20000 are only available while docked. Configurations 0x10002 and 0x20002 do not seem to be available at all (dependent on apm settings?). | ||
| − | |||
[[Category:Services]] | [[Category:Services]] | ||
Revision as of 05:08, 11 July 2017
APM is utilized for setting system performance profiles; including clocks for CPU, GPU, and memory.
apm
| Cmd | Name | Notes |
|---|---|---|
| 0 | GetISession | |
| 1 | GetPerformanceMode |
apm:p
| Cmd | Name | Notes |
|---|---|---|
| 0 | GetISession | Same as apm ISession - but more privileged? |
| 1 | ? |
apm:sys
Internally known as ISystemManager
ISession
| Cmd | Name | Notes |
|---|---|---|
| 0 | SetPerformanceConfiguration | Takes u32 PerformanceMode |
| 1 | GetPerformanceConfiguration | Takes u32 PerformanceMode, u32 PerformanceConfiguration |
PerformanceMode
| Value | Name |
|---|---|
| 0 | Handheld |
| 1 | Docked |
PerformanceConfiguration
| Value | CPU clock | GPU clock | Memory clock |
|---|---|---|---|
| 0x00010000 | 1020 | 384 | 1600 |
| 0x00010001 | 1020 | 768 | 1600 |
| 0x00010002 | 1224 | 691.2 | 1600 |
| 0x00020000 | 1020 | 230.4 | 1600 |
| 0x00020001 | 1020 | 307.2 | 1600 |
| 0x00020002 | 1224 | 230.4 | 1600 |
| 0x00020003 | 1020 | 307 | 1331.2 |
| 0x00020004 | 1020 | 384 | 1331.2 |
| 0x00020005 | 1020 | 307.2 | 1065.6 |
| 0x00020006 | 1020 | 384 | 1065.6 |
| 0x92220007 | 1020 | 460.8 | 1600 |
| 0x92220008 | 1020 | 460.8 | 1331.2 |
Clocks are all in MHz.
Configurations 0x10001 and 0x20000 are only available while docked. Configurations 0x10002 and 0x20002 do not seem to be available at all (dependent on apm settings?).