ScePower

From Vita Development Wiki
Jump to navigation Jump to search

Module

Known NIDs

Version Name World Privilege NID
1.69 ScePower Non-secure Kernel 0xF0ADE873
3.60 ScePower Non-secure Kernel 0x5EAE6AEC

Libraries

Known NIDs

Version Name World Visibility NID
1.69-3.60 ScePower Non-secure User 0x1082DA7F
1.69-3.60 ScePowerForDriver Non-secure Kernel 0x1590166F
1.69-3.60 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

ScePower

scePowerGetBatteryCycleCount

Version NID
1.69-3.60 0x008A54B9

scePowerRequestColdReset

Version NID
1.69-3.60 0x0442D852

scePowerRegisterCallback

Version NID
1.69-3.60 0x04B7766E

scePowerGetGpuXbarClockFrequency

Version NID
1.69-3.60 0x0A750DEE

scePowerIsBatteryExist

Version NID
1.69-3.60 0x0AFD0D8B

scePowerRequestDisplayOff

Version NID
3.60 0x160EB506

scePowerGetGpuClockFrequency

Version NID
1.69-3.60 0x1B04A1D6

scePowerGetBatteryRemainMaxLevel

Version NID
3.60 0x1DB00F10

scePowerIsBatteryCharging

Version NID
1.69-3.60 0x1E490401

scePowerGetBatteryLifePercent

Version NID
1.69-3.60 0x2085D15D

scePowerBatteryUpdateInfo

Version NID
0.990-3.60 0x27F3292C

scePowerGetBatteryTemp

Version NID
1.69-3.60 0x28E12023

scePowerRequestStandby

Version NID
1.69-3.60 0x2B7C7CF4

scePowerSetConfigurationMode

Version NID
1.69-3.60 0x3CE187B6

scePowerRequestDisplayOn

Version NID
3.60 0x3EA75C88

scePowerGetBusClockFrequency

Version NID
3.60 0x478FE6F5

scePowerGetBatteryVolt

Version NID
1.69-3.60 0x483CE86B

scePowerSetUsingWireless

Version NID
1.69-3.60 0x4D695C1F

scePowerGetCaseTemp

Version NID
1.69-3.60 0x525592E4

scePowerSetGpuClockFrequency

Version NID
1.69-3.60 0x717DB06C

scePowerSetArmClockFrequency

Version NID
1.69-3.60 0x74DB5AE5

scePowerIsSuspendRequired

Version NID
1.69-3.60 0x78A1A796

scePowerIsRequest

Version NID
1.69-3.60 0x7FA406DD

scePowerGetBatteryElec

Version NID
1.69-3.60 0x862AE1A6

scePowerIsPowerOnline

Version NID
1.69-3.60 0x87440F5E

scePowerGetBatteryLifeTime

Version NID
1.69-3.60 0x8EFB3FA2

scePowerGetBatteryRemainCapacity

Version NID
1.69-3.60 0x94F5A53F

scePowerIsLowBatteryInhibitUpdateReboot

Version NID
3.60 0x9AA05A48

scePowerSetGpuXbarClockFrequency

Version NID
1.69-3.60 0xA7739DBE

scePowerGetBatterySOH

Version NID
1.69-3.60 0xA88A2B65

scePowerGetArmClockFrequency

Version NID
1.69-3.60 0xABC6F88F

scePowerRequestSuspend

Version NID
1.69-3.60 0xAC32C9CC

scePowerSetIdleTimerCount

Version NID
1.69-3.60 0xB11EF149

scePowerGetBatteryChargingStatus

Version NID
1.69-3.60 0xB4432BC8

scePowerSetBusClockFrequency

Version NID
3.60 0xB8D7B3FB

scePowerIsLowBattery

Version NID
1.69-3.60 0xD3075926

scePowerGetUsingWireless

Version NID
1.69-3.60 0xD541FF03

scePowerCancelRequest

Version NID
1.69-3.60 0xDB62C9CF

scePowerUnregisterCallback

Version NID
1.69-3.60 0xDFA8BAF8

scePowerIsLowBatteryInhibitUpdateDownload

Version NID
3.60 0xE3E45636

scePowerGetBatteryRemainLevel

Version NID
3.60 0xEA3E3715

scePowerGetBatteryFullCapacity

Version NID
1.69-3.60 0xFD18A0FF

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
1.69 0x1B04A1D6
3.60 not present
int scePowerGetGpuClockFrequencyForDriver(void);

scePowerSetGpuClockFrequencyForDriver

Version NID
1.69-3.60 0x717DB06C
int scePowerSetGpuClockFrequencyForDriver(int clock);

scePowerGetGpuClockFrequencyProcForDriver

Version NID
3.60 0x642E0AF2
int scePowerGetGpuClockFrequencyProcForDriver(SceUID pid);

scePowerSetGpuClockFrequencyProcForDriver

Version NID
3.60 0xB104EFE2
int scePowerSetGpuClockFrequencyProcForDriver(SceUID pid, int clock);

scePowerGetGpuClockFrequencyInternalForDriver

Version NID
3.60 0x475BCC82

Wrong name is scePowerGetGpuEs4ClockFrequencyForDriver

int scePowerGetGpuClockFrequencyInternalForDriver(int *clock1, int *clock2);

scePowerSetGpuClockFrequencyInternalForDriver

Version NID
3.60 0x264C24FC

Wrong name is scePowerSetGpuEs4ClockFrequencyForDriver

