ScePower: Difference between revisions

From Vita Development Wiki
Jump to navigation Jump to search
Line 1,368: Line 1,368:
|}
|}


Maybe DevKit LEDs as there are 8 LEDs.
Maybe DevKit LEDs as there are 8 LEDs, or maybe led=2 is PS button LED.


<source lang="c">
<source lang="c">

Revision as of 18:35, 13 August 2020

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. 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
3.60 0x660D5AB4

idx - 1~7

int ScePowerForDriver_660D5AB4(SceSize idx);

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);