ScePower: Difference between revisions
CelesteBlue (talk | contribs) |
|||
(83 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
== Module == | == Module == | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version | ! Version !! World !! Privilege | ||
|- | |- | ||
| 3.60 | | 1.69-3.60 || Non-secure || Kernel | ||
|} | |} | ||
Line 19: | Line 16: | ||
! Version !! Name !! World !! Visibility !! NID | ! Version !! Name !! World !! Visibility !! NID | ||
|- | |- | ||
| 1. | | 1.000.071-3.740.011 || [[ScePower#ScePower|ScePower]] || Non-secure || User || 0x1082DA7F | ||
|- | |||
| 0.990.000-3.740.011 || [[ScePower#ScePowerForDriver|ScePowerForDriver]] || Non-secure || Kernel || 0x1590166F | |||
|- | |- | ||
| | | 0.990.000-0.996.090 || [[ScePower#SceLedForDriver|SceLedForDriver]] || Non-secure || Kernel || not present. Present in [[SceLed]]. | ||
|- | |- | ||
| 1. | | 1.000.071-3.740.011 || [[ScePower#SceLedForDriver|SceLedForDriver]] || Non-secure || Kernel || 0x282C1323 | ||
|} | |} | ||
== | == Clocks == | ||
=== Default (in Shell) === | |||
<source lang="C"> | |||
Arm : 333 | |||
Gpu(Proc) : 41 | |||
GpuXbar : 111 | |||
Bus : 222 | |||
Compat : 0 | |||
Venezia : 166 | |||
Dmac5 : 166 | |||
Vip : 0 | |||
Sys : 190 | |||
CameraBus : 0 | |||
Gpu(Internal) : 41, 41 | |||
</source> | |||
== Power callbacks == | |||
See also [[SceSyscon#Callbacks]]. | |||
Power callback notifyArg allowed mask are listed in the table below. | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! | ! Process !! Mask | ||
|- | |||
| Kernel || 0xFCF71F80 | |||
|- | |- | ||
| | | System || 0xFCF71F80 | ||
|- | |- | ||
| | | Non-System || 0x361180 | ||
|} | |} | ||
== | == ScePowerMain event flag == | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! | ! Value !! Function | ||
|- | |||
| 1 || SceCtrl callback subroutines | |||
|- | |||
| 4 || scePowerRequestDisplayOn | |||
|- | |||
| 8 || scePowerRequestDisplayOff | |||
|- | |||
| 0x10 || scePowerRequestSuspend, scePowerRequestStandby | |||
|- | |||
| 0x20 || scePowerRequestSuspend | |||
|- | |||
| 0x40 || scePowerRequestSoftReset | |||
|- | |||
| 0x80 || scePowerRequestColdReset | |||
|- | |||
| 0x200 || ScePowerAlarm0 subroutines | |||
|- | |- | ||
| | | 0x400 || scePowerRequestHibernate | ||
|- | |- | ||
| | | 0x800 || HDMI callback subroutines | ||
|} | |} | ||
=== | == Types == | ||
<source lang="C"> | |||
typedef enum ScePowerCallbackType { | |||
SCE_POWER_CB_AFTER_SYSTEM_RESUME = 0x00000080, /* TODO: confirm */ | |||
SCE_POWER_CB_BATTERY_ONLINE = 0x00000100, | |||
SCE_POWER_CB_THERMAL_SUSPEND = 0x00000200, /* TODO: confirm */ | |||
SCE_POWER_CB_LOW_BATTERY_SUSPEND = 0x00000400, /* TODO: confirm */ | |||
SCE_POWER_CB_LOW_BATTERY = 0x00000800, | |||
SCE_POWER_CB_POWER_ONLINE = 0x00001000, | |||
SCE_POWER_CB_SYSTEM_SUSPEND = 0x00010000, | |||
SCE_POWER_CB_SYSTEM_RESUMING = 0x00020000, | |||
SCE_POWER_CB_SYSTEM_RESUME = 0x00040000, | |||
SCE_POWER_CB_UNK_0x100000 = 0x00100000, /* Related to proc_event::display_switch */ | |||
SCE_POWER_CB_APP_RESUME = 0x00200000, | |||
SCE_POWER_CB_APP_SUSPEND = 0x00400000, | |||
SCE_POWER_CB_APP_RESUMING = 0x00800000, /* TODO: confirm */ | |||
SCE_POWER_CB_SCREENSHOT_TRIGGER = 0x04000000, | |||
SCE_POWER_CB_UNK_0x8000000 = 0x08000000, /* Triggered by a special button combo (PS + Power) on the event of ScePowerMain */ | |||
SCE_POWER_CB_PS_BUTTON_HOLD = 0x10000000, | |||
SCE_POWER_CB_PS_BUTTON_PRESS = 0x20000000, | |||
SCE_POWER_CB_POWER_BUTTON_HOLD = 0x40000000, | |||
SCE_POWER_CB_POWER_BUTTON_PRESS = 0x80000000, | |||
SCE_POWER_CB_VALID_MASK_KERNEL = 0xFCF71F80, | |||
SCE_POWER_CB_VALID_MASK_SYSTEM = 0xFCF71F80, | |||
SCE_POWER_CB_VALID_MASK_NON_SYSTEM = 0x00361180 | |||
} ScePowerCallbackType; | |||
#define SCE_CLOCK_FREQ_GPU_41MHZ (41) | |||
#define SCE_CLOCK_FREQ_GPU_55MHZ (55) | |||
#define SCE_CLOCK_FREQ_GPU_83MHZ (83) | |||
#define SCE_CLOCK_FREQ_GPU_111MHZ (111) | |||
#define SCE_CLOCK_FREQ_GPU_166MHZ (166) | |||
#define SCE_CLOCK_FREQ_GPU_222MHZ (222) | |||
#define SCE_CLOCK_FREQ_GPU_XBAR_111MHZ (111) | |||
#define SCE_CLOCK_FREQ_GPU_XBAR_166MHZ (166) | |||
#define SCE_CLOCK_FREQ_DMAC5_41MHZ (41) | |||
#define SCE_CLOCK_FREQ_DMAC5_83MHZ (83) | |||
#define SCE_CLOCK_FREQ_DMAC5_133MHZ (133) | |||
#define SCE_CLOCK_FREQ_DMAC5_166MHZ (166) | |||
#define SCE_CLOCK_FREQ_BUS_55MHZ (55) | |||
#define SCE_CLOCK_FREQ_BUS_83MHZ (83) | |||
#define SCE_CLOCK_FREQ_BUS_111MHZ (111) | |||
#define SCE_CLOCK_FREQ_BUS_166MHZ (166) | |||
#define SCE_CLOCK_FREQ_BUS_222MHZ (222) | |||
#define SCE_CLOCK_FREQ_COMPAT_0MHZ (0) | |||
#define SCE_CLOCK_FREQ_COMPAT_222MHZ (222) | |||
#define SCE_CLOCK_FREQ_COMPAT_333MHZ (333) | |||
#define SCE_CLOCK_FREQ_VENEZIA_41MHZ (41) | |||
#define SCE_CLOCK_FREQ_VENEZIA_55MHZ (55) | |||
#define SCE_CLOCK_FREQ_VENEZIA_83MHZ (83) | |||
#define SCE_CLOCK_FREQ_VENEZIA_111MHZ (111) | |||
#define SCE_CLOCK_FREQ_VENEZIA_166MHZ (166) | |||
#define SCE_CLOCK_FREQ_VENEZIA_222MHZ (222) | |||
#define SCE_CLOCK_FREQ_VENEZIA_333MHZ (333) | |||
#define SCE_CLOCK_FREQ_VIP_0MHZ (0) | |||
#define SCE_CLOCK_FREQ_VIP_41MHZ (41) | |||
#define SCE_CLOCK_FREQ_VIP_55MHZ (55) | |||
#define SCE_CLOCK_FREQ_VIP_83MHZ (83) | |||
#define SCE_CLOCK_FREQ_VIP_111MHZ (111) | |||
#define SCE_CLOCK_FREQ_VIP_166MHZ (166) | |||
#define SCE_CLOCK_FREQ_VIP_222MHZ (222) | |||
#define SCE_CLOCK_FREQ_SYS_190MHZ (190) | |||
#define SCE_CLOCK_FREQ_SYS_222MHZ (222) | |||
#define SCE_CLOCK_FREQ_CAMERA_BUS_0MHZ (0) | |||
#define SCE_CLOCK_FREQ_CAMERA_BUS_41MHZ (41) | |||
#define SCE_CLOCK_FREQ_CAMERA_BUS_67MHZ (67) | |||
#define SCE_CLOCK_FREQ_CAMERA_BUS_83MHZ (83) | |||
#define SCE_CLOCK_FREQ_CAMERA_BUS_131MHZ (131) | |||
#define SCE_CLOCK_FREQ_CAMERA_BUS_166MHZ (166) | |||
</source> | |||
== ScePower == | |||
=== scePowerGetBatteryCycleCount === | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1. | | 0.931.010-1.06 || not present | ||
|- | |- | ||
| 3. | | 1.500.151-3.740.011 || 0x008A54B9 | ||
|} | |} | ||
=== | === scePowerRequestColdReset === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1. | | 1.000.071-3.740.011 || 0x0442D852 | ||
|} | |} | ||
=== | === scePowerRegisterCallback === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1. | | 1.000.071-3.740.011 || 0x04B7766E | ||
|} | |} | ||
=== | === scePowerGetGpuXbarClockFrequency === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 1.000.071-3.740.011 || 0x0A750DEE | ||
|} | |} | ||
=== | === scePowerIsBatteryExist === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1. | | 1.000.071-3.740.011 || 0x0AFD0D8B | ||
|} | |} | ||
=== | === scePowerGetGpuClockFrequency === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.931.010-3.740.011 || 0x1B04A1D6 | ||
|} | |} | ||
Line 109: | Line 224: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1. | | 1.000.071-3.740.011 || 0x1E490401 | ||
|} | |} | ||
Line 119: | Line 232: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1. | | 1.000.071-3.740.011 || 0x2085D15D | ||
|} | |} | ||
Line 129: | Line 240: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.990-3. | | 0.990.030-3.740.011 || 0x27F3292C | ||
|} | |} | ||
Line 137: | Line 248: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1. | | 1.000.071-3.740.011 || 0x28E12023 | ||
|} | |} | ||
Line 147: | Line 256: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1. | | 1.000.071-3.740.011 || 0x2B7C7CF4 | ||
|} | |} | ||
Line 157: | Line 264: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1. | | 1.000.071-3.740.011 || 0x3CE187B6 | ||
|} | |} | ||
Line 183: | Line 272: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1. | | 1.000.071-3.740.011 || 0x483CE86B | ||
|} | |} | ||
Line 193: | Line 280: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1. | | 1.000.071-3.740.011 || 0x4D695C1F | ||
|} | |} | ||
Line 203: | Line 288: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1. | | 1.000.071-3.740.011 || 0x525592E4 | ||
|} | |} | ||
Line 213: | Line 296: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1. | | 1.000.071-3.740.011 || 0x717DB06C | ||
|} | |} | ||
Line 223: | Line 304: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1. | | 1.000.071-3.740.011 || 0x74DB5AE5 | ||
|} | |} | ||
Line 233: | Line 312: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1. | | 1.000.071-3.740.011 || 0x78A1A796 | ||
|} | |} | ||
Line 243: | Line 320: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1. | | 1.000.071-3.740.011 || 0x7FA406DD | ||
|} | |} | ||
Line 253: | Line 328: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1. | | 1.000.071-3.740.011 || 0x862AE1A6 | ||
|} | |} | ||
Line 263: | Line 336: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1. | | 1.000.071-3.740.011 || 0x87440F5E | ||
|} | |} | ||
Line 273: | Line 344: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1. | | 1.000.071-3.740.011 || 0x8EFB3FA2 | ||
|} | |} | ||
Line 283: | Line 352: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1. | | 1.000.071-3.740.011 || 0x94F5A53F | ||
|} | |||
=== scePowerSetGpuXbarClockFrequency === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |- | ||
| 3. | | 1.000.071-3.740.011 || 0xA7739DBE | ||
|} | |} | ||
=== | === scePowerGetBatterySOH === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 1.000.071-3.740.011 || 0xA88A2B65 | ||
|} | |} | ||
=== | === scePowerGetArmClockFrequency === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1. | | 1.000.071-3.740.011 || 0xABC6F88F | ||
|} | |||
=== scePowerRequestSuspend === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |- | ||
| 3. | | 1.000.071-3.740.011 || 0xAC32C9CC | ||
|} | |} | ||
=== | === scePowerSetIdleTimerCount === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1. | | 1.000.071-3.740.011 || 0xB11EF149 | ||
|} | |||
=== scePowerGetBatteryChargingStatus === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |- | ||
| 3. | | 1.000.071-3.740.011 || 0xB4432BC8 | ||
|} | |} | ||
=== | === scePowerIsLowBattery === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1. | | 1.000.071-3.740.011 || 0xD3075926 | ||
|} | |||
=== scePowerGetUsingWireless === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |- | ||
| 3. | | 1.000.071-3.740.011 || 0xD541FF03 | ||
|} | |} | ||
=== | === scePowerCancelRequest === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1. | | 1.000.071-3.740.011 || 0xDB62C9CF | ||
|} | |} | ||
=== | === scePowerUnregisterCallback === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1. | | 1.000.071-3.740.011 || 0xDFA8BAF8 | ||
|} | |} | ||
=== | === scePowerGetBatteryFullCapacity === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1. | | 1.000.071-3.740.011 || 0xFD18A0FF | ||
|} | |} | ||
=== | === scePowerGetBusClockFrequency === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.931.010-1.692.000 || not present | ||
|- | |||
| 1.800.071-3.740.011 || 0x478FE6F5 | |||
|} | |} | ||
=== | === scePowerSetBusClockFrequency === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1. | | 0.931.010-1.692.000 || not present | ||
|- | |- | ||
| 3. | | 1.800.071-3.740.011 || 0xB8D7B3FB | ||
|} | |} | ||
=== | === scePowerRequestDisplayOff === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| | | 0.931.010-2.12 || not present | ||
|- | |- | ||
| 3. | | 2.500.071-3.740.011 || 0x160EB506 | ||
|} | |} | ||
=== | This function was probably added for PS TV support. Indeed, the screen of a PS TV is a HDMI device not an embedded screen like on PS Vita handled consoles. | ||
=== scePowerRequestDisplayOn === | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| | | 0.931.010-2.12 || not present | ||
|- | |- | ||
| 3. | | 2.500.071-3.740.011 || 0x3EA75C88 | ||
|} | |} | ||
=== | This function was probably added for PS TV support. Indeed, the screen of a PS TV is a HDMI device not an embedded screen like on PS Vita handled consoles. | ||
=== scePowerIsLowBatteryInhibitUpdateDownload === | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| | | 0.931.010-3.18 || not present | ||
|- | |- | ||
| 3. | | 3.300.041-3.740.011 || 0xE3E45636 | ||
|} | |} | ||
=== | This function was added along with [[SceSyscon#sceSysconIsLowBatteryInhibitUpdateDownloadForDriver]]. | ||
=== scePowerIsLowBatteryInhibitUpdateReboot === | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.931.010-3.18 || not present | ||
|- | |||
| 3.300.041-3.740.011 || 0x9AA05A48 | |||
|} | |} | ||
This function was added along with [[SceSyscon#sceSysconIsLowBatteryInhibitUpdateRebootForDriver]]. | |||
=== scePowerGetBatteryRemainLevel === | === scePowerGetBatteryRemainLevel === | ||
Line 417: | Line 516: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.931.010-3.18 || not present | ||
|- | |||
| 3.300.041-3.740.011 || 0xEA3E3715 | |||
|} | |} | ||
=== | This function was added along with [[SceSyscon#sceSysconGetBatteryRemainLevelForDriver]]. | ||
=== scePowerGetBatteryRemainMaxLevel === | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| | | 0.931.010-3.18 || not present | ||
|- | |- | ||
| 3. | | 3.300.041-3.740.011 || 0x1DB00F10 | ||
|} | |} | ||
Line 451: | Line 554: | ||
<source lang="C">int scePowerSetArmClockFrequencyForDriver(int clock);</source> | <source lang="C">int scePowerSetArmClockFrequencyForDriver(int clock);</source> | ||
=== | === scePowerGetArmClockFrequencyProcForDriver === | ||
{| class="wikitable" | {| class="wikitable" | ||
! Version !! NID | ! Version !! NID | ||
Line 458: | Line 561: | ||
|} | |} | ||
<source lang="C">int scePowerGetArmClockFrequencyProcForDriver(SceUID pid);</source> | |||
<source lang="C">int | |||
=== | === scePowerSetArmClockFrequencyProcForDriver === | ||
{| class="wikitable" | {| class="wikitable" | ||
! Version !! NID | ! Version !! NID | ||
Line 469: | Line 570: | ||
|} | |} | ||
<source lang="C">int scePowerSetArmClockFrequencyProcForDriver(SceUID pid, int clock);</source> | |||
<source lang="C">int | |||
=== scePowerGetGpuClockFrequencyForDriver === | === scePowerGetGpuClockFrequencyForDriver === | ||
Line 478: | Line 577: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1. | | 0.931.010-1.692.000 || 0x1B04A1D6 | ||
|- | |- | ||
| 3. | | 1.800.071-3.740.011 || not present | ||
|} | |} | ||
<source lang="C">int scePowerGetGpuClockFrequencyForDriver(void)</source> | <source lang="C">int scePowerGetGpuClockFrequencyForDriver(void);</source> | ||
=== scePowerSetGpuClockFrequencyForDriver === | === scePowerSetGpuClockFrequencyForDriver === | ||
Line 490: | Line 589: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1. | | 0.931.010-1.692.000 || 0x717DB06C | ||
|- | |||
| 1.800.071-3.740.011 || not present | |||
|} | |} | ||
<source lang="C">int scePowerSetGpuClockFrequencyForDriver(int clock)</source> | <source lang="C">int scePowerSetGpuClockFrequencyForDriver(int clock);</source> | ||
=== | === scePowerGetGpuClockFrequencyProcForDriver === | ||
{| class="wikitable" | {| class="wikitable" | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.931.010-0.990.000 || not present | ||
|- | |||
| 0.996.090-3.740.011 || 0x642E0AF2 | |||
|} | |} | ||
<source lang="C">int scePowerGetGpuClockFrequencyProcForDriver(SceUID pid);</source> | |||
<source lang="C">int | === scePowerSetGpuClockFrequencyProcForDriver === | ||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.990.000 || not present | |||
|- | |||
| 0.996.090-3.740.011 || 0xB104EFE2 | |||
|} | |||
<source lang="C">int scePowerSetGpuClockFrequencyProcForDriver(SceUID pid, int clock);</source> | |||
=== scePowerGetGpuClockFrequencyInternalForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x475BCC82 | |||
|} | |||
Temp name was scePowerGetGpuEs4ClockFrequencyForDriver, scePowerGetDeviceCountForDriver. | |||
<source lang="C">int scePowerGetGpuClockFrequencyInternalForDriver(SceInt32 *corefreq, SceInt32 *mpfreq);</source> | |||
=== scePowerSetGpuClockFrequencyInternalForDriver === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x264C24FC | |||
|} | |||
Temp name was scePowerSetGpuEs4ClockFrequencyForDriver | |||
<source lang="C">int scePowerSetGpuClockFrequencyInternalForDriver(SceInt32 corefreq, SceInt32 mpfreq);</source> | |||
=== scePowerGetGpuXbarClockFrequencyForDriver === | === scePowerGetGpuXbarClockFrequencyForDriver === | ||
Line 511: | Line 646: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1.69 - 3.60 || 0x0A750DEE | | 1.69-3.60 || 0x0A750DEE | ||
|} | |} | ||
Line 520: | Line 655: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 1.69 - 3.60 || 0xA7739DBE | | 1.69-3.60 || 0xA7739DBE | ||
|} | |} | ||
<source lang="C">int scePowerSetGpuXbarClockFrequencyForDriver(int clock);</source> | <source lang="C">int scePowerSetGpuXbarClockFrequencyForDriver(int clock);</source> | ||
=== | === scePowerGetGpuXbarClockFrequencyProcForDriver === | ||
{| class="wikitable" | {| class="wikitable" | ||
! Version !! NID | ! Version !! NID | ||
Line 532: | Line 667: | ||
|} | |} | ||
<source lang="C">int scePowerGetGpuXbarClockFrequencyProcForDriver(SceUID pid);</source> | |||
=== scePowerSetGpuXbarClockFrequencyProcForDriver === | |||
== | |||
{| class="wikitable" | {| class="wikitable" | ||
! Version !! NID | ! Version !! NID | ||
Line 543: | Line 676: | ||
|} | |} | ||
<source lang="C">int scePowerSetGpuXbarClockFrequencyProcForDriver(SceUID pid, int clock);</source> | |||
<source lang="C">int | |||
=== scePowerGetBusClockFrequencyForDriver === | === scePowerGetBusClockFrequencyForDriver === | ||
Line 567: | Line 698: | ||
<source lang="C">int scePowerSetBusClockFrequencyForDriver(int clock);</source> | <source lang="C">int scePowerSetBusClockFrequencyForDriver(int clock);</source> | ||
=== | === scePowerGetBusClockFrequencyProcForDriver === | ||
{| class="wikitable" | {| class="wikitable" | ||
! Version !! NID | ! Version !! NID | ||
Line 574: | Line 705: | ||
|} | |} | ||
<source lang="C">int scePowerGetBusClockFrequencyProcForDriver(SceUID pid);</source> | |||
<source lang="C">int | |||
=== | === scePowerSetBusClockFrequencyProcForDriver === | ||
{| class="wikitable" | {| class="wikitable" | ||
! Version !! NID | ! Version !! NID | ||
Line 585: | Line 714: | ||
|} | |} | ||
<source lang="C">int scePowerSetBusClockFrequencyProcForDriver(SceUID pid, int clock);</source> | |||
<source lang="C">int | |||
=== scePowerGetCompatClockFrequencyForDriver === | === scePowerGetCompatClockFrequencyForDriver === | ||
Line 622: | Line 749: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.990.000-3.740.011 || 0x621BD8FD | ||
|} | |} | ||
Line 633: | Line 760: | ||
| 3.60 || 0xF1E14EA9 | | 3.60 || 0xF1E14EA9 | ||
|} | |} | ||
<source lang="C">int scePowerGetDmac5ClockFrequencyForDriver(void);</source> | <source lang="C">int scePowerGetDmac5ClockFrequencyForDriver(void);</source> | ||
Line 653: | Line 778: | ||
| 3.60 || 0x0E58FCDF | | 3.60 || 0x0E58FCDF | ||
|} | |} | ||
Temp name was scePowerGetVeneziaForDriver. | |||
<source lang="C">int scePowerGetVipClockFrequencyForDriver(void);</source> | <source lang="C">int scePowerGetVipClockFrequencyForDriver(void);</source> | ||
Line 662: | Line 789: | ||
| 3.60 || 0xE5573571 | | 3.60 || 0xE5573571 | ||
|} | |} | ||
Temp name was scePowerSetVeneziaForDriver. | |||
VIP is set to ?222MHz? by system when video is played back, even in PspEmu. ?The two clocks it sets are 55MHz and 83MHz.? | |||
Related to [[Venezia]]. | |||
<source lang="C">int scePowerSetVipClockFrequencyForDriver(int clock);</source> | <source lang="C">int scePowerSetVipClockFrequencyForDriver(int clock);</source> | ||
Line 678: | Line 811: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3.60 || 0x0E333BEC | | 0.931 || not present | ||
|- | |||
| 0.990-3.60 || 0x0E333BEC | |||
|} | |} | ||
[[Hardware_Timers]] Clock. | |||
<source lang="C">int scePowerSetSysClockFrequencyForDriver(int clock);</source> | <source lang="C">int scePowerSetSysClockFrequencyForDriver(int clock);</source> | ||
=== | === scePowerGetCameraBusClockFrequencyForDriver === | ||
{| class="wikitable" | {| class="wikitable" | ||
! Version !! NID | ! Version !! NID | ||
Line 690: | Line 827: | ||
|} | |} | ||
<source lang="C">int | <source lang="C">int scePowerGetCameraBusClockFrequencyForDriver(void);</source> | ||
=== | === scePowerSetCameraBusClockFrequencyForDriver === | ||
{| class="wikitable" | {| class="wikitable" | ||
! Version !! NID | ! Version !! NID | ||
Line 699: | Line 836: | ||
|} | |} | ||
<source lang="C">int | <source lang="C">int scePowerSetCameraBusClockFrequencyForDriver(int clock);</source> | ||
=== scePowerSetCallbackStateForDriver === | === scePowerSetCallbackStateForDriver === | ||
Line 729: | Line 843: | ||
|- | |- | ||
| 3.60 || 0xA6FF5997 | | 3.60 || 0xA6FF5997 | ||
|} | |} | ||
Line 768: | Line 875: | ||
{| class="wikitable" | {| class="wikitable" | ||
! Version !! NID | ! Version !! NID | ||
|- | |||
| 0.931-0.990 || not present | |||
|- | |- | ||
| 3.60 || 0x43D5CE1D | | 3.60 || 0x43D5CE1D | ||
Line 775: | Line 884: | ||
{| class="wikitable" | {| class="wikitable" | ||
! Version !! NID | ! Version !! NID | ||
|- | |||
| 0.931-0.990 || not present | |||
|- | |- | ||
| 3.60 || 0xEFD3C963 | | 3.60 || 0xEFD3C963 | ||
|} | |} | ||
Generate a power tick, preventing unit from powering off and turning off display. | |||
<source lang="C">int scePowerTickForDriver(SceUInt32 type);</source> | |||
=== ScePowerForDriver_394DE492 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x394DE492 | |||
|} | |||
Returns a global boolean variable indicating if display brightness change is allowed. | |||
<source lang="C">int ScePowerForDriver_394DE492(void);</source> | |||
=== scePowerSetStandbyButtonPushTimeForDriver === | === scePowerSetStandbyButtonPushTimeForDriver === | ||
Line 819: | Line 945: | ||
|} | |} | ||
<source lang="C">int scePowerGetPowerSwModeForDriver(void);</source> | Derived from PSP NID. | ||
<source lang="C"> | |||
/** | |||
* Unknow, get ??? something | |||
* | |||
* @returns On PSP, 0 or 1 or 2 or 3, default to 2, on PS Vita, 4 is a possible value | |||
*/ | |||
int scePowerGetPowerSwModeForDriver(void);</source> | |||
=== scePowerSetPowerSwModeForDriver === | === scePowerSetPowerSwModeForDriver === | ||
Line 825: | Line 959: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3.60 || | | 3.60 || 0x0CD21B1F | ||
|} | |} | ||
Derived from PSP NID. | |||
<source lang="C">int scePowerSetPowerSwModeForDriver(int | <source lang="C">int scePowerSetPowerSwModeForDriver(int mode);</source> | ||
=== scePowerSetPowerSwMode2ForDriver === | === scePowerSetPowerSwMode2ForDriver === | ||
Line 836: | Line 970: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3.60 || | | 3.60 || 0xC1853BA7 | ||
|} | |} | ||
This is guessed name. | |||
derived from [[SceVshBridge#vshPowerSetPowerSwMode|vshPowerSetPowerSwMode]] | |||
<source lang="C">int scePowerSetPowerSwMode2ForDriver(int power_sw_mode);</source> | <source lang="C">int scePowerSetPowerSwMode2ForDriver(int power_sw_mode);</source> | ||
Line 854: | Line 990: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.931.010-3.36 || 0x0074EF9B | ||
|- | |||
| 3.500.011-3.740.011 || 0x0074EF9B | |||
|} | |} | ||
Line 901: | Line 1,039: | ||
| 1.69-3.60 || 0x0442D852 | | 1.69-3.60 || 0x0442D852 | ||
|} | |} | ||
<source lang="C"> | |||
/** | |||
* Requests PS Vita to do a cold reset | |||
* | |||
* @return always 0 | |||
*/ | |||
int scePowerRequestColdResetForDriver(void); | |||
</source> | |||
=== scePowerRequestHibernateForDriver === | === scePowerRequestHibernateForDriver === | ||
Line 911: | Line 1,058: | ||
derived from [[SceVshBridge#vshPowerRequestHibernate|vshPowerRequestHibernate]] | derived from [[SceVshBridge#vshPowerRequestHibernate|vshPowerRequestHibernate]] | ||
<source lang="C"> | |||
/** | |||
* Requests PS Vita to enter hibernate mode | |||
* | |||
* @return always 0 | |||
*/ | |||
int scePowerRequestHibernateForDriver(void); | |||
</source> | |||
=== scePowerRequestSuspendForDriver === | === scePowerRequestSuspendForDriver === | ||
Line 918: | Line 1,074: | ||
| 1.69-3.60 || 0xAC32C9CC | | 1.69-3.60 || 0xAC32C9CC | ||
|} | |} | ||
<source lang="C"> | |||
/** | |||
* Requests PS Vita to enter suspend mode | |||
* | |||
* @return always 0 | |||
*/ | |||
int scePowerRequestSuspendForDriver(void); | |||
</source> | |||
=== scePowerRequestStandbyForDriver === | === scePowerRequestStandbyForDriver === | ||
Line 926: | Line 1,091: | ||
| 1.69-3.60 || 0x2B7C7CF4 | | 1.69-3.60 || 0x2B7C7CF4 | ||
|} | |} | ||
<source lang="C"> | |||
/** | |||
* Requests PS Vita to enter standby mode | |||
* | |||
* @return always 0 | |||
*/ | |||
int scePowerRequestStandbyForDriver(void); | |||
</source> | |||
=== scePowerRequestResumeForDriver === | === scePowerRequestResumeForDriver === | ||
Line 934: | Line 1,108: | ||
| 3.60 || 0x02DB1035 | | 3.60 || 0x02DB1035 | ||
|} | |} | ||
<source lang="C"> | |||
/** | |||
* Requests PS Vita to resume | |||
* | |||
* @return always 0 | |||
*/ | |||
int scePowerRequestResumeForDriver(void); | |||
</source> | |||
=== scePowerRequestDisplayOffForDriver === | === scePowerRequestDisplayOffForDriver === | ||
Line 942: | Line 1,125: | ||
| 3.60 || 0x160EB506 | | 3.60 || 0x160EB506 | ||
|} | |} | ||
<source lang="C"> | |||
/** | |||
* Requests PS Vita to turn off display | |||
* | |||
* @return always 0 | |||
*/ | |||
int scePowerRequestDisplayOffForDriver(void); | |||
</source> | |||
=== scePowerRequestDisplayOnForDriver === | === scePowerRequestDisplayOnForDriver === | ||
Line 950: | Line 1,142: | ||
| 3.60 || 0x3EA75C88 | | 3.60 || 0x3EA75C88 | ||
|} | |} | ||
<source lang="C"> | |||
/** | |||
* Requests PS Vita to turn on display | |||
* | |||
* @return always 0 | |||
*/ | |||
int scePowerRequestDisplayOnForDriver(void); | |||
</source> | |||
=== scePowerIsSuspendRequiredForDriver === | === scePowerIsSuspendRequiredForDriver === | ||
Line 968: | Line 1,169: | ||
=== scePowerUnregisterCallbackForDriver === | === scePowerUnregisterCallbackForDriver === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
Line 987: | Line 1,189: | ||
|- | |- | ||
| 3.60 || 0x6BC26FC7 | | 3.60 || 0x6BC26FC7 | ||
|} | |||
=== scePowerSetIdleTimerCountProcForDriver === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0xFB5C3C75 | |||
|} | |} | ||
Line 994: | Line 1,204: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3.60 || 0x1BA2FCAE | | 0.990-3.60 || 0x1BA2FCAE | ||
|} | |} | ||
<source lang="C"> | |||
// idx: 0-7 | |||
int scePowerSetIdleCallbackForDriver(SceUInt32 idx, int maybe_flags, SceUInt64 duration, void *cb_func, int idle_cb_info_5); | |||
</source> | |||
{| class="wikitable" | |||
|- | |||
! Index !! By !! Description | |||
|- | |||
| 0 || ScePower || scePowerRequestSuspend | |||
|- | |||
| 1 || ScePower || Ctrl | |||
|- | |||
| 2 || ScePower || Ctrl | |||
|- | |||
| 3 || unknown || - | |||
|- | |||
| 4 || SceMsif || - | |||
|- | |||
| 5 || unknown || - | |||
|- | |||
| 6 || unknown || - | |||
|- | |||
| 7 || unknown || - | |||
|} | |||
=== ScePowerForDriver_660D5AB4 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931 || not present | |||
|- | |||
| 0.990-3.60 || 0x660D5AB4 | |||
|} | |||
Set some value of the selected Idle Callback to 2. | |||
<source lang="C"> | |||
// idx: 0-7 | |||
int ScePowerForDriver_660D5AB4(SceUInt32 idx); | |||
</source> | |||
=== scePowerSetProcessIdleCallbackForDriver === | === scePowerSetProcessIdleCallbackForDriver === | ||
Line 1,004: | Line 1,256: | ||
| 3.60 || 0x0856FD0A | | 3.60 || 0x0856FD0A | ||
|} | |} | ||
<source lang="C">int scePowerSetProcessIdleCallbackForDriver(int idle_cb_info_1, int idle_cb_info_2);</source> | |||
=== scePowerGetCaseTempForDriver === | === scePowerGetCaseTempForDriver === | ||
Line 1,010: | Line 1,264: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| | | 0.990.000-3.740.011 || 0x525592E4 | ||
|} | |} | ||
Exact same code as [[#scePowerGetBatteryTempForDriver]]. | |||
=== scePowerIsBatteryExistForDriver === | === scePowerIsBatteryExistForDriver === | ||
Line 1,021: | Line 1,277: | ||
|} | |} | ||
=== | === scePowerWaitRequestCompletionForDriver === | ||
{| class="wikitable" | {| class="wikitable" | ||
! Version !! NID | ! Version !! NID | ||
Line 1,028: | Line 1,284: | ||
|} | |} | ||
Temp name was scePowerEncodeUBattery (PSP NID wrong bruteforce). | |||
=== scePowerSetBatteryFakeStatusForDriver === | === scePowerSetBatteryFakeStatusForDriver === | ||
Line 1,034: | Line 1,290: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.996.090-3.740.011 || 0x0C6973B8 | ||
|} | |} | ||
Derived from [[SceVshBridge#_vshPowerSetBatteryFakeStatus|_vshPowerSetBatteryFakeStatus]]. | |||
<source lang="C">int scePowerSetBatteryFakeStatusForDriver(int status);</source> | <source lang="C">int scePowerSetBatteryFakeStatusForDriver(int status);</source> | ||
Line 1,077: | Line 1,333: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| | | 0.990.000-3.740.011 || 0x28E12023 | ||
|} | |} | ||
Exact same code as [[#scePowerGetCaseTempForDriver]]. | |||
=== scePowerGetBatteryVoltForDriver === | === scePowerGetBatteryVoltForDriver === | ||
Line 1,106: | Line 1,364: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| | | 0.990.000-3.740.011 || 0x94F5A53F | ||
|} | |} | ||
To document: in which unit is the remaining capacity. | |||
<source lang="C">int scePowerGetBatteryRemainCapacityForDriver(void);</source> | |||
=== scePowerGetBatteryRemainLevelForDriver === | === scePowerGetBatteryRemainLevelForDriver === | ||
Line 1,113: | Line 1,375: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.931.010-3.18 || not present | ||
|- | |||
| 3.300.041-3.740.011 || 0xEA3E3715 | |||
|} | |} | ||
If Syscon version < 0x1040105, returns the remaining battery level, else returns 0 (SCE_POWER_BATTERY_REMAIN_LEVEL_INVALID). | |||
<source lang="C"> | |||
#define SCE_POWER_BATTERY_REMAIN_LEVEL_INVALID 0 | |||
#define SCE_POWER_BATTERY_REMAIN_LEVEL_0_25_PERCENTS 1 | |||
#define SCE_POWER_BATTERY_REMAIN_LEVEL_25_50_PERCENTS 2 | |||
#define SCE_POWER_BATTERY_REMAIN_LEVEL_50_75_PERCENTS 3 | |||
#define SCE_POWER_BATTERY_REMAIN_LEVEL_75_100_PERCENTS 4 | |||
int scePowerGetBatteryRemainLevelForDriver(void); | |||
</source> | |||
=== scePowerGetBatteryRemainMaxLevelForDriver === | === scePowerGetBatteryRemainMaxLevelForDriver === | ||
Line 1,120: | Line 1,396: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.931.010-3.18 || not present | ||
|- | |||
| 3.300.041-3.740.011 || 0x1DB00F10 | |||
|} | |} | ||
If Syscon version < 0x1040105, returns 4 (SCE_POWER_BATTERY_REMAIN_LEVEL_75_100_PERCENTS), else returns 0 (SCE_POWER_BATTERY_REMAIN_LEVEL_INVALID). | |||
<source lang="C">int scePowerGetBatteryRemainLevelForDriver(void);</source> | |||
=== scePowerGetBatterySOHForDriver === | === scePowerGetBatterySOHForDriver === | ||
Line 1,127: | Line 1,409: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| | | 0.990.000-3.740.011 || 0xA88A2B65 | ||
|} | |} | ||
Line 1,134: | Line 1,416: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| | | 0.990.000-3.740.011 || 0xB4432BC8 | ||
|} | |} | ||
Returns battery charging status. | |||
<source lang="C"> | |||
// To verify | |||
#define SCE_POWER_ERROR_BATTERY_NOT_CONNECTED 0x802B0100 | |||
#define SCE_POWER_ERROR_BATTERY_NOT_WORKING 0x802B0101 | |||
#define SCE_BATTERY_STATUS_POWER_OFFLINE 0 | |||
#define SCE_BATTERY_STATUS_CHARGING_NORMAL 1 | |||
#define SCE_BATTERY_STATUS_CHARGE_FORBIDDEN 2 | |||
#define SCE_BATTERY_STATUS_CHARGING_USB 3 | |||
int scePowerGetBatteryChargingStatusForDriver(void); | |||
</source> | |||
=== scePowerIsLowBatteryForDriver === | === scePowerIsLowBatteryForDriver === | ||
Line 1,141: | Line 1,438: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| | | 0.990.000-3.740.011 || 0xD3075926 | ||
|} | |} | ||
Line 1,148: | Line 1,445: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.996.090-3.740.011 || 0x0D56C601 | ||
|} | |} | ||
Returns value from [[#SceSysconForDriver_ACEE1C70]]. | |||
=== scePowerIsSomethingBattery2ForDriver === | === scePowerIsSomethingBattery2ForDriver === | ||
Line 1,157: | Line 1,454: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.996.090-3.740.011 || 0x627A89C6 | ||
|} | |} | ||
Line 1,166: | Line 1,463: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| | | 0.990.000-3.740.011 || 0xFD18A0FF | ||
|} | |} | ||
Line 1,173: | Line 1,470: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.990.000-3.740.011 || 0x90285886 | ||
|} | |} | ||
Line 1,182: | Line 1,479: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.990.000-3.740.011 || 0x733F973B | ||
|} | |} | ||
Line 1,191: | Line 1,488: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.990.000-3.740.011 || 0x166922EC | ||
|} | |} | ||
Line 1,200: | Line 1,497: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.990.000-3.740.011 || 0xDD3D4DAC | ||
|} | |} | ||
Line 1,209: | Line 1,506: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.996.090-3.740.011 || 0xACC857A4 | ||
|} | |} | ||
Line 1,218: | Line 1,515: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.990.000-3.740.011 || 0xE4E3C316 | ||
|} | |} | ||
<source lang="c">int scePowerBatterySetUsbStatusForDriver(unk);</source> | <source lang="c">int scePowerBatterySetUsbStatusForDriver(int unk);</source> | ||
=== scePowerSetWakeupConditionForDriver === | === scePowerSetWakeupConditionForDriver === | ||
Line 1,227: | Line 1,524: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3.60 || 0xF535D928 | | 0.990-3.60 || 0xF535D928 | ||
|} | |} | ||
<source lang="c"> | <source lang="c"> | ||
// | // cond: 4: WlanBt related, 0x20: WlanBt related, 0x8000: USB charge | ||
int scePowerSetWakeupConditionForDriver(int cond, SceBool enable); | |||
int scePowerSetWakeupConditionForDriver(int | |||
</source> | </source> | ||
Line 1,242: | Line 1,536: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3.60 || 0x6D2CA84B | | 0.931-3.60 || 0x6D2CA84B | ||
|} | |} | ||
<source lang="C">int scePowerWlanActivateForDriver(void);</source> | |||
=== scePowerWlanDeactivateForDriver === | === scePowerWlanDeactivateForDriver === | ||
Line 1,249: | Line 1,545: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3.60 || 0x23BB0A60 | | 0.931-3.60 || 0x23BB0A60 | ||
|} | |} | ||
=== | <source lang="C">int scePowerWlanDeactivateForDriver(void);</source> | ||
=== ScePowerForDriver_2B51FE2F === | |||
{| class="wikitable" | {| class="wikitable" | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.931.010-3.740.011 || 0x2B51FE2F | ||
|} | |} | ||
A good name might be scePowerIsWlanActivatedForDriver, but it does not match NID using ScePowerForDriver NID suffix. | |||
<source lang="C">int | <source lang="C">int ScePowerForDriver_2B51FE2F(void);</source> | ||
=== | === ScePowerForDriver_C62B6164 === | ||
{| class="wikitable" | {| class="wikitable" | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.990.000-3.740.011 || 0xC62B6164 | ||
|} | |} | ||
=== | Gets some information about battery. | ||
=== ScePowerForDriver_8C0D2051 === | |||
{| class="wikitable" | {| class="wikitable" | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.931.010-3.740.011 || 0x8C0D2051 | ||
|} | |} | ||
Gets the battery status obtained using [[SceSyscon#SceSysconForDriver_A2FE9BF9]]. | |||
Called by [[SceUdcd]] when SceUdcdAlarmTickTimer is triggered. | Called by [[SceUdcd]] when SceUdcdAlarmTickTimer is triggered. | ||
=== | <source lang="C">int ScePowerForDriver_8C0D2051(SceUInt32 *pResult);</source> | ||
=== scePowerGetUsingWirelessProcForDriver === | |||
{| class="wikitable" | {| class="wikitable" | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.996.090-3.740.011 || 0x06AF03DB | ||
|} | |} | ||
<source lang="C">int scePowerGetUsingWirelessProcForDriver(SceUID pid);</source> | |||
<source lang="C">int | === scePowerSetUsingWlanProcForDriver === | ||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.36 || not present | |||
|- | |||
| 3.500.011-3.740.011 || 0x4A69163A | |||
|} | |||
=== scePowerGetUsingWlanProcForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.36 || not present | |||
|- | |||
| 3.500.011-3.740.011 || 0x2784A6BD | |||
|} | |||
<source lang="C">int scePowerGetUsingWlanProcForDriver(SceUID pid);</source> | |||
=== ScePowerForDriver_0D80B917 === | === ScePowerForDriver_0D80B917 === | ||
Line 1,294: | Line 1,616: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.931.010-3.36 || not present | ||
|- | |||
| 3.500.011-3.740.011 || 0x0D80B917 | |||
|} | |} | ||
Maybe related to [[#scePowerGetUsingWirelessProcForDriver]]. | |||
<source lang="C">int ScePowerForDriver_0D80B917(SceUID pid);</source> | <source lang="C">int ScePowerForDriver_0D80B917(SceUID pid);</source> | ||
=== | === ScePowerForDriver_4159E0D9 === | ||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.36 || not present | |||
|- | |||
| 3.500.011-3.740.011 || 0x4159E0D9 | |||
|} | |||
=== ScePowerForDriver_5210A6FE === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.36 || not present | |||
|- | |||
| 3.500.011-3.740.011 || 0x5210A6FE | |||
|} | |||
=== ScePowerForDriver_661D670D === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.36 || not present | |||
|- | |||
| 3.500.011-3.740.011 || 0x661D670D | |||
|} | |||
=== ScePowerForDriver_991BDEAF === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 1.03-3.60 || 0x991BDEAF | |||
|} | |||
<source lang="C"> | |||
// idx: 0-7 | |||
int ScePowerForDriver_991BDEAF(SceSize idx, SceUInt32 value); | |||
</source> | |||
=== ScePowerForDriver_38415146 === | |||
{| class="wikitable" | {| class="wikitable" | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3.60 || | | 1.03-3.60 || 0x38415146 | ||
|} | |} | ||
Sets a global variable and sets global event flag 0x2000. | |||
Related to LED. | |||
<source lang="C">int | <source lang="C">int ScePowerForDriver_38415146(SceBool enable);</source> | ||
== SceLedForDriver == | == SceLedForDriver == | ||
Line 1,319: | Line 1,684: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.990.000-3.740.011 || 0xEA24BE03 | ||
|} | |} | ||
<source lang="c"> | Maybe concerns DevKit LEDs as there are 8 LEDs, or maybe led=2 is PS button LED. | ||
<source lang="c"> | |||
typedef struct SceLedConfiguration { // size is 0x14 on FW 3.60 | |||
SceSize size; // Size of this structure | |||
SceUInt32 maybe_onTime; // ex: 2 (2 seconds) | |||
SceUInt32 maybe_offTime; // ex: 3 (3 seconds) | |||
SceInt32 timeLimit; // ex: 60 (60 seconds), -1 (infinite) | |||
SceUInt32 maybe_endOrStartBlinkState; // ex: 0 (OFF), 1 (ON) | |||
} SceLedConfiguration; | |||
#define SCE_LED_MODE_OFF 0 // Turn a LED OFF. | |||
#define SCE_LED_MODE_ON 1 // Turn a LED ON. | |||
#define SCE_LED_MODE_BLINK 2 // Set a blink event for a LED. | |||
#define SCE_LED_MODE_SELECTIVE_EXEC 3 // Register LED configuration commands and execute them. Still not completely known how that mode works. | |||
#define SCE_LED_MODE_UNK_4 4 // Only works with led = 2 | |||
// ex: | |||
// uint32_t config_1[5] = {0x14, 2, 3, 0x3C, 0}; | |||
// uint32_t config_2[5] = {0x14, 2, 3, -1, 0}; | |||
// sceLedSetModeForDriver(1, 2, (SceLedConfiguration *)&config); | |||
// sceLedSetModeForDriver(3, 2, (SceLedConfiguration *)&config); | |||
// led: valid values are 0-7, 0: used in SceCamera, 1: used when sdstor read/write from SD, 3: used when sdstor read/write from MMC | |||
// mode: valid values are 0-4 | |||
int sceLedSetModeForDriver(int led, int mode, SceLedConfiguration *pConfig); | |||
</source> | |||
[[Category:ARM]] | |||
[[Category:Kernel]] | |||
[[Category:Modules]] | [[Category:Modules]] | ||
[[Category: | [[Category:Library]] |
Latest revision as of 19:42, 25 March 2024
Module
Version | World | Privilege |
---|---|---|
1.69-3.60 | Non-secure | Kernel |
Libraries
Known NIDs
Version | Name | World | Visibility | NID |
---|---|---|---|---|
1.000.071-3.740.011 | ScePower | Non-secure | User | 0x1082DA7F |
0.990.000-3.740.011 | ScePowerForDriver | Non-secure | Kernel | 0x1590166F |
0.990.000-0.996.090 | SceLedForDriver | Non-secure | Kernel | not present. Present in SceLed. |
1.000.071-3.740.011 | SceLedForDriver | Non-secure | Kernel | 0x282C1323 |
Clocks
Default (in Shell)
Arm : 333 Gpu(Proc) : 41 GpuXbar : 111 Bus : 222 Compat : 0 Venezia : 166 Dmac5 : 166 Vip : 0 Sys : 190 CameraBus : 0 Gpu(Internal) : 41, 41
Power callbacks
See also SceSyscon#Callbacks.
Power callback notifyArg allowed mask are listed in the table below.
Process | Mask |
---|---|
Kernel | 0xFCF71F80 |
System | 0xFCF71F80 |
Non-System | 0x361180 |
ScePowerMain event flag
Value | Function |
---|---|
1 | SceCtrl callback subroutines |
4 | scePowerRequestDisplayOn |
8 | scePowerRequestDisplayOff |
0x10 | scePowerRequestSuspend, scePowerRequestStandby |
0x20 | scePowerRequestSuspend |
0x40 | scePowerRequestSoftReset |
0x80 | scePowerRequestColdReset |
0x200 | ScePowerAlarm0 subroutines |
0x400 | scePowerRequestHibernate |
0x800 | HDMI callback subroutines |
Types
typedef enum ScePowerCallbackType { SCE_POWER_CB_AFTER_SYSTEM_RESUME = 0x00000080, /* TODO: confirm */ SCE_POWER_CB_BATTERY_ONLINE = 0x00000100, SCE_POWER_CB_THERMAL_SUSPEND = 0x00000200, /* TODO: confirm */ SCE_POWER_CB_LOW_BATTERY_SUSPEND = 0x00000400, /* TODO: confirm */ SCE_POWER_CB_LOW_BATTERY = 0x00000800, SCE_POWER_CB_POWER_ONLINE = 0x00001000, SCE_POWER_CB_SYSTEM_SUSPEND = 0x00010000, SCE_POWER_CB_SYSTEM_RESUMING = 0x00020000, SCE_POWER_CB_SYSTEM_RESUME = 0x00040000, SCE_POWER_CB_UNK_0x100000 = 0x00100000, /* Related to proc_event::display_switch */ SCE_POWER_CB_APP_RESUME = 0x00200000, SCE_POWER_CB_APP_SUSPEND = 0x00400000, SCE_POWER_CB_APP_RESUMING = 0x00800000, /* TODO: confirm */ SCE_POWER_CB_SCREENSHOT_TRIGGER = 0x04000000, SCE_POWER_CB_UNK_0x8000000 = 0x08000000, /* Triggered by a special button combo (PS + Power) on the event of ScePowerMain */ SCE_POWER_CB_PS_BUTTON_HOLD = 0x10000000, SCE_POWER_CB_PS_BUTTON_PRESS = 0x20000000, SCE_POWER_CB_POWER_BUTTON_HOLD = 0x40000000, SCE_POWER_CB_POWER_BUTTON_PRESS = 0x80000000, SCE_POWER_CB_VALID_MASK_KERNEL = 0xFCF71F80, SCE_POWER_CB_VALID_MASK_SYSTEM = 0xFCF71F80, SCE_POWER_CB_VALID_MASK_NON_SYSTEM = 0x00361180 } ScePowerCallbackType; #define SCE_CLOCK_FREQ_GPU_41MHZ (41) #define SCE_CLOCK_FREQ_GPU_55MHZ (55) #define SCE_CLOCK_FREQ_GPU_83MHZ (83) #define SCE_CLOCK_FREQ_GPU_111MHZ (111) #define SCE_CLOCK_FREQ_GPU_166MHZ (166) #define SCE_CLOCK_FREQ_GPU_222MHZ (222) #define SCE_CLOCK_FREQ_GPU_XBAR_111MHZ (111) #define SCE_CLOCK_FREQ_GPU_XBAR_166MHZ (166) #define SCE_CLOCK_FREQ_DMAC5_41MHZ (41) #define SCE_CLOCK_FREQ_DMAC5_83MHZ (83) #define SCE_CLOCK_FREQ_DMAC5_133MHZ (133) #define SCE_CLOCK_FREQ_DMAC5_166MHZ (166) #define SCE_CLOCK_FREQ_BUS_55MHZ (55) #define SCE_CLOCK_FREQ_BUS_83MHZ (83) #define SCE_CLOCK_FREQ_BUS_111MHZ (111) #define SCE_CLOCK_FREQ_BUS_166MHZ (166) #define SCE_CLOCK_FREQ_BUS_222MHZ (222) #define SCE_CLOCK_FREQ_COMPAT_0MHZ (0) #define SCE_CLOCK_FREQ_COMPAT_222MHZ (222) #define SCE_CLOCK_FREQ_COMPAT_333MHZ (333) #define SCE_CLOCK_FREQ_VENEZIA_41MHZ (41) #define SCE_CLOCK_FREQ_VENEZIA_55MHZ (55) #define SCE_CLOCK_FREQ_VENEZIA_83MHZ (83) #define SCE_CLOCK_FREQ_VENEZIA_111MHZ (111) #define SCE_CLOCK_FREQ_VENEZIA_166MHZ (166) #define SCE_CLOCK_FREQ_VENEZIA_222MHZ (222) #define SCE_CLOCK_FREQ_VENEZIA_333MHZ (333) #define SCE_CLOCK_FREQ_VIP_0MHZ (0) #define SCE_CLOCK_FREQ_VIP_41MHZ (41) #define SCE_CLOCK_FREQ_VIP_55MHZ (55) #define SCE_CLOCK_FREQ_VIP_83MHZ (83) #define SCE_CLOCK_FREQ_VIP_111MHZ (111) #define SCE_CLOCK_FREQ_VIP_166MHZ (166) #define SCE_CLOCK_FREQ_VIP_222MHZ (222) #define SCE_CLOCK_FREQ_SYS_190MHZ (190) #define SCE_CLOCK_FREQ_SYS_222MHZ (222) #define SCE_CLOCK_FREQ_CAMERA_BUS_0MHZ (0) #define SCE_CLOCK_FREQ_CAMERA_BUS_41MHZ (41) #define SCE_CLOCK_FREQ_CAMERA_BUS_67MHZ (67) #define SCE_CLOCK_FREQ_CAMERA_BUS_83MHZ (83) #define SCE_CLOCK_FREQ_CAMERA_BUS_131MHZ (131) #define SCE_CLOCK_FREQ_CAMERA_BUS_166MHZ (166)
ScePower
scePowerGetBatteryCycleCount
Version | NID |
---|---|
0.931.010-1.06 | not present |
1.500.151-3.740.011 | 0x008A54B9 |
scePowerRequestColdReset
Version | NID |
---|---|
1.000.071-3.740.011 | 0x0442D852 |
scePowerRegisterCallback
Version | NID |
---|---|
1.000.071-3.740.011 | 0x04B7766E |
scePowerGetGpuXbarClockFrequency
Version | NID |
---|---|
1.000.071-3.740.011 | 0x0A750DEE |
scePowerIsBatteryExist
Version | NID |
---|---|
1.000.071-3.740.011 | 0x0AFD0D8B |
scePowerGetGpuClockFrequency
Version | NID |
---|---|
0.931.010-3.740.011 | 0x1B04A1D6 |
scePowerIsBatteryCharging
Version | NID |
---|---|
1.000.071-3.740.011 | 0x1E490401 |
scePowerGetBatteryLifePercent
Version | NID |
---|---|
1.000.071-3.740.011 | 0x2085D15D |
scePowerBatteryUpdateInfo
Version | NID |
---|---|
0.990.030-3.740.011 | 0x27F3292C |
scePowerGetBatteryTemp
Version | NID |
---|---|
1.000.071-3.740.011 | 0x28E12023 |
scePowerRequestStandby
Version | NID |
---|---|
1.000.071-3.740.011 | 0x2B7C7CF4 |
scePowerSetConfigurationMode
Version | NID |
---|---|
1.000.071-3.740.011 | 0x3CE187B6 |
scePowerGetBatteryVolt
Version | NID |
---|---|
1.000.071-3.740.011 | 0x483CE86B |
scePowerSetUsingWireless
Version | NID |
---|---|
1.000.071-3.740.011 | 0x4D695C1F |
scePowerGetCaseTemp
Version | NID |
---|---|
1.000.071-3.740.011 | 0x525592E4 |
scePowerSetGpuClockFrequency
Version | NID |
---|---|
1.000.071-3.740.011 | 0x717DB06C |
scePowerSetArmClockFrequency
Version | NID |
---|---|
1.000.071-3.740.011 | 0x74DB5AE5 |
scePowerIsSuspendRequired
Version | NID |
---|---|
1.000.071-3.740.011 | 0x78A1A796 |
scePowerIsRequest
Version | NID |
---|---|
1.000.071-3.740.011 | 0x7FA406DD |
scePowerGetBatteryElec
Version | NID |
---|---|
1.000.071-3.740.011 | 0x862AE1A6 |
scePowerIsPowerOnline
Version | NID |
---|---|
1.000.071-3.740.011 | 0x87440F5E |
scePowerGetBatteryLifeTime
Version | NID |
---|---|
1.000.071-3.740.011 | 0x8EFB3FA2 |
scePowerGetBatteryRemainCapacity
Version | NID |
---|---|
1.000.071-3.740.011 | 0x94F5A53F |
scePowerSetGpuXbarClockFrequency
Version | NID |
---|---|
1.000.071-3.740.011 | 0xA7739DBE |
scePowerGetBatterySOH
Version | NID |
---|---|
1.000.071-3.740.011 | 0xA88A2B65 |
scePowerGetArmClockFrequency
Version | NID |
---|---|
1.000.071-3.740.011 | 0xABC6F88F |
scePowerRequestSuspend
Version | NID |
---|---|
1.000.071-3.740.011 | 0xAC32C9CC |
scePowerSetIdleTimerCount
Version | NID |
---|---|
1.000.071-3.740.011 | 0xB11EF149 |
scePowerGetBatteryChargingStatus
Version | NID |
---|---|
1.000.071-3.740.011 | 0xB4432BC8 |
scePowerIsLowBattery
Version | NID |
---|---|
1.000.071-3.740.011 | 0xD3075926 |
scePowerGetUsingWireless
Version | NID |
---|---|
1.000.071-3.740.011 | 0xD541FF03 |
scePowerCancelRequest
Version | NID |
---|---|
1.000.071-3.740.011 | 0xDB62C9CF |
scePowerUnregisterCallback
Version | NID |
---|---|
1.000.071-3.740.011 | 0xDFA8BAF8 |
scePowerGetBatteryFullCapacity
Version | NID |
---|---|
1.000.071-3.740.011 | 0xFD18A0FF |
scePowerGetBusClockFrequency
Version | NID |
---|---|
0.931.010-1.692.000 | not present |
1.800.071-3.740.011 | 0x478FE6F5 |
scePowerSetBusClockFrequency
Version | NID |
---|---|
0.931.010-1.692.000 | not present |
1.800.071-3.740.011 | 0xB8D7B3FB |
scePowerRequestDisplayOff
Version | NID |
---|---|
0.931.010-2.12 | not present |
2.500.071-3.740.011 | 0x160EB506 |
This function was probably added for PS TV support. Indeed, the screen of a PS TV is a HDMI device not an embedded screen like on PS Vita handled consoles.
scePowerRequestDisplayOn
Version | NID |
---|---|
0.931.010-2.12 | not present |
2.500.071-3.740.011 | 0x3EA75C88 |
This function was probably added for PS TV support. Indeed, the screen of a PS TV is a HDMI device not an embedded screen like on PS Vita handled consoles.
scePowerIsLowBatteryInhibitUpdateDownload
Version | NID |
---|---|
0.931.010-3.18 | not present |
3.300.041-3.740.011 | 0xE3E45636 |
This function was added along with SceSyscon#sceSysconIsLowBatteryInhibitUpdateDownloadForDriver.
scePowerIsLowBatteryInhibitUpdateReboot
Version | NID |
---|---|
0.931.010-3.18 | not present |
3.300.041-3.740.011 | 0x9AA05A48 |
This function was added along with SceSyscon#sceSysconIsLowBatteryInhibitUpdateRebootForDriver.
scePowerGetBatteryRemainLevel
Version | NID |
---|---|
0.931.010-3.18 | not present |
3.300.041-3.740.011 | 0xEA3E3715 |
This function was added along with SceSyscon#sceSysconGetBatteryRemainLevelForDriver.
scePowerGetBatteryRemainMaxLevel
Version | NID |
---|---|
0.931.010-3.18 | not present |
3.300.041-3.740.011 | 0x1DB00F10 |
ScePowerForDriver
scePowerGetArmClockFrequencyForDriver
Version | NID |
---|---|
1.69-3.60 | 0xABC6F88F |
int scePowerGetArmClockFrequencyForDriver(void);
scePowerSetArmClockFrequencyForDriver
Version | NID |
---|---|
1.69-3.60 | 0x74DB5AE5 |
int scePowerSetArmClockFrequencyForDriver(int clock);
scePowerGetArmClockFrequencyProcForDriver
Version | NID |
---|---|
3.60 | 0x2E9000F7 |
int scePowerGetArmClockFrequencyProcForDriver(SceUID pid);
scePowerSetArmClockFrequencyProcForDriver
Version | NID |
---|---|
3.60 | 0x86CB5218 |
int scePowerSetArmClockFrequencyProcForDriver(SceUID pid, int clock);
scePowerGetGpuClockFrequencyForDriver
Version | NID |
---|---|
0.931.010-1.692.000 | 0x1B04A1D6 |
1.800.071-3.740.011 | not present |
int scePowerGetGpuClockFrequencyForDriver(void);
scePowerSetGpuClockFrequencyForDriver
Version | NID |
---|---|
0.931.010-1.692.000 | 0x717DB06C |
1.800.071-3.740.011 | not present |
int scePowerSetGpuClockFrequencyForDriver(int clock);
scePowerGetGpuClockFrequencyProcForDriver
Version | NID |
---|---|
0.931.010-0.990.000 | not present |
0.996.090-3.740.011 | 0x642E0AF2 |
int scePowerGetGpuClockFrequencyProcForDriver(SceUID pid);
scePowerSetGpuClockFrequencyProcForDriver
Version | NID |
---|---|
0.931.010-0.990.000 | not present |
0.996.090-3.740.011 | 0xB104EFE2 |
int scePowerSetGpuClockFrequencyProcForDriver(SceUID pid, int clock);
scePowerGetGpuClockFrequencyInternalForDriver
Version | NID |
---|---|
3.60 | 0x475BCC82 |
Temp name was scePowerGetGpuEs4ClockFrequencyForDriver, scePowerGetDeviceCountForDriver.
int scePowerGetGpuClockFrequencyInternalForDriver(SceInt32 *corefreq, SceInt32 *mpfreq);
scePowerSetGpuClockFrequencyInternalForDriver
Version | NID |
---|---|
3.60 | 0x264C24FC |
Temp name was scePowerSetGpuEs4ClockFrequencyForDriver
int scePowerSetGpuClockFrequencyInternalForDriver(SceInt32 corefreq, SceInt32 mpfreq);
scePowerGetGpuXbarClockFrequencyForDriver
Version | NID |
---|---|
1.69-3.60 | 0x0A750DEE |
int scePowerGetGpuXbarClockFrequencyForDriver(void);
scePowerSetGpuXbarClockFrequencyForDriver
Version | NID |
---|---|
1.69-3.60 | 0xA7739DBE |
int scePowerSetGpuXbarClockFrequencyForDriver(int clock);
scePowerGetGpuXbarClockFrequencyProcForDriver
Version | NID |
---|---|
3.60 | 0x62C5406C |
int scePowerGetGpuXbarClockFrequencyProcForDriver(SceUID pid);
scePowerSetGpuXbarClockFrequencyProcForDriver
Version | NID |
---|---|
3.60 | 0x8D18F728 |
int scePowerSetGpuXbarClockFrequencyProcForDriver(SceUID pid, int clock);
scePowerGetBusClockFrequencyForDriver
Version | NID |
---|---|
3.60 | 0x478FE6F5 |
int scePowerGetBusClockFrequencyForDriver(void);
scePowerSetBusClockFrequencyForDriver
Version | NID |
---|---|
3.60 | 0xB8D7B3FB |
int scePowerSetBusClockFrequencyForDriver(int clock);
scePowerGetBusClockFrequencyProcForDriver
Version | NID |
---|---|
3.60 | 0x2777A517 |
int scePowerGetBusClockFrequencyProcForDriver(SceUID pid);
scePowerSetBusClockFrequencyProcForDriver
Version | NID |
---|---|
3.60 | 0x20A33D58 |
int scePowerSetBusClockFrequencyProcForDriver(SceUID pid, int clock);
scePowerGetCompatClockFrequencyForDriver
Version | NID |
---|---|
3.60 | 0xCBCC11CC |
int scePowerGetCompatClockFrequencyForDriver(void);
scePowerSetCompatClockFrequencyForDriver
Version | NID |
---|---|
3.60 | 0xFFC84E69 |
int scePowerSetCompatClockFrequencyForDriver(int clock);
scePowerGetVeneziaClockFrequencyForDriver
Version | NID |
---|---|
3.60 | 0x64641E6A |
int scePowerGetVeneziaClockFrequencyForDriver(void);
scePowerSetVeneziaClockFrequencyForDriver
Version | NID |
---|---|
0.990.000-3.740.011 | 0x621BD8FD |
int scePowerSetVeneziaClockFrequencyForDriver(int clock);
scePowerGetDmac5ClockFrequencyForDriver
Version | NID |
---|---|
3.60 | 0xF1E14EA9 |
int scePowerGetDmac5ClockFrequencyForDriver(void);
scePowerSetDmac5ClockFrequencyForDriver
Version | NID |
---|---|
3.60 | 0xA902CDDF |
int scePowerSetDmac5ClockFrequencyForDriver(int clock);
scePowerGetVipClockFrequencyForDriver
Version | NID |
---|---|
3.60 | 0x0E58FCDF |
Temp name was scePowerGetVeneziaForDriver.
int scePowerGetVipClockFrequencyForDriver(void);
scePowerSetVipClockFrequencyForDriver
Version | NID |
---|---|
3.60 | 0xE5573571 |
Temp name was scePowerSetVeneziaForDriver.
VIP is set to ?222MHz? by system when video is played back, even in PspEmu. ?The two clocks it sets are 55MHz and 83MHz.?
Related to Venezia.
int scePowerSetVipClockFrequencyForDriver(int clock);
scePowerGetSysClockFrequencyForDriver
Version | NID |
---|---|
3.60 | 0xC63DACD5 |
int scePowerGetSysClockFrequencyForDriver(void);
scePowerSetSysClockFrequencyForDriver
Version | NID |
---|---|
0.931 | not present |
0.990-3.60 | 0x0E333BEC |
Hardware_Timers Clock.
int scePowerSetSysClockFrequencyForDriver(int clock);
scePowerGetCameraBusClockFrequencyForDriver
Version | NID |
---|---|
3.60 | 0x668F01D4 |
int scePowerGetCameraBusClockFrequencyForDriver(void);
scePowerSetCameraBusClockFrequencyForDriver
Version | NID |
---|---|
3.60 | 0xC743E392 |
int scePowerSetCameraBusClockFrequencyForDriver(int clock);
scePowerSetCallbackStateForDriver
Version | NID |
---|---|
3.60 | 0xA6FF5997 |
scePowerSetDisplayBrightnessForDriver
Version | NID |
---|---|
3.60 | 0x43D5CE1D |
scePowerGetDisplayMaxBrightnessForDriver
Version | NID |
---|---|
3.60 | 0xD8759B55 |
scePowerSetDisplayMaxBrightnessForDriver
Version | NID |
---|---|
3.60 | 0x77027B6B |
// ex: scePowerSetDisplayMaxBrightnessForDriver(0x10000); // ex: scePowerSetDisplayMaxBrightnessForDriver(0xC4EC); int scePowerSetDisplayMaxBrightnessForDriver(int unk);
scePowerSetDisplayBrightnessForDriver
Version | NID |
---|---|
0.931-0.990 | not present |
3.60 | 0x43D5CE1D |
scePowerTickForDriver
Version | NID |
---|---|
0.931-0.990 | not present |
3.60 | 0xEFD3C963 |
Generate a power tick, preventing unit from powering off and turning off display.
int scePowerTickForDriver(SceUInt32 type);
ScePowerForDriver_394DE492
Version | NID |
---|---|
3.60 | 0x394DE492 |
Returns a global boolean variable indicating if display brightness change is allowed.
int ScePowerForDriver_394DE492(void);
scePowerSetStandbyButtonPushTimeForDriver
Version | NID |
---|---|
3.60 | 0x675A84ED |
derived from vshPowerSetStandbyButtonPushTime
int scePowerSetStandbyButtonPushTimeForDriver(int a1);
scePowerSetPsButtonPushTimeForDriver
Version | NID |
---|---|
3.60 | 0xCF8F0529 |
derived from vshPowerSetPsButtonPushTime
int scePowerSetPsButtonPushTimeForDriver(int a1);
scePowerGetWakeupFactorForDriver
Version | NID |
---|---|
3.60 | 0x9F26222A |
derived from vshPowerGetWakeupFactor
int scePowerGetWakeupFactorForDriver(void);
scePowerGetPowerSwModeForDriver
Version | NID |
---|---|
3.60 | 0x165CE085 |
Derived from PSP NID.
/** * Unknow, get ??? something * * @returns On PSP, 0 or 1 or 2 or 3, default to 2, on PS Vita, 4 is a possible value */ int scePowerGetPowerSwModeForDriver(void);
scePowerSetPowerSwModeForDriver
Version | NID |
---|---|
3.60 | 0x0CD21B1F |
Derived from PSP NID.
int scePowerSetPowerSwModeForDriver(int mode);
scePowerSetPowerSwMode2ForDriver
Version | NID |
---|---|
3.60 | 0xC1853BA7 |
This is guessed name.
derived from vshPowerSetPowerSwMode
int scePowerSetPowerSwMode2ForDriver(int power_sw_mode);
scePowerGetBatteryCycleCountForDriver
Version | NID |
---|---|
1.69-3.60 | 0x008A54B9 |
scePowerGetResumeCountForDriver
Version | NID |
---|---|
0.931.010-3.36 | 0x0074EF9B |
3.500.011-3.740.011 | 0x0074EF9B |
scePowerIsRequestForDriver
Version | NID |
---|---|
1.69-3.60 | 0x7FA406DD |
scePowerCancelRequestForDriver
Version | NID |
---|---|
1.69-3.60 | 0xDB62C9CF |
scePowerRequestShutdownForDriver
Version | NID |
---|---|
0.990-3.60 | 0x8921A7A0 |
scePowerRequestSoftResetForDriver
Version | NID |
---|---|
1.69-3.60 | 0x2875994B |
/** * Requests PS Vita to do a soft reset * * @return always 0 */ int scePowerRequestSoftResetForDriver(void);
scePowerRequestColdResetForDriver
Version | NID |
---|---|
1.69-3.60 | 0x0442D852 |
/** * Requests PS Vita to do a cold reset * * @return always 0 */ int scePowerRequestColdResetForDriver(void);
scePowerRequestHibernateForDriver
Version | NID |
---|---|
3.60 | 0x08951418 |
derived from vshPowerRequestHibernate
/** * Requests PS Vita to enter hibernate mode * * @return always 0 */ int scePowerRequestHibernateForDriver(void);
scePowerRequestSuspendForDriver
Version | NID |
---|---|
1.69-3.60 | 0xAC32C9CC |
/** * Requests PS Vita to enter suspend mode * * @return always 0 */ int scePowerRequestSuspendForDriver(void);
scePowerRequestStandbyForDriver
Version | NID |
---|---|
1.69-3.60 | 0x2B7C7CF4 |
/** * Requests PS Vita to enter standby mode * * @return always 0 */ int scePowerRequestStandbyForDriver(void);
scePowerRequestResumeForDriver
Version | NID |
---|---|
3.60 | 0x02DB1035 |
/** * Requests PS Vita to resume * * @return always 0 */ int scePowerRequestResumeForDriver(void);
scePowerRequestDisplayOffForDriver
Version | NID |
---|---|
3.60 | 0x160EB506 |
/** * Requests PS Vita to turn off display * * @return always 0 */ int scePowerRequestDisplayOffForDriver(void);
scePowerRequestDisplayOnForDriver
Version | NID |
---|---|
3.60 | 0x3EA75C88 |
/** * Requests PS Vita to turn on display * * @return always 0 */ int scePowerRequestDisplayOnForDriver(void);
scePowerIsSuspendRequiredForDriver
Version | NID |
---|---|
1.69-3.60 | 0x78A1A796 |
scePowerRegisterCallbackForDriver
Version | NID |
---|---|
1.69-3.60 | 0x04B7766E |
scePowerUnregisterCallbackForDriver
Version | NID |
---|---|
1.69-3.60 | 0xDFA8BAF8 |
scePowerGetIdleTimerForDriver
Version | NID |
---|---|
3.60 | 0xEDC13FE5 |
scePowerSetIdleTimerForDriver
Version | NID |
---|---|
3.60 | 0x6BC26FC7 |
scePowerSetIdleTimerCountProcForDriver
Version | NID |
---|---|
3.60 | 0xFB5C3C75 |
scePowerSetIdleCallbackForDriver
Version | NID |
---|---|
0.990-3.60 | 0x1BA2FCAE |
// idx: 0-7 int scePowerSetIdleCallbackForDriver(SceUInt32 idx, int maybe_flags, SceUInt64 duration, void *cb_func, int idle_cb_info_5);
Index | By | Description |
---|---|---|
0 | ScePower | scePowerRequestSuspend |
1 | ScePower | Ctrl |
2 | ScePower | Ctrl |
3 | unknown | - |
4 | SceMsif | - |
5 | unknown | - |
6 | unknown | - |
7 | unknown | - |
ScePowerForDriver_660D5AB4
Version | NID |
---|---|
0.931 | not present |
0.990-3.60 | 0x660D5AB4 |
Set some value of the selected Idle Callback to 2.
// idx: 0-7 int ScePowerForDriver_660D5AB4(SceUInt32 idx);
scePowerSetProcessIdleCallbackForDriver
Version | NID |
---|---|
3.60 | 0x0856FD0A |
int scePowerSetProcessIdleCallbackForDriver(int idle_cb_info_1, int idle_cb_info_2);
scePowerGetCaseTempForDriver
Version | NID |
---|---|
0.990.000-3.740.011 | 0x525592E4 |
Exact same code as #scePowerGetBatteryTempForDriver.
scePowerIsBatteryExistForDriver
Version | NID |
---|---|
1.69-3.60 | 0x0AFD0D8B |
scePowerWaitRequestCompletionForDriver
Version | NID |
---|---|
3.60 | 0x3951AF53 |
Temp name was scePowerEncodeUBattery (PSP NID wrong bruteforce).
scePowerSetBatteryFakeStatusForDriver
Version | NID |
---|---|
0.996.090-3.740.011 | 0x0C6973B8 |
Derived from _vshPowerSetBatteryFakeStatus.
int scePowerSetBatteryFakeStatusForDriver(int status);
scePowerIsPowerOnlineForDriver
Version | NID |
---|---|
1.69-3.60 | 0x87440F5E |
scePowerIsBatteryChargingForDriver
Version | NID |
---|---|
1.69-3.60 | 0x1E490401 |
scePowerGetBatteryLifePercentForDriver
Version | NID |
---|---|
1.69-3.60 | 0x2085D15D |
scePowerBatteryUpdateInfoForDriver
Version | NID |
---|---|
0.990-3.60 | 0x27F3292C |
scePowerGetBatteryTempForDriver
Version | NID |
---|---|
0.990.000-3.740.011 | 0x28E12023 |
Exact same code as #scePowerGetCaseTempForDriver.
scePowerGetBatteryVoltForDriver
Version | NID |
---|---|
1.69-3.60 | 0x483CE86B |
scePowerGetBatteryElecForDriver
Version | NID |
---|---|
1.69-3.60 | 0x862AE1A6 |
scePowerGetBatteryLifeTimeForDriver
Version | NID |
---|---|
1.69-3.60 | 0x8EFB3FA2 |
scePowerGetBatteryRemainCapacityForDriver
Version | NID |
---|---|
0.990.000-3.740.011 | 0x94F5A53F |
To document: in which unit is the remaining capacity.
int scePowerGetBatteryRemainCapacityForDriver(void);
scePowerGetBatteryRemainLevelForDriver
Version | NID |
---|---|
0.931.010-3.18 | not present |
3.300.041-3.740.011 | 0xEA3E3715 |
If Syscon version < 0x1040105, returns the remaining battery level, else returns 0 (SCE_POWER_BATTERY_REMAIN_LEVEL_INVALID).
#define SCE_POWER_BATTERY_REMAIN_LEVEL_INVALID 0 #define SCE_POWER_BATTERY_REMAIN_LEVEL_0_25_PERCENTS 1 #define SCE_POWER_BATTERY_REMAIN_LEVEL_25_50_PERCENTS 2 #define SCE_POWER_BATTERY_REMAIN_LEVEL_50_75_PERCENTS 3 #define SCE_POWER_BATTERY_REMAIN_LEVEL_75_100_PERCENTS 4 int scePowerGetBatteryRemainLevelForDriver(void);
scePowerGetBatteryRemainMaxLevelForDriver
Version | NID |
---|---|
0.931.010-3.18 | not present |
3.300.041-3.740.011 | 0x1DB00F10 |
If Syscon version < 0x1040105, returns 4 (SCE_POWER_BATTERY_REMAIN_LEVEL_75_100_PERCENTS), else returns 0 (SCE_POWER_BATTERY_REMAIN_LEVEL_INVALID).
int scePowerGetBatteryRemainLevelForDriver(void);
scePowerGetBatterySOHForDriver
Version | NID |
---|---|
0.990.000-3.740.011 | 0xA88A2B65 |
scePowerGetBatteryChargingStatusForDriver
Version | NID |
---|---|
0.990.000-3.740.011 | 0xB4432BC8 |
Returns battery charging status.
// To verify #define SCE_POWER_ERROR_BATTERY_NOT_CONNECTED 0x802B0100 #define SCE_POWER_ERROR_BATTERY_NOT_WORKING 0x802B0101 #define SCE_BATTERY_STATUS_POWER_OFFLINE 0 #define SCE_BATTERY_STATUS_CHARGING_NORMAL 1 #define SCE_BATTERY_STATUS_CHARGE_FORBIDDEN 2 #define SCE_BATTERY_STATUS_CHARGING_USB 3 int scePowerGetBatteryChargingStatusForDriver(void);
scePowerIsLowBatteryForDriver
Version | NID |
---|---|
0.990.000-3.740.011 | 0xD3075926 |
scePowerIsSomethingBatteryForDriver
Version | NID |
---|---|
0.996.090-3.740.011 | 0x0D56C601 |
Returns value from #SceSysconForDriver_ACEE1C70.
scePowerIsSomethingBattery2ForDriver
Version | NID |
---|---|
0.996.090-3.740.011 | 0x627A89C6 |
return SceSysconForDriver_4A184B7C
scePowerGetBatteryFullCapacityForDriver
Version | NID |
---|---|
0.990.000-3.740.011 | 0xFD18A0FF |
scePowerBatteryDisableUsbChargingForDriver
Version | NID |
---|---|
0.990.000-3.740.011 | 0x90285886 |
int scePowerBatteryDisableUsbChargingForDriver(void);
scePowerBatteryEnableUsbChargingForDriver
Version | NID |
---|---|
0.990.000-3.740.011 | 0x733F973B |
int scePowerBatteryEnableUsbChargingForDriver(void);
scePowerBatteryForbidChargingForDriver
Version | NID |
---|---|
0.990.000-3.740.011 | 0x166922EC |
int scePowerBatteryForbidChargingForDriver(void);
scePowerBatteryPermitChargingForDriver
Version | NID |
---|---|
0.990.000-3.740.011 | 0xDD3D4DAC |
int scePowerBatteryPermitChargingForDriver(void);
scePowerBatteryStopUsbChargingForDriver
Version | NID |
---|---|
0.996.090-3.740.011 | 0xACC857A4 |
int scePowerBatteryStopUsbChargingForDriver(void);
scePowerBatterySetUsbStatusForDriver
Version | NID |
---|---|
0.990.000-3.740.011 | 0xE4E3C316 |
int scePowerBatterySetUsbStatusForDriver(int unk);
scePowerSetWakeupConditionForDriver
Version | NID |
---|---|
0.990-3.60 | 0xF535D928 |
// cond: 4: WlanBt related, 0x20: WlanBt related, 0x8000: USB charge int scePowerSetWakeupConditionForDriver(int cond, SceBool enable);
scePowerWlanActivateForDriver
Version | NID |
---|---|
0.931-3.60 | 0x6D2CA84B |
int scePowerWlanActivateForDriver(void);
scePowerWlanDeactivateForDriver
Version | NID |
---|---|
0.931-3.60 | 0x23BB0A60 |
int scePowerWlanDeactivateForDriver(void);
ScePowerForDriver_2B51FE2F
Version | NID |
---|---|
0.931.010-3.740.011 | 0x2B51FE2F |
A good name might be scePowerIsWlanActivatedForDriver, but it does not match NID using ScePowerForDriver NID suffix.
int ScePowerForDriver_2B51FE2F(void);
ScePowerForDriver_C62B6164
Version | NID |
---|---|
0.990.000-3.740.011 | 0xC62B6164 |
Gets some information about battery.
ScePowerForDriver_8C0D2051
Version | NID |
---|---|
0.931.010-3.740.011 | 0x8C0D2051 |
Gets the battery status obtained using SceSyscon#SceSysconForDriver_A2FE9BF9.
Called by SceUdcd when SceUdcdAlarmTickTimer is triggered.
int ScePowerForDriver_8C0D2051(SceUInt32 *pResult);
scePowerGetUsingWirelessProcForDriver
Version | NID |
---|---|
0.996.090-3.740.011 | 0x06AF03DB |
int scePowerGetUsingWirelessProcForDriver(SceUID pid);
scePowerSetUsingWlanProcForDriver
Version | NID |
---|---|
0.931.010-3.36 | not present |
3.500.011-3.740.011 | 0x4A69163A |
scePowerGetUsingWlanProcForDriver
Version | NID |
---|---|
0.931.010-3.36 | not present |
3.500.011-3.740.011 | 0x2784A6BD |
int scePowerGetUsingWlanProcForDriver(SceUID pid);
ScePowerForDriver_0D80B917
Version | NID |
---|---|
0.931.010-3.36 | not present |
3.500.011-3.740.011 | 0x0D80B917 |
Maybe related to #scePowerGetUsingWirelessProcForDriver.
int ScePowerForDriver_0D80B917(SceUID pid);
ScePowerForDriver_4159E0D9
Version | NID |
---|---|
0.931.010-3.36 | not present |
3.500.011-3.740.011 | 0x4159E0D9 |
ScePowerForDriver_5210A6FE
Version | NID |
---|---|
0.931.010-3.36 | not present |
3.500.011-3.740.011 | 0x5210A6FE |
ScePowerForDriver_661D670D
Version | NID |
---|---|
0.931.010-3.36 | not present |
3.500.011-3.740.011 | 0x661D670D |
ScePowerForDriver_991BDEAF
Version | NID |
---|---|
1.03-3.60 | 0x991BDEAF |
// idx: 0-7 int ScePowerForDriver_991BDEAF(SceSize idx, SceUInt32 value);
ScePowerForDriver_38415146
Version | NID |
---|---|
1.03-3.60 | 0x38415146 |
Sets a global variable and sets global event flag 0x2000.
Related to LED.
int ScePowerForDriver_38415146(SceBool enable);
SceLedForDriver
sceLedSetModeForDriver
Version | NID |
---|---|
0.990.000-3.740.011 | 0xEA24BE03 |
Maybe concerns DevKit LEDs as there are 8 LEDs, or maybe led=2 is PS button LED.
typedef struct SceLedConfiguration { // size is 0x14 on FW 3.60 SceSize size; // Size of this structure SceUInt32 maybe_onTime; // ex: 2 (2 seconds) SceUInt32 maybe_offTime; // ex: 3 (3 seconds) SceInt32 timeLimit; // ex: 60 (60 seconds), -1 (infinite) SceUInt32 maybe_endOrStartBlinkState; // ex: 0 (OFF), 1 (ON) } SceLedConfiguration; #define SCE_LED_MODE_OFF 0 // Turn a LED OFF. #define SCE_LED_MODE_ON 1 // Turn a LED ON. #define SCE_LED_MODE_BLINK 2 // Set a blink event for a LED. #define SCE_LED_MODE_SELECTIVE_EXEC 3 // Register LED configuration commands and execute them. Still not completely known how that mode works. #define SCE_LED_MODE_UNK_4 4 // Only works with led = 2 // ex: // uint32_t config_1[5] = {0x14, 2, 3, 0x3C, 0}; // uint32_t config_2[5] = {0x14, 2, 3, -1, 0}; // sceLedSetModeForDriver(1, 2, (SceLedConfiguration *)&config); // sceLedSetModeForDriver(3, 2, (SceLedConfiguration *)&config); // led: valid values are 0-7, 0: used in SceCamera, 1: used when sdstor read/write from SD, 3: used when sdstor read/write from MMC // mode: valid values are 0-4 int sceLedSetModeForDriver(int led, int mode, SceLedConfiguration *pConfig);