int scePowerSetGpuClockFrequencyInternalForDriver(int clock1, int clock2);

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
3.60 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 might be eMMC codename or maybe Venezia/Video I... Processor.

Vip is set to 222MHz by system when video is played back, even in PspEmu.

Probably related to Venezia. The two clocks it sets is 55MHz and 83MHz.

int scePowerSetVipClockFrequencyForDriver(int clock);

scePowerGetSysClockFrequencyForDriver

Version NID
3.60 0xC63DACD5
int scePowerGetSysClockFrequencyForDriver(void);

scePowerSetSysClockFrequencyForDriver

Version NID
3.60 0x0E333BEC
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
3.60 0x43D5CE1D

scePowerTickForDriver

Version NID
3.60 0xEFD3C963

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
int scePowerGetPowerSwModeForDriver(void);

scePowerSetPowerSwModeForDriver

Version NID
3.60 0x0CD21B1F

Derived from PSP NID.

int scePowerSetPowerSwModeForDriver(int power_sw_mode);

scePowerSetPowerSwMode2ForDriver

Version NID
3.60 0xC1853BA7

This is a not validated name.

derived from vshPowerSetPowerSwMode

int scePowerSetPowerSwMode2ForDriver(int power_sw_mode);

scePowerGetBatteryCycleCountForDriver

Version NID
1.69-3.60 0x008A54B9

scePowerGetResumeCountForDriver

Version NID
3.60 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
3.60 0x1BA2FCAE

scePowerSetProcessIdleCallbackForDriver

Version NID
3.60 0x0856FD0A

scePowerGetCaseTempForDriver

Version NID
1.69-3.60 0x525592E4

scePowerIsBatteryExistForDriver

Version NID
1.69-3.60 0x0AFD0D8B

scePowerWaitRequestCompletionForDriver

Version NID
3.60 0x3951AF53

Wrong PSP NID bruteforce gave scePowerEncodeUBattery.

scePowerSetBatteryFakeStatusForDriver

Version NID
3.60 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
1.69-3.60 0x28E12023

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
1.69-3.60 0x94F5A53F

scePowerGetBatteryRemainLevelForDriver

Version NID
3.60 0xEA3E3715

scePowerGetBatteryRemainMaxLevelForDriver

Version NID
3.60 0x1DB00F10

scePowerGetBatterySOHForDriver

Version NID
1.69-3.60 0xA88A2B65

scePowerGetBatteryChargingStatusForDriver

Version NID
1.69-3.60 0xB4432BC8

scePowerIsLowBatteryForDriver

Version NID
1.69-3.60 0xD3075926

scePowerIsSomethingBatteryForDriver

Version NID
3.60 0x0D56C601

return SceSysconForDriver_ACEE1C70

scePowerIsSomethingBattery2ForDriver

Version NID
3.60 0x627A89C6

return SceSysconForDriver_4A184B7C

scePowerGetBatteryFullCapacityForDriver

Version NID
1.69-3.60 0xFD18A0FF

scePowerBatteryDisableUsbChargingForDriver

Version NID
3.60 0x90285886
int scePowerBatteryDisableUsbChargingForDriver(void);

scePowerBatteryEnableUsbChargingForDriver

Version NID
3.60 0x733F973B
int scePowerBatteryEnableUsbChargingForDriver(void);

scePowerBatteryForbidChargingForDriver

Version NID
3.60 0x166922EC
int scePowerBatteryForbidChargingForDriver(void);

scePowerBatteryPermitChargingForDriver

Version NID
3.60 0xDD3D4DAC
int scePowerBatteryPermitChargingForDriver(void);

scePowerBatteryStopUsbChargingForDriver

Version NID
3.60 0xACC857A4
int scePowerBatteryStopUsbChargingForDriver(void);

scePowerBatterySetUsbStatusForDriver

Version NID
3.60 0xE4E3C316
int scePowerBatterySetUsbStatusForDriver(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);

scePowerIsWlanActivatedForDriver_temp_name

Version NID
0.931-3.60 0x2B51FE2F

this function is temp name

int scePowerIsWlanActivatedForDriver(void);

set_some_battery_info

Version NID
3.60 0xC62B6164

set_udcd_state

Version NID
3.60 0x8C0D2051

Called by SceUdcd when SceUdcdAlarmTickTimer is triggered.

scePowerGetUsingWirelessProcForDriver

Version NID
3.60 0x06AF03DB
int scePowerGetUsingWirelessProcForDriver(SceUID pid);

scePowerGetUsingWlanProcForDriver

Version NID
3.60 0x2784A6BD
int scePowerGetUsingWlanProcForDriver(SceUID pid);

scePowerSetUsingWlanProcForDriver

Version NID
3.60 0x4A69163A

ScePowerForDriver_0D80B917

Version NID
3.60 0x0D80B917

Related to scePowerGetProcUsingWireless?

int ScePowerForDriver_0D80B917(SceUID pid);

ScePowerForDriver_660D5AB4

Version NID
0.931 not present
1.03-3.60 0x660D5AB4
// idx: 0-7
int ScePowerForDriver_660D5AB4(SceSize idx);

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

Related to LED.

int ScePowerForDriver_38415146(SceBool enable);

SceLedForDriver

sceLedSetModeForDriver

Version NID
3.60 0xEA24BE03

Maybe 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
   SceUInt32 maybe_offTime; // ex: 3
   SceInt32 blinkTime; // ex: 60, -1
   SceUInt32 maybe_endBlinkState; // ex: 0
} 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, 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);