SceSyscon: Difference between revisions
CelesteBlue (talk | contribs) |
|||
(491 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
SceSyscon is a kernel module in charge of interacting with the System Controller by executing commands. | |||
== Module == | == Module == | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version | ! Version !! World !! Privilege | ||
|- | |- | ||
| | | 0.931.010-3.740.011 || Non-secure || Kernel | ||
|} | |} | ||
Line 17: | Line 18: | ||
! Version !! Name !! World !! Visibility !! NID | ! Version !! Name !! World !! Visibility !! NID | ||
|- | |- | ||
| | | 0.931.010-3.740.011 || [[SceSyscon#SceSysconForDriver|SceSysconForDriver]] || Non-secure || Kernel || 0x60A35F64 | ||
|} | |} | ||
== | == Types == | ||
<source lang="c"> | <source lang="c"> | ||
typedef struct SceSysconPacket { | #define SCE_KERNEL_ERROR_SYSCON_ERROR 0x80250000 | ||
#define SCE_SYSCON_ERROR_INVALID_SIZE 0x80250001 | |||
#define SCE_SYSCON_ERROR_INVALID_ARGUMENT 0x80250002 | |||
#define SCE_SYSCON_ERROR_INVALID_POINTER 0x80250003 | |||
#define SCE_SYSCON_ERROR_INVALID_STATUS 0x80250004 | |||
#define SCE_SYSCON_ERROR_NOT_INTR_ALLOWED 0x80250005 | |||
#define SCE_SYSCON_ERROR_TX_SIZE_TOO_LONG 0x80250006 | |||
#define SCE_SYSCON_ERROR_ILLEGAL_SIZE 0x80250100 | |||
#define SCE_SYSCON_ERROR_ILLEGAL_STATUS 0x80250101 | |||
#define SCE_SYSCON_ERROR_NOEXEC 0x80250102 | |||
#define SCE_SYSCON_ERROR_INVALID_FLAGS 0x80250105 | |||
// Syscon error codes are gotten with 0x80250200 | rx[3], where rx is the data returned by Syscon | |||
typedef struct SceSysconPacket { // size is 0x80 | |||
struct SceSysconPacket *next; | struct SceSysconPacket *next; | ||
SceUInt32 status; // Lower 16 bits contain flags | |||
SceUID semaId; | SceUID semaId; | ||
SceUInt32 index; // Out: returns to which packet list the packet was inserted into | |||
SceUInt8 tx[32]; // tx[0..1] = cmd, tx[2] = size i.e. sizeof(actual_data)+1, rx[3..31] = actual_data | |||
SceUInt8 rx[32]; // rx[0..1] = cmd, rx[2] = size i.e. sizeof(actual_data)+2, rx[3] = error_code, rx[4..31] = actual_data | |||
void *tx_extra; | |||
void *rx_extra; | |||
SceSize rx_extra_size; | |||
SceUInt32 rx_offset; | |||
int (*callback)(SceSysconPacket *packet, void *argp); | |||
void *argp; | void *argp; | ||
SceUInt32 time; | |||
SceUInt32 unk[5]; | |||
} SceSysconPacket; | |||
} | |||
typedef enum SceSysconControl { | |||
SCE_SYSCON_CTRL_UP = 0x1, | |||
SCE_SYSCON_CTRL_RIGHT = 0x2, | |||
SCE_SYSCON_CTRL_DOWN = 0x4, | |||
SCE_SYSCON_CTRL_LEFT = 0x8, | |||
SCE_SYSCON_CTRL_TRIANGLE = 0x10, | |||
SCE_SYSCON_CTRL_CIRCLE = 0x20, | |||
SCE_SYSCON_CTRL_CROSS = 0x40, | |||
SCE_SYSCON_CTRL_SQUARE = 0x80, | |||
SCE_SYSCON_CTRL_SELECT = 0x100, | |||
SCE_SYSCON_CTRL_LTRIGGER = 0x200, | |||
SCE_SYSCON_CTRL_RTRIGGER = 0x400, | |||
SCE_SYSCON_CTRL_START = 0x800, | |||
SCE_SYSCON_CTRL_PSBUTTON = 0x1000, | |||
SCE_SYSCON_CTRL_POWER = 0x4000, | |||
SCE_SYSCON_CTRL_VOLUP = 0x10000, | |||
SCE_SYSCON_CTRL_VOLDOWN = 0x20000, | |||
SCE_SYSCON_CTRL_HEADPHONE = 0x8000000 | |||
} SceSysconControl; | |||
</source> | |||
Flags (passed to <code>sceSysconCmdExecForDriver</code>, etc), also lower bits of <code>status</code>: | |||
{| class="wikitable" | |||
! Flags !! Meaning | |||
|- | |||
| 0x1 || Some kind of priority that helps to select to which packet list the packet is inserted into. | |||
|- | |||
| 0x100 || Do not insert packet checksum (at <code>tx_buf[2 + len]</code>), where <code>len = tx_buf[2]</code>. And don't memset the rest of the buffer to -1 (<code>memset(tx_buf + len + 3, -1, 29 - len)</code>) if len < 29. | |||
|- | |||
| 0x400 || When set, use rx_extra to receive the data. rx_extra_size must be greater than 32. | |||
|- | |||
| 0x800 || When set, use tx_extra instead of tx for sending data. The size is contained in tx_extra[2] and must be smaller or equal to 253. When cleared: use tx and the size is contained in tx[2], which has to be smaller or equal 29. | |||
|} | |||
== SceSysconForDriver == | |||
=== sceSysconErnieShutdownForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x94AB13CC | |||
|} | |||
Calls Syscon command 0xC1. | |||
<source lang="C"> | |||
#define ERNIE_SHUTDOWN_SHUTDOWN 0 | |||
#define ERNIE_SHUTDOWN_REBOOT 1 | |||
int sceSysconErnieShutdownForDriver(int mode); | |||
</source> | |||
=== sceSysconErnieResetForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x14B99945 | |||
|} | |||
This is a guessed name. Temp name was sceSysconPowerCtrlKermitResetForDriver. | |||
It issues [[SceExcpmgr#SMC_calls|SMC]] 0x11A with type=RESET and mode=0: <code>return sceSysconSetPowerModeForDriver(2, 0);</code>. | |||
<source lang="C">int sceSysconErnieResetForDriver(void);</source> | |||
=== sceSysconErnieHibernateForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.940 || not present | |||
|- | |||
| 0.990.000-3.740.011 || 0x4278E614 | |||
|} | |||
It issues [[SceExcpmgr#SMC_calls|SMC]] 0x11A with type=HIBERNATE and mode=0: <code>return sceSysconSetPowerModeForDriver(5, 0);</code>. | |||
<source lang="C">int sceSysconErnieHibernateForDriver(void);</source> | |||
=== sceSysconBatterySWResetForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x87DA378D | |||
|} | |||
If Syscon version <= 0x70503, it does nothing and returns error 0x8025023F. | |||
<source lang="C">int sceSysconBatterySWResetForDriver(void);</source> | |||
=== sceSysconGetBatteryFullCapForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010 || not present | |||
|- | |||
| 0.990.000-3.740.011 || 0xF93CF833 | |||
|} | |||
Temp name was sceSysconGetBatteryFullCapacityForDriver. | |||
Used in [[ScePower]]'s module_start. | |||
<source lang="C">int sceSysconGetBatteryFullCapForDriver(SceUInt32 *pCap);</source> | |||
=== sceSysconGetBicTempForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.940 || not present | |||
|- | |||
| 0.990.000 || 0xECFA7242 | |||
|- | |||
| 1.000.041-3.740.011 || not present. Renamed to sceSysconGetAbbyTempForDriver. | |||
|} | |||
This is a guessed name. Another possible name is sceSysconGetBatteryInternalTempForDriver. | |||
Replaced (just renaming) by [[#sceSysconGetAbbyTempForDriver]]. | |||
Calls Syscon command 0x98B. | |||
<source lang="C">int sceSysconGetBicTempForDriver(SceUInt32 *pTemp);</source> | |||
=== sceSysconGetAbbyTempForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.990.000 || not present. Was named sceSysconGetBicTempForDriver. | |||
|- | |||
| 1.000.041-3.740.011 || 0xE1885F68 | |||
|} | |||
This is a guessed name. Another possible name is sceSysconGetBatteryInternalTempForDriver. | |||
Replacement (just renaming) for [[#sceSysconGetBicTempForDriver]]. | |||
Calls Syscon command 0x98B. | |||
<source lang="C">int sceSysconGetAbbyTempForDriver(SceUInt32 *pTemp);</source> | |||
=== sceSysconGetBatteryCycleCountForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.990.000 || not present | |||
|- | |||
| 0.996.090-3.740.011 || 0xCD73079D | |||
|} | |||
Calls Syscon command 0x98C. | |||
Used in [[ScePower]]. | |||
<source lang="C">int sceSysconGetBatteryCycleCountForDriver(SceUInt32 *pCount);</source> | |||
=== sceSysconBatteryStartBLModeForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x2CEF078E | |||
|} | |||
<source lang="C">int sceSysconBatteryStartBLModeForDriver(void);</source> | |||
=== sceSysconBatteryStopBLModeForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xE4AE7852 | |||
|} | |||
<source lang="C">int sceSysconBatteryStopBLModeForDriver(void);</source> | |||
=== sceSysconBatterySetBLCommandForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xE4F29744 | |||
|} | |||
BL command (1 byte at most) must be contained in either unk_byte or pSrc. | |||
<source lang="C">int sceSysconBatterySetBLCommandForDriver(SceUInt16 ctx, SceUInt8 unk_byte, void *pSrc, SceUInt8 size);</source> | |||
=== sceSysconBatteryExecBLCommandForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x74B2AB55 | |||
|} | |||
<source lang="C">int sceSysconBatteryExecBLCommandForDriver(SceUInt16 ctx);</source> | |||
=== sceSysconBatteryReadBLCommandForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x448DAFF1 | |||
|} | |||
<source lang="C"> | |||
// size must be between 0 and 0x10 | |||
int sceSysconBatteryReadBLCommandForDriver(SceUInt16 ctx, SceUInt8 unk1, SceUInt8 unk2, void *pDst, SceUInt8 size); | |||
</source> | </source> | ||
=== | === sceSysconGetManualChargeModeForDriver === | ||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-2.060.011 || not present | |||
|- | |||
| 2.100.081-3.740.011 || 0x4FEC564C | |||
|} | |||
<source lang="C">int sceSysconGetManualChargeModeForDriver(int *piMode);</source> | |||
=== sceSysconCtrlManualChargeModeForDriver === | |||
{| class="wikitable" | {| class="wikitable" | ||
! Version !! NID | |||
|- | |||
| 0.931.010-2.060.011 || not present | |||
|- | |- | ||
! Version | | 2.100.081-3.740.011 || 0xC6A2C9EF | ||
! | |} | ||
! NID | |||
<source lang="C">int sceSysconCtrlManualChargeModeForDriver(int mode);</source> | |||
=== sceSysconSetClockForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |- | ||
| 3. | | 0.931.010-3.740.011 || 0x9B6A6F64 | ||
| | |||
| | |||
|} | |} | ||
=== | Calls Syscon command 0x81. | ||
Sets current Syscon power on time in ticks of 0.5 second. The set value can be get with [[#sceSysconGetClockForDriver]]. | |||
Used in [[SceRtc]]. Set to 0 just before setting Current Tick, to reset syscon power on time. | |||
<source lang="C">int sceSysconSetClockForDriver(SceUInt32 time);</source> | |||
=== SceSysconForDriver_51164951 === | |||
{| class="wikitable" | {| class="wikitable" | ||
! Version !! NID | |||
|- | |- | ||
! Version | | 0.931.010-3.740.011 || 0x51164951 | ||
! | |} | ||
! NID | |||
Calls Syscon command 0x82. On Syscon version < 0x90907, 4 bytes are sent to Syscon, whilst on Syscon version >= 0x90907, 5 bytes are sent to Syscon. | |||
Sets an alarm tick. The set tick can be get using Syscon command 0x12 via [[#SceSysconForDriver_3168F3AF]]. | |||
Used in [[SceRtc#sceRtcSetAlarmTickForDriver]]. | |||
<source lang="C"> | |||
// FW 0.931.010 | |||
int SceSysconForDriver_51164951(void *tick); | |||
// FW 3.600.011-3.740.011 | |||
// tick_low: seen value: 0xffffffff during Syscon Init | |||
// tick_hi: some 8-bit flag, seen value: 0 during Syscon Init | |||
int SceSysconForDriver_51164951(SceUint32 tick_low, SceUInt8 tick_hi); | |||
</source> | |||
=== SceSysconForDriver_373ECF8A === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |- | ||
| 1. | | 0.931.010-0.940 || not present | ||
| | |- | ||
| | | 0.990.000-3.740.011 || 0x373ECF8A | ||
|} | |||
Calls Syscon command 0x83. Sends 3 bytes to Syscon. Used only if [[KBL Param#Hardware Info|Hardware Info]] indicates that the motherboard is not IRT-001 or IRT-002 or type 0x10 (maybe named IRS-001) and if console is not in manufacturing mode. | |||
<source lang="C">int SceSysconForDriver_373ECF8A(SceUInt32 unk);</source> | |||
=== SceSysconForDriver_2659535C === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010 || not present | |||
|- | |||
| 0.990.000-3.740.011 || 0x2659535C | |||
|} | |||
Calls Syscon command 0x84. Sends 1 byte to Syscon: 0. | |||
<source lang="C">int SceSysconForDriver_2659535C(void);</source> | |||
=== SceSysconForDriver_4295D497 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010 || not present | |||
|- | |||
| 0.990.000-3.740.011 || 0x4295D497 | |||
|} | |||
Calls Syscon command 0x85. Sends 1 byte to Syscon: 0. | |||
<source lang="C">int SceSysconForDriver_4295D497(void);</source> | |||
=== sceSysconGetLogInfoForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.940 || not present | |||
|- | |||
| 0.990.000-3.740.011 || 0x701535FC | |||
|} | |||
Calls Syscon command 0x86. | |||
<source lang="C"> | |||
typedef struct SceSysconLogInfo { // size is 8 on FW 3.600.011 | |||
uint8_t unk_0[8]; | |||
} SceSysconLogInfo; | |||
int sceSysconGetLogInfoForDriver(SceSysconLogInfo *pInfo); | |||
</source> | |||
=== sceSysconLogStartForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.940 || not present | |||
|- | |||
| 0.990.000-3.740.011 || 0x4E55CF5E | |||
|} | |||
Calls Syscon command 0x87. Sends 1 byte to Syscon: 0. | |||
<source lang="C">int sceSysconLogStartForDriver(void);</source> | |||
=== sceSysconLogReadDataForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.940 || not present | |||
|- | |||
| 0.996.090-3.740.011 || 0x487D97F3 | |||
|} | |||
Calls Syscon command 0x88. | |||
<source lang="C">int sceSysconLogReadDataForDriver(SceUInt16 offset, void *pData, SceSize size);</source> | |||
=== sceSysconLogStartWaitingForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-2.12 || not present | |||
|- | |||
| 2.500.071-3.740.011 || 0x9C0B1E61 | |||
|} | |||
Calls Syscon command 0x89. | |||
<source lang="C">int sceSysconLogStartWaitingForDriver(void);</source> | |||
=== sceSysconCtrlUSBSupplyForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 3.600.011-3.740.011 || 0x7BFA95DA | |||
|} | |||
This function is used instead of [[#sceSysconCtrlChargeVBUSForDriver]] on PS Vita Slim. | |||
Calls Syscon command 0x8C8. Sends 1 byte to Syscon. Gets 0 byte from Syscon. | |||
Used in factTest module. | |||
<source lang="C">int sceSysconCtrlUSBSupplyForDriver(SceUInt8 data);</source> | |||
=== SceSysconForDriver_451C1662 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 3.600.011-3.740.011 || 0x451C1662 | |||
|} | |||
Calls Syscon command 0x8C9. Sends 1 byte to Syscon. Gets 0 byte from Syscon. | |||
<source lang="C">int SceSysconForDriver_451C1662(SceUInt8 data);</source> | |||
=== SceSysconForDriver_79074DE4 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 3.600.011-3.740.011 || 0x79074DE4 | |||
|} | |||
Calls Syscon command 0x8CA. Sends 0 byte to Syscon. Gets 1 bytes from Syscon: data. | |||
<source lang="C">int SceSysconForDriver_79074DE4(SceUInt8* pData);</source> | |||
=== SceSysconForDriver_7D25F6D2 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 3.600.011-3.740.011 || 0x7D25F6D2 | |||
|} | |||
Calls Syscon command 0x8CB. Sends 1 byte to Syscon: id. Gets 1 bytes from Syscon: data. | |||
<source lang="C">int SceSysconForDriver_7D25F6D2(SceUInt8 id, SceUInt8* pData);</source> | |||
=== SceSysconForDriver_D2ADABCA === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 3.600.011-3.740.011 || 0xD2ADABCA | |||
|} | |||
Calls Syscon command 0x8CC. Sends 2 bytes from Syscon: id, data. | |||
<source lang="C">int SceSysconForDriver_D2ADABCA(SceUInt8 id, SceUInt8 data);</source> | |||
=== sceSysconGetTemperatureLogForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-2.12 || not present | |||
|- | |||
| 2.500.071-3.740.011 || 0x3B354824 | |||
|} | |||
Calls Syscon command 0x8CE. Gets 0x10 bytes from Syscon. | |||
<source lang="C"> | |||
typedef struct SceSysconTemperatureLog { // size is 0x10 bytes | |||
char log[16]; | |||
} SceSysconTemperatureLog; | |||
int sceSysconGetTemperatureLogForDriver(SceSysconTemperatureLog *pLog); | |||
</source> | |||
=== sceSysconClearTemperatureLogForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-2.12 || not present | |||
|- | |||
| 2.500.071-3.740.011 || 0x3843D657 | |||
|} | |||
Calls Syscon command 0x8CF. Sends 2 bytes to Syscon. | |||
<source lang="C">int sceSysconClearTemperatureLogForDriver(SceUInt32 unk);</source> | |||
=== SceSysconForDriver_F87679EE === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-2.12 || not present | |||
|- | |||
| 3.600.011-3.740.011 || 0xF87679EE | |||
|} | |||
Calls Syscon command 0x8D0. Sends 2 bytes to Syscon. | |||
Probably related to Syscon Temperature Log. | |||
<source lang="C">int SceSysconForDriver_F87679EE(SceUInt32 unk);</source> | |||
=== sceSysconGetUsbDetStatusForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-2.060.011 || not present | |||
|- | |||
| 2.100.081-3.740.011 || 0xEF810687 | |||
|} | |} | ||
=== | Calls Syscon command 0x805. | ||
Maybe supported by PS TV or PS Vita Slim only. | |||
<source lang="C">int sceSysconGetUsbDetStatusForDriver(SceUInt32 *pStatus);</source> | |||
=== SceSysconForDriver_E7F5D3DC === | |||
{| class="wikitable" | {| class="wikitable" | ||
! Version !! NID | |||
|- | |- | ||
| 0.931.010-1.692.000 || not present | |||
|- | |- | ||
| 3. | | 2.100.081-3.740.011 || 0xE7F5D3DC | ||
| | |||
| | |||
|} | |} | ||
=== | Calls Syscon command 0x806. | ||
Maybe supported by PS TV or PS Vita Slim only. | |||
On PS TV returns data 0x00000000 | |||
<source lang="C">int SceSysconForDriver_E7F5D3DC(SceUInt32 *pResult);</source> | |||
=== SceSysconForDriver_253CC522 === | |||
{| class="wikitable" | {| class="wikitable" | ||
! Version !! NID | |||
|- | |- | ||
| 0.931.010-1.692.000 || not present | |||
|- | |- | ||
| 3. | | 2.100.081-3.740.011 || 0x253CC522 | ||
| | |||
| | |||
|} | |} | ||
=== | Calls Syscon command 0x807. Gets 2 bytes from Syscon. | ||
On DevKit, it returns 0x8025023F. Maybe supported by PS TV or PS Vita Slim only. | |||
On PS TV returns data 0xca1a | |||
<source lang="C">int SceSysconForDriver_253CC522(SceUInt16 *pResult);</source> | |||
=== sceSysconCtrlDolceLEDForDriver === | |||
{| class="wikitable" | {| class="wikitable" | ||
! Version !! NID | |||
|- | |||
| 0.931.010-2.060.011 || not present | |||
|- | |- | ||
! Version | | 2.100.081-3.740.011 || 0x727F985A | ||
! | |} | ||
! NID | |||
This is a guessed name. | |||
<source lang="C"> | |||
#define STATE_ON 0 | |||
#define STATE_BLINK_SLOW 1 | |||
#define STATE_BLINK_FAST 2 | |||
int sceSysconCtrlDolceLEDForDriver(SceUInt32 state); | |||
</source> | |||
=== sceSysconGetTimeStampForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |- | ||
| 3. | | 0.931.010-3.740.011 || 0x4D588A0A | ||
| | |} | ||
| | |||
This is a guessed named, derived from PSP. Temp name was sceSysconGetBaryonTimestampForDriver. | |||
Returns the timestamp of latest installed Syscon firmware patch, formatted as <code>YYYYMMDDhhmm</code>. This comes from a string stored in Syscon firmware under another format: <code>$Date:: YYYY-MM-DD hh:mm:ss +0900#$</code> | |||
Example: <code>$Date:: 2013-12-13 15:52:05 +0900#$</code> in Syscon firmware becomes <code>201312131552</code> in Syscon command 2. | |||
<source lang="c"> | |||
// pTimestamp will point to a buffer of size 0x10 bytes, containing a string of size 13 (12: length + 1: terminal character) | |||
int sceSysconGetTimeStampForDriver(char *pTimestamp); | |||
</source> | |||
=== sceSysconGetWakeupFactorForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xCF5B2F2F | |||
|} | |} | ||
=== | Result is 2 bytes wakeup factor coming from Syscon command 0x10. | ||
Used in [[SceWlanBt]]. | |||
<source lang="C">int sceSysconGetWakeupFactorForDriver(SceUInt32 *pWakeupFactor);</source> | |||
=== sceSysconCtrlHdmiCecPowerForDriver === | |||
{| class="wikitable" | {| class="wikitable" | ||
! Version !! NID | |||
|- | |- | ||
! Version | | 0.931.010-3.740.011 || 0x62155962 | ||
! | |} | ||
! NID | |||
If Syscon version is strictly lower than 0x40000, it does nothing and returns 0. | |||
Sets the pin CDC Hot Plug Detect (HPD) state of the HDMI bridge (AD80244 / ADV7533). | |||
<source lang="c">int sceSysconCtrlHdmiCecPowerForDriver(SceBool enable_HDMI_CDC_HPD_pin);</source> | |||
=== sceSysconCtrlMotionSensorPowerForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |- | ||
| 3. | | 0.931.010-3.740.011 || 0x063425AE | ||
| | |||
| | |||
|} | |} | ||
=== | This is a guessed name. | ||
If Syscon version is strictly lower than 0x40000, it does nothing and returns 0. | |||
<source lang="C">int sceSysconCtrlMotionSensorPowerForDriver(SceBool enable);</source> | |||
=== SceSysconForDriver_3FDD29D6 === | |||
{| class="wikitable" | {| class="wikitable" | ||
! Version !! NID | |||
|- | |- | ||
! Version | | 0.931.010-3.740.011 || 0x3FDD29D6 | ||
! | |} | ||
! NID | |||
Calls Syscon command 0x884. Sends 2 bytes to Syscon. | |||
<source lang="C">int SceSysconForDriver_3FDD29D6(int value, SceBool use_flag);</source> | |||
=== SceSysconForDriver_79E6DD8B === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |- | ||
| 3. | | 0.931.010-3.740.011 || 0x79E6DD8B | ||
| | |||
| | |||
|} | |} | ||
=== | Calls Syscon command 0x885. Sends 2 bytes to Syscon. | ||
<source lang="C">int SceSysconForDriver_79E6DD8B(int value, SceBool use_flag);</source> | |||
=== sceSysconCtrlVoltageForDriver === | |||
{| class="wikitable" | {| class="wikitable" | ||
! Version !! NID | |||
|- | |- | ||
! Version | | 0.920.050-3.740.011 || 0x7F198FA2 | ||
! | |} | ||
! NID | |||
Temp name was sceSysconSetVoltageForDriver. | |||
Calls Syscon command 0x88E. | |||
Used in [[ScePower]]. | |||
<source lang="C"> | |||
/* | |||
type: | |||
0: Reserved | |||
1: DD1 (VDD - IFTU, DMAC, Internal bus, SPM 32KiB/128KiB) SetSysClockFrequency, SetDmac5ClockFrequency, SetBusClockFrequency, SetCameraBusClockFrequency | |||
2: DD2 (VDDA - ARM core, L2 cache) SetArmClockFrequency | |||
3: DD3 (VDDC - Codec Engine, AVC Decoder) SetVipClockFrequency, SetVeneziaClockFrequency | |||
4: DD4 (VDDG - GPU core) SetGpuClockFrequencyInternal, SetGpuXbarClockFrequency, SetCompatClockFrequency | |||
vid: | |||
0x22 (0.34V) | |||
0x8A (1.38V) - (something got from ScePervasiveForDriver) | |||
*/ | |||
#define SCE_SYSCON_VOLTAGE_DD1 (1) | |||
#define SCE_SYSCON_VOLTAGE_DD2 (2) | |||
#define SCE_SYSCON_VOLTAGE_DD3 (3) | |||
#define SCE_SYSCON_VOLTAGE_DD4 (4) | |||
int sceSysconCtrlVoltageForDriver(SceUInt32 type, SceUInt32 vid); | |||
</source> | |||
=== sceSysconSetPowerModeForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |- | ||
| | | 0.931.010-3.740.011 || 0x8A95D35C | ||
| | |||
| 0x8A95D35C | |||
|} | |} | ||
Temp name was sceSysconResetDeviceForDriver. | |||
It issues [[SceExcpmgr#SMC_calls|SMC]] 0x11A. | |||
The <code> | The <code>mode</code> argument is usually set to <code>0x2</code> or sometimes <code>0x8002</code> (which seems to correspond to some request by the UDC and BT drivers). | ||
The <code>type</code> argument determines what to do. | The <code>type</code> argument determines what to do. | ||
Real definition names are like: "SCE_SYSCON_POWERMODE_MODE_STANDBY". | |||
{| class="wikitable" | |||
! Type !! Description !! Syscon command arguments <code>{cmd_no_low, cmd_no_hi, args_size, args}</code> | |||
|- | |||
| 0 || Power off || <code>{0xC0, 0, 5, type, (~mode) & 0xFF, (~mode >> 8) & 0xFF, (mode >> 16) & 0xFF}</code> | |||
|- | |||
| 1 || Suspend (low-power state) || <code>{0xC0, 0, 5, type, (~mode) & 0xFF, (~mode >> 8) & 0xFF, (mode >> 16) & 0xFF}</code> | |||
|- | |||
| 2 || Reset (cold reset) || <code>{0x01, 8, 1, 0}</code> | |||
|- | |||
| 3 || Reset to external boot mode || <code>{0xC1, 0, 2, 0}</code> | |||
|- | |||
| 4 || ?Reset to update mode? || <code>{0xC1, 0, 2, 1}</code> | |||
|- | |||
| 5 || Hibernate || <code>{0xC2, 0, 2, 0x5A}</code> | |||
|- | |||
| 16 || ?Resume? || <code>{0xC0, 0, 5, type, (~mode) & 0xFF, (~mode >> 8) & 0xFF, (mode >> 16) & 0xFF}</code> | |||
|- | |||
| 17 || Resume (soft reset: suspend and immediately resume) || <code>{0xC0, 0, 5, type, (~mode) & 0xFF, (~mode >> 8) & 0xFF, (mode >> 16) & 0xFF}</code> | |||
|} | |||
<source lang="c">int sceSysconSetPowerModeForDriver(int type, int mode);</source> | |||
=== sceSysconEnableHibernateIOForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.940 || not present | |||
|- | |||
| 0.990.000-3.740.011 || 0x4946538A | |||
|} | |||
<source lang="C">int sceSysconEnableHibernateIOForDriver(int maybe_enable);</source> | |||
=== sceSysconWaitReadyForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.940 || not present | |||
|- | |||
| 0.996.090-3.740.011 || 0x55DF1C9B | |||
|} | |||
Temp name was sceSysconWaitInitializedForDriver. | |||
<source lang="c">int sceSysconWaitReadyForDriver(void);</source> | |||
=== sceSysconCmdSyncForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x6E517D22 | |||
|} | |||
<source lang="c">int sceSysconCmdSyncForDriver(SceSysconPacket *packet, int noWait);</source> | |||
=== sceSysconCmdExecForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x9ADDCA4A | |||
|} | |||
<source lang="c">int sceSysconCmdExecForDriver(SceSysconPacket *packet, unsigned int flags);</source> | |||
=== sceSysconCmdExecAsyncForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xC2224E82 | |||
|} | |||
<source lang="c">int sceSysconCmdExecAsyncForDriver(SceSysconPacket *packet, u32 flags, int (*callback)(SceSysconPacket *, void *), void *argp);</source> | |||
=== sceSysconCtrlSdPowerForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xBE1ADE4F | |||
|} | |||
If Syscon version is strictly lower than 0x40000, it does nothing and returns 0. Calls Syscon command 0x888. | |||
Enables/disables GameCard reader. | |||
Used in [[SceSdstor]]. | |||
<source lang="c"> | |||
// param: 1 = enable SD (GameCard reader) power, 0 = disable SD (GameCard reader) power | |||
int sceSysconCtrlSdPowerForDriver(SceUInt16 param); | |||
</source> | |||
=== sceSysconCtrlWirelessPowerForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.995.000 || 0x4FBDA504 | |||
|- | |||
| 0.996.090-3.740.011 || not present | |||
|} | |||
If Syscon version is strictly lower than 0x40000, it does nothing and returns 0. Calls Syscon command 0x88A. | |||
Replaced by function [[#sceSysconCtrlWirelessPower2ForDriver]]. | |||
<source lang="C">int sceSysconCtrlWirelessPowerForDriver(SceUInt16 param);</source> | |||
=== sceSysconCtrlWirelessPower2ForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.940 || not present | |||
|- | |||
| 0.996.090-3.740.011 || 0xA2E85DB9 | |||
|} | |||
Replacement function for [[#sceSysconCtrlWirelessPowerForDriver]]. Calls Syscon command 0x88A. | |||
Used in [[SceWlanBt]]: | |||
<source lang="C"> | |||
scePowerSetWakeupConditionForDriver(4, 0); | |||
uVar2 = 0; | |||
sceSysconCtrlDeviceResetForDriver(0x10, 0); | |||
sceSysconCtrlWirelessPower2ForDriver(0); | |||
sceClockgenWlanBtClkDisableForDriver(); | |||
</source> | |||
<source lang="C">int sceSysconCtrlWirelessPower2ForDriver(SceUInt16 enable);</source> | |||
=== sceSysconCtrlWirelessPowerDownForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.995.000 || 0xDF8C6D2D | |||
|- | |||
| 0.996.090-3.740.011 || not present | |||
|} | |||
If motherboard is not "hardware info third byte 0x10" (probably IRS-001), it does nothing and returns 0, probably because missing hardware. Calls Syscon command 0xB1. Wireless power down might be a button to enable/disable Wireless, like on PSP. | |||
<source lang="C">int sceSysconCtrlWirelessPowerDownForDriver(SceUInt16 param);</source> | |||
=== sceSysconGetConfigStorageInfoForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.995.000-3.740.011 || 0xCE48E8EB | |||
|} | |||
Get Syscon Config Storage Info using Syscon command 0x1300. | |||
Config Storage Info is part of the [[Syscon]] "ConfZZ" header. | |||
<source lang="C"> | |||
typedef struct SceKernelConfigStorageInfo { // size is 8 bytes | |||
SceUInt16 version; | |||
SceUInt16 unk_2; | |||
SceUInt32 unk_4; | |||
} SceKernelConfigStorageInfo; | |||
int sceSysconGetConfigStorageInfoForDriver(SceKernelConfigStorageInfo *pInfo); | |||
</source> | |||
=== sceSysconLoadConfigstorageScriptForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.990.000 || not present | |||
|- | |||
| 0.995.000-3.740.011 || 0x89C5CFD6 | |||
|} | |||
Calls Syscon command 0x1385. | |||
The OS uses this function to change between modes: IDU mode, Show Mode, no mode. This works by spoofing or rewriting [[KBL Param#Hardware Info|Hardware Info]]. This is reboot persistent. | |||
<source lang="C">int sceSysconLoadConfigstorageScriptForDriver(int a1, void *pScript, SceSize size);</source> | |||
=== sceSysconVerifyConfigstorageScriptForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.990.000 || not present | |||
|- | |||
| 0.995.000-3.740.011 || 0xCC6F90A8 | |||
|} | |||
Calls Syscon command 0x1386. | |||
This function is not used in the OS and anyway it would always return error because it calls a command that is not implemented in Syscon FW. | |||
<source lang="C">int sceSysconVerifyConfigstorageScriptForDriver(int a1, void *pScript, SceSize size);</source> | |||
=== SceSysconForDriver_FD65FFCB === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 3.600.011-3.740.011 || 0xFD65FFCB | |||
|} | |||
Calls Syscon command 0x1392. | |||
<source lang="C">int SceSysconForDriver_FD65FFCB(SceUInt8 offset, SceUInt16 a2);</source> | |||
=== sceSysconBeginConfigstorageTransactionForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010 || not present | |||
|- | |||
| 0.990.000-3.740.011 || 0xA4968B8C | |||
|} | |||
<source lang="C">int sceSysconBeginConfigstorageTransactionForDriver(void);</source> | |||
=== sceSysconCommitConfigstorageTransactionForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010 || not present | |||
|- | |||
| 0.990.000-3.740.011 || 0x7B9B3617 | |||
|} | |||
<source lang="C">int sceSysconCommitConfigstorageTransactionForDriver(void);</source> | |||
=== sceSysconEndConfigstorageTransactionForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010 || not present | |||
|- | |||
| 0.990.000-3.740.011 || 0xFCC3E8EE | |||
|} | |||
<source lang="C">int sceSysconEndConfigstorageTransactionForDriver(void);</source> | |||
=== sceSysconSetDebugHandlersForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xF245CD6F | |||
|} | |||
<source lang="c"> | |||
/** A set of debug handlers for syscon, that you can set in sceSysconSetDebugHandlersForDriver(). */ | |||
typedef struct SceSysconDebugHandlers { | |||
/** Structure size (probably, unused). */ | |||
s32 size; | |||
/** Callback ran right before running a packet, with a pointer to it passed as the first argument. */ | |||
void (*start)(SceSysconPacket *packet); | |||
/** Callback ran right after finishing running a packet, with a pointer to it passed as the first argument. */ | |||
void (*end)(SceSysconPacket *packet); | |||
} SceSysconDebugHandlers; | |||
int sceSysconSetDebugHandlersForDriver(SceSysconDebugHandlers *debug_handlers); | |||
</source> | |||
=== sceSysconGetBatteryCalibDataForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.36 || not present | |||
|- | |||
| 3.500.011-3.740.011 || 0x9ADC9936 | |||
|} | |||
<source lang="C">int sceSysconGetBatteryCalibDataForDriver(int *piData1, int *piData2, int *piData3, int *piData4);</source> | |||
=== sceSysconGetTouchpanelDeviceInfoForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xF492E69E | |||
|} | |||
<source lang="C"> | |||
typedef struct SceKernelTouchpanelDeviceInfo { // size is 8 bytes | |||
uint16_t FrontVendorID; | |||
uint16_t FrontFirmwareRev; | |||
uint16_t RearVendorID; | |||
uint16_t RearFirmwareRev; | |||
} SceKernelTouchpanelDeviceInfo; | |||
int sceSysconGetTouchpanelDeviceInfoForDriver(SceKernelTouchpanelDeviceInfo *pInfo); | |||
</source> | |||
=== sceSysconGetTouchpanelDeviceInfo2ForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-1.50 || not present | |||
|- | |||
| 1.690.011-3.740.011 || 0x030D447F | |||
|} | |||
This is a guessed name. | |||
Returns extended touchpanel info. | |||
<source lang="C"> | |||
// this is a guessed name | |||
typedef struct SceKernelTouchpanelInfo { // size is 0xA bytes | |||
SceUInt16 vendorID; | |||
SceUInt16 firmwareRev; | |||
SceUInt16 configRev; | |||
SceUInt8 hwVersion; | |||
SceUInt8 vendorInfo; | |||
SceUInt16 reserved; | |||
} SceKernelTouchpanelInfo; | |||
// this is a guessed name | |||
typedef struct SceKernelTouchpanelDeviceInfo2 { // size is 0x14 bytes | |||
SceKernelTouchpanelInfo front; | |||
SceKernelTouchpanelInfo rear; | |||
} SceKernelTouchpanelDeviceInfo2; | |||
int sceSysconGetTouchpanelDeviceInfo2ForDriver(SceKernelTouchpanelDeviceInfo2 *pInfo); | |||
</source> | |||
=== sceSysconMotionGetMeasureDataForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x270B7B0B | |||
|} | |||
Calls Syscon command 0x400. | |||
=== sceSysconMotionGetDeviceInfoForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xD01E64FC | |||
|} | |||
Returns motion sensor device info. | |||
Calls Syscon command 0x480. | |||
See [[SceMotionDev#sceMotionDevGetDeviceInfoForDriver]] for the SceKernelMotionDeviceInfo structure. | |||
<source lang="C">int sceSysconMotionGetDeviceInfoForDriver(SceKernelMotionDeviceInfo *pInfo);</source> | |||
=== SceSysconForDriver_9A7858B6 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x9A7858B6 | |||
|} | |||
Calls Syscon command 0x481. Sends 3 bytes to Syscon. | |||
Probably used to send information to the motion sensor device. | |||
<source lang="C">int SceSysconForDriver_9A7858B6(SceBool a1, SceUint16 a2);</source> | |||
=== sceSysconGetHardwareInfoForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xCBD6D8BC | |||
|} | |||
Returns [[KBL Param#Hardware Info|Hardware Info]] obtained from Syscon command 0x5. | |||
<source lang="C">int sceSysconGetHardwareInfoForDriver(void);</source> | |||
=== sceSysconGetHardwareInfo2ForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-2.060.011 || not present | |||
|- | |||
| 2.100.081-3.740.011 || 0x965C68C3 | |||
|} | |||
Returns [[KBL Param#Hardware Info 2|Hardware Info 2]] obtained from Syscon command 0x6. | |||
This function was certainly added for PS Vita Slim or PS TV support because [[KBL Param#Hardware Info|Hardware Info]] risked being fulfilled if too many hardware revisions were made. | |||
Used in [[SceAudio#SceAudioIn|SceAudioIn]] (maybe to check Conexant IC), [[SceCodec]] (maybe to check Conexant IC), and [[SceVshBridge#vshSysconGetHardwareInfo2|_vshSysconGetHardwareInfo2]]. | |||
<source lang="C"> | |||
typedef struct SceKernelHardwareInfo2 { | |||
SceUInt8 flags[0x10]; | |||
} SceKernelHardwareInfo2; | |||
int sceSysconGetHardwareInfo2ForDriver(SceKernelHardwareInfo2 *pInfo); | |||
</source> | |||
=== sceSysconGetErnieVersionForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931-3.740.011 || 0xFF86F4C5 | |||
|} | |||
This is a guessed name. Temp name was sceSysconGetBaryonVersionForDriver. | |||
<source lang="c">int sceSysconGetErnieVersionForDriver(void);</source> | |||
=== SceSysconForDriver_EBE3262C === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.940 || not present | |||
|- | |||
| 0.996.090-3.740.011 || 0xEBE3262C | |||
|} | |||
In [[SceSblPostSsMgr]], used just after [[#sceSysconGetErnieVersionForDriver]]. | |||
Returns 8 bits of some Syscon Mode information. Bit 6 (from right) is Syscon DownLoader Mode flag. Bit 3 (from right) is Power Online flag. | |||
<source lang="C">SceUInt8 SceSysconForDriver_EBE3262C(void);</source> | |||
=== sceSysconIsDownLoaderModeForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010 || not present | |||
|- | |||
| 0.990.000-3.740.011 || 0x9ADD60D2 | |||
|} | |||
<source lang="C">int sceSysconIsDownLoaderModeForDriver(void);</source> | |||
=== sceSysconIsDealDownLoaderModeForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xB7BCC638 | |||
|} | |||
<source lang="C">int sceSysconIsDealDownLoaderModeForDriver(void);</source> | |||
=== sceSysconNopForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x0D0B6D25 | |||
|} | |||
<source lang="C">int sceSysconNopForDriver(void);</source> | |||
=== sceSysconIsPowerOnlineForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x9DA2A5AB | |||
|} | |||
Returns true iff Syscon information bit 3 (from right) is set. See also [[#SceSysconForDriver_EBE3262C]]. | |||
Used in many [[ScePower]] functions for example before setting display brightness (to save battery). | |||
<source lang="C">SceBool sceSysconIsPowerOnlineForDriver(void);</source> | |||
=== sceSysconGetErnieDLVersionForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xD2F456DC | |||
|} | |||
Calls Syscon command 0x1100. | |||
<source lang="C">void sceSysconGetErnieDLVersionForDriver(SceUInt32 *pVersion);</source> | |||
=== sceSysconGetBatteryVersionForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x68E0031E | |||
|} | |||
Battery IC codename: if HWinfo > 7 "Abby" else unknown codename, maybe just "Bic". | |||
<source lang="C">int sceSysconGetBatteryVersionForDriver(SceUInt16 *HWinfo, SceUInt16 *FWinfo, SceUInt16 *DFinfo);</source> | |||
=== sceSysconReadCookieStatusForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-1.81 || not present | |||
|- | |||
| 2.000.081-3.740.011 || 0xDFB024C4 | |||
|} | |||
This is a guessed name. | |||
Temp name was sceSysconAbbySyncForDriver. | |||
<source lang="C">int sceSysconReadCookieStatusForDriver(SceUInt32 *puiStatus);</source> | |||
=== sceSysconGetManufacturesStatusForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-1.692.000 || not present | |||
|- | |||
| 1.800.071-3.740.011 || 0x3E09A1F4 | |||
|} | |||
In theory, this function should only be called when Product Mode is already set. | |||
<source lang="C">int sceSysconGetManufacturesStatusForDriver(int *piStatus);</source> | |||
=== sceSysconReadScratchPadForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x299B1CE7 | |||
|} | |||
Temp name was sceSysconReadCommandForDriver, sceSysconVsReadDataForDriver. | |||
Calls Syscon command 0x90. | |||
Used in [[SceRtc]]. | |||
See also [[Ernie#Syscon_Scratch_Pad|Syscon Scratchpad structure]]. | |||
<source lang="C"> | |||
// size: On FW 3.60, must be between 0 and 0x18. On FW 0.931, must be 2, 4 or 8. | |||
// offset: Must be between 0 and 0xFF. | |||
// offset + size must not exceed 0x100 | |||
int sceSysconReadScratchPadForDriver(SceUInt32 offset, void *buffer, SceSize size); | |||
</source> | |||
=== sceSysconWriteScratchPadForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xE26488B9 | |||
|} | |||
Temp name was sceSysconSendCommandForDriver, sceSysconVsWriteDataForDriver. | |||
Calls Syscon command 0x91. | |||
Used in [[SceRtc]] and [[ScePower]]. | |||
See also [[Ernie#Syscon_Scratch_Pad|Syscon Scratchpad structure]]. | |||
<source lang="C"> | |||
// size: On FW 3.60, must be between 0 and 0x18. On FW 0.931, must be 2, 4 or 8. | |||
// offset: Must be between 0 and 0xFF. | |||
// offset + size must not exceed 0x100 | |||
int sceSysconWriteScratchPadForDriver(SceUInt32 offset, void *buffer, SceSize size); | |||
</source> | |||
=== sceSysconNvsSetRunModeForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x81A6060D | |||
|} | |||
Used in [[SceSblSsMgr#sceSblNvsReadDataForKernel|sceSblNvsReadDataForKernel]] and [[SceSblSsMgr#sceSblNvsWriteDataForKernel|sceSblNvsWriteDataForKernel]]. | |||
<source lang="C"> | |||
// mode: 0 before NVS read/write | |||
int sceSysconNvsSetRunModeForDriver(int mode); | |||
</source> | |||
=== sceSysconNvsSetUnkModeForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x2EC6D55D | |||
|} | |||
<source lang="C"> | |||
// mode: unk | |||
int sceSysconNvsSetUnkModeForDriver(int mode); | |||
</source> | |||
=== sceSysconNvsReadDataForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xACAFA2B8 | |||
|} | |||
Used in [[SceSblSsMgr#sceSblNvsReadDataForKernel|sceSblNvsReadDataForKernel]] and [[SceSblSsMgr#sceSblSsGetNvsDataForDriver|sceSblSsGetNvsDataForDriver]]. | |||
<source lang="C">int sceSysconNvsReadDataForDriver(SceUInt32 offset, void *buffer, SceSize size);</source> | |||
=== sceSysconNvsWriteDataForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x10C9657A | |||
|} | |||
Used in [[SceSblSsMgr#sceSblNvsWriteDataForKernel|sceSblNvsWriteDataForKernel]] and [[SceSblSsMgr#sceSblSsSetNvsDataForDriver|sceSblSsSetNvsDataForDriver]]. | |||
<source lang="C">int sceSysconNvsWriteDataForDriver(SceUInt32 offset, void *buffer, SceSize size);</source> | |||
=== sceSysconGetMultiCnInfoForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x1503D6A0 | |||
|} | |||
Returns data obtained by Syscon command 0x103. | |||
Returns 0x4ff00 when nothing is connected. | |||
Returns 0x40080 when pin 12 is pulled to GND while pin 11 pulled to GND. MultiCn host mode enabled | |||
Returns 0x40180 when pin 12 is pulled to GND while pin 11 pulled to GND via 25K resistor. MultiCn host mode disabled | |||
Returns 0x40280 when pin 12 is pulled to GND while pin 11 pulled to GND via 50K resistor. MultiCn host mode disabled | |||
Returns 0x40380 when pin 12 is pulled to GND while pin 11 pulled to GND via 75K resistor. MultiCn host mode disabled. Sets "dock" flag in hpremote | |||
Returns 0x40480 when pin 12 is pulled to GND while pin 11 pulled to GND via 200K resistor. MultiCn host mode enabled | |||
Returns 0x40580 when pin 12 is pulled to GND while pin 11 pulled to GND via 325K resistor. MultiCn host mode disabled | |||
Returns 0x40680 when pin 12 is pulled to GND while pin 11 is floating. MultiCn host mode disabled | |||
Returns 0x40000 on PSTV | |||
Bits 8 and 9 indicate that an audio-out dock is connected. | |||
Bits 8, 9, 11, 12, 13, 14 and 15 indicate that [[UDC]] pins are connected. | |||
Used in [[SceHpremote]], [[SceUsbServ]]. | |||
<source lang="C">int sceSysconGetMultiCnInfoForDriver(SceUInt32 *pInfo);</source> | |||
=== sceSysconSetMultiCnPortForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x8AAB6308 | |||
|} | |||
Used in [[SceSblPostSsMgr]]. | |||
<source lang="C"> | |||
// port: 0: for Jig mode, 1 for UART0 logging mode, 0x10000: for normal mode | |||
int sceSysconSetMultiCnPortForDriver(int port); | |||
</source> | |||
=== sceSysconCtrlLedPwmBlinkForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.996.090-3.740.011 || 0x6F586D1A | |||
|} | |||
Used in [[ScePower]]. | |||
<source lang="C"> | |||
#define DEVICE_UNK 0x40 // maybe PS button or CP power LED or maybe color (blue) | |||
// unk: SceLedConfig.unk_4 | |||
int sceSysconCtrlLedPwmBlinkForDriver(int device, SceUInt32 unk); | |||
</source> | |||
=== sceSysconSetChargeLedCtrlForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010 || not present | |||
|- | |||
| 1.000.071-3.740.011 || 0x9CA6EB70 | |||
|} | |||
This is a guessed name. | |||
On motherboards IRT-001 and older, it does nothing and returns 0, probably because missing hardware that could be a LED, else it sends 2 bytes using Syscon command 0x89E. | |||
Used in [[ScePower#ScePowerForDriver_38415146]]. Related to LED. | |||
<source lang="C">int sceSysconSetChargeLedCtrlForDriver(SceBool state);</source> | |||
=== sceSysconCtrlAccPowerForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931-3.60 || 0x8D1D97E8 | |||
|} | |||
<source lang="C">int sceSysconCtrlAccPowerForDriver(SceBool enable);</source> | |||
=== sceSysconCtrlUsbStatusForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931-3.60 || 0x59DC5938 | |||
|} | |||
Sends 3 bytes to Syscon command 0x89A. | |||
Related to [[SceUdcd]] and [[ScePower]]. | |||
<source lang="C">int sceSysconCtrlUsbStatusForDriver(SceUInt32 value);</source> | |||
=== sceSysconCtrlRMRPowerForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010 || not present | |||
|- | |||
| 0.990.000-3.740.011 || 0x710A7CF0 | |||
|} | |||
Temp name was sceSysconCtrlMsPowerForDriver. | |||
<source lang="c">int sceSysconCtrlRMRPowerForDriver(int enable_power);</source> | |||
=== sceSysconCtrlMultiCnPowerForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.940 || not present | |||
|- | |||
| 0.990.000-3.740.011 || 0xB1F88B11 | |||
|} | |||
<source lang="C">int sceSysconCtrlMultiCnPowerForDriver(SceBool enable);</source> | |||
=== SceSysconForDriver_3274A925 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-1.692.000 || not present | |||
|- | |||
| 1.800.071-3.740.011 || 0x3274A925 | |||
|} | |||
Temp name was sceSysconCtrlDolceUsbPowerForDriver. | |||
This function enables/disables a USB bus related to either PS Vita IRS-1001 Wlan/Bt module USB or PS Vita 3G modem USB. This also affects PS TV USB host and maybe also PS TV ethernet. | |||
Used in [[SceUsbEtherSmsc]], [[SceUsbServ]]. | |||
This function was maybe added to support IRS-1001 motherboard. | |||
<source lang="C">int SceSysconForDriver_3274A925(SceBool enable);</source> | |||
=== sceSysconJigOpenPortForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x44A173F5 | |||
|} | |||
<source lang="C">int sceSysconJigOpenPortForDriver(void);</source> | |||
=== sceSysconJigClosePortForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x483FAE05 | |||
|} | |||
<source lang="C">int sceSysconJigClosePortForDriver(void);</source> | |||
=== sceSysconJigSetConfigForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xD24BF916 | |||
|} | |||
<source lang="C">int sceSysconJigSetConfigForDriver(SceUInt8 a1, SceUInt8 a2);</source> | |||
=== sceSysconOutputClockForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.990.000-3.740.011 || 0x058941D7 | |||
|} | |||
Sends 2 bytes to Syscon using Syscon command 0xB0. | |||
=== sceSysconCtrlHostOutputViaDongleForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010 || not present | |||
|- | |||
| 0.990.000-3.740.011 || 0xDECCB2B4 | |||
|} | |||
Enables / disables Kermit UART0 output (logs) via Dongle (Jig). | |||
Sends 2 bytes to Syscon using Syscon command 0xB2. | |||
<source lang="C">int sceSysconCtrlHostOutputViaDongleForDriver(SceBool enable);</source> | |||
=== SceSysconForDriver_33B5CDB3 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.996.090-3.740.011 || 0x33B5CDB3 | |||
|} | |||
Reads from Syscon using Syscon command 0xB3. | |||
This function was probably added to support IRS-002 motherboard. | |||
=== SceSysconForDriver_F6D4DDC4 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-1.692.000 || not present | |||
|- | |||
| 1.800.071-3.740.011 || 0xF6D4DDC4 | |||
|} | |||
Guessed name is sceSysconGetWlanGpioStateForDriver | |||
Reads from Syscon using Syscon command 0xB4. It is probably the "get" equivalent of [[#SceSysconForDriver_00AE3AEB]]. | |||
This function was added to support IRS-1001 motherboard. | |||
=== SceSysconForDriver_00AE3AEB === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-1.692.000 || not present | |||
|- | |||
| 1.800.071-3.740.011 || 0x00AE3AEB | |||
|} | |||
Guessed name is sceSysconSetWlanGpioStateForDriver | |||
Sends 2 bytes to Syscon using Syscon command 0xB5. It is probably the "set" equivalent of [[#SceSysconForDriver_F6D4DDC4]]. | |||
This function was added to support IRS-1001 motherboard. | |||
=== SceSysconForDriver_0D300158 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 3.100.081-3.740.011 || 0x0D300158 | |||
|} | |||
It is probably a "sceSysconCtrl...ForDriver" function. | |||
Sends 2 bytes to Syscon using Syscon command 0xB6. It is probably the "set" equivalent of [[#SceSysconForDriver_91EF4EC3]]. | |||
This function was added to support DOL-1002 motherboard. | |||
=== SceSysconForDriver_91EF4EC3 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 3.100.081-3.740.011 || 0x91EF4EC3 | |||
|} | |||
Reads from Syscon using Syscon command 0xB7. It is probably the "get" equivalent of [[#SceSysconForDriver_0D300158]]. | |||
This function was added to support DOL-1002 motherboard. | |||
=== receive_pm_sm_jig_msg_from_syscon === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x3C80B529 | |||
|} | |||
Calls Syscon command 0x2083. | |||
<source lang="C">int receive_pm_sm_jig_msg_from_syscon(SceUInt8 offset, SceUInt8 size, void *pMsg);</source> | |||
=== send_pm_sm_jig_short_msg_to_syscon === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 3.600.011-3.740.011 || 0xCE346793 | |||
|} | |||
Calls Syscon command 0x2084. | |||
Sends a message of maximum 0x18 bytes. | |||
<source lang="C">int send_pm_sm_jig_short_msg_to_syscon(SceUInt8 size, void *pMsg);</source> | |||
=== send_pm_sm_jig_msg_to_syscon === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x7BFBA09E | |||
|} | |||
Calls Syscon command 0x2085. | |||
Sends a message by chunks of 0x18 bytes. | |||
<source lang="C">int send_pm_sm_jig_msg_to_syscon(SceUInt8 a1, SceUInt8 offset, SceUInt8 size, void *pMsg);</source> | |||
=== send_pm_sm_stop_to_syscon === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x933D813F | |||
|} | |||
Calls Syscon command 0x2085. | |||
Used just after send_pm_sm_jig_msg_to_syscon or when it fails before. | |||
<source lang="C">int send_pm_sm_stop_to_syscon(SceUInt8 a1, SceUInt8 offset, SceUInt8 size);</source> | |||
=== sceSysconIduModeSetForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.996.090 || not present | |||
|- | |||
| 1.030.071-3.740.011 || 0x956D07CB | |||
|} | |||
<source lang="C">int sceSysconIduModeSetForDriver(void);</source> | |||
=== sceSysconIduModeClearForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.996.090 || not present | |||
|- | |||
| 1.030.071-3.740.011 || 0x34574496 | |||
|} | |||
<source lang="C">int sceSysconIduModeClearForDriver(void);</source> | |||
=== sceSysconShowModeSetForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-1.50 || not present | |||
|- | |||
| 1.600.061-3.740.011 || 0x6D65B70F | |||
|} | |||
<source lang="C">int sceSysconShowModeSetForDriver(void);</source> | |||
=== sceSysconShowModeClearForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-1.50 || not present | |||
|- | |||
| 1.600.061-3.740.011 || 0x8D7724C0 | |||
|} | |||
<source lang="C">int sceSysconShowModeClearForDriver(void);</source> | |||
=== sceSysconSetWlanCallbackForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.996.090 || 0x4DEB8712 | |||
|- | |||
| 1.03-3.740.011 || not present | |||
|} | |||
This is a guessed name. | |||
Registers a Wlan-related callback. | |||
index 5 on FWs 0.931.010-0.940. | |||
=== SceSysconForDriver_18A6F4D9 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.990.000-3.740.011 || 0x18A6F4D9 | |||
|} | |||
A guessed name is sceSysconSet...CallbackForDriver. | |||
Registers a callback. | |||
index 0 on FW 3.600.011. | |||
No use case seen. | |||
Related to [[#SceSysconForDriver_C0F215B7]]. | |||
<source lang="C">int SceSysconForDriver_18A6F4D9(void *cb_0, void *cb_1);</source> | |||
=== SceSysconForDriver_DE613081 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.990.000-3.740.011 || 0xDE613081 | |||
|} | |||
A guessed name is sceSysconSetHeadphoneCallbackForDriver. | |||
Registers an headphone remote related callback. | |||
index 1 on FW 3.600.011. | |||
Used in [[SceHpremote]]. | |||
Related to [[#SceSysconForDriver_C3504ADE]]. | |||
<source lang="C">int SceSysconForDriver_DE613081(void *cb_0, void *cb_1);</source> | |||
=== SceSysconForDriver_229A07C2 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.990.000-3.740.011 || 0x229A07C2 | |||
|} | |||
A guessed name is sceSysconSet...CallbackForDriver. | |||
Registers a callback. | |||
index 2 on FW 3.600.011. | |||
No use case seen. | |||
Related to [[#SceSysconForDriver_B832B72C]]. | |||
<source lang="C">int SceSysconForDriver_229A07C2(void *cb_0, void *cb_1);</source> | |||
=== SceSysconForDriver_8351526D === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.990.000-3.740.011 || 0x8351526D | |||
|} | |||
A guessed name is sceSysconSetAlarmTimerCallbackForDriver. | |||
Registers a callback. | |||
index 3 on FW 3.600.011. | |||
Used in [[SceRtc]]. | |||
Related to [[#SceSysconForDriver_86BAAF7D]]. | |||
<source lang="C">int SceSysconForDriver_8351526D(void *cb_0, void *cb_1);</source> | |||
=== SceSysconForDriver_9F8340FF === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.990.000-3.740.011 || 0x9F8340FF | |||
|} | |||
A guessed name is sceSysconSetResumeRequestCallbackForDriver. | |||
Registers the "is resume requested" callback. | |||
Used in [[ScePower]] to register a callback that sets the [[ScePower]] global variable g_resume_requested to SCE_TRUE. | |||
index 4 on FW 3.600.011. | |||
Related to [[#SceSysconForDriver_A57B5433]]. | |||
<source lang="C">int SceSysconForDriver_9F8340FF(void *cb_0, void *cb_1);</source> | |||
=== SceSysconForDriver_35E1689F === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.990.000-3.740.011 || 0x35E1689F | |||
|} | |||
A guessed name is sceSysconSet...CallbackForDriver. | |||
Registers a callback, maybe dock callback, but not remote callback. | |||
Used in [[SceHpremote]]. | |||
index 5 on FW 3.600.011. | |||
Related to [[#SceSysconForDriver_ACC7F71E]]. | |||
<source lang="C">int SceSysconForDriver_35E1689F(void *cb_0, void *cb_1);</source> | |||
=== SceSysconForDriver_474A9EA7 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x474A9EA7 | |||
|} | |||
A guessed name is sceSysconSet...CallbackForDriver. | |||
Registers a callback. | |||
index 0xC on FWs 0.931.010-0.940. index 6 on FW 3.600.011. | |||
Related to [[#SceSysconForDriver_769F9AC4]]. | |||
No use case seen. | |||
<source lang="C">int SceSysconForDriver_474A9EA7(void *cb_0, void *cb_1);</source> | |||
=== SceSysconForDriver_4E88B4D9 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.990.000-3.740.011 || 0x4E88B4D9 | |||
|} | |||
A guessed name is sceSysconSet...CallbackForDriver. | |||
Registers a callback. | |||
index 8 on FW 3.600.011. | |||
Related to [[#SceSysconForDriver_4BC63A40]]. | |||
Used in [[SceBbmc]] | |||
<source lang="C">int SceSysconForDriver_4E88B4D9(void *cb_0, void *cb_1);</source> | |||
=== SceSysconForDriver_376CCCB8 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.990.000-3.740.011 || 0x376CCCB8 | |||
|} | |||
A guessed name is sceSysconSet...CallbackForDriver. | |||
Registers a callback. | |||
index 9 on FW 3.600.011. | |||
Related to [[#SceSysconForDriver_99A254A9]]. | |||
No use case seen. | |||
<source lang="C">int SceSysconForDriver_376CCCB8(void *cb_0, void *cb_1);</source> | |||
=== SceSysconForDriver_3BAAC8A9 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.995.000 || not present | |||
|- | |||
| 0.996.090-3.740.011 || 0x3BAAC8A9 | |||
|} | |||
A guessed name is sceSysconSet...CallbackForDriver. | |||
Registers a callback. | |||
index 0xA on FW 3.600.011. | |||
Related to [[#SceSysconForDriver_9A4F4B7C]]. | |||
No use case seen. | |||
<source lang="C">int SceSysconForDriver_3BAAC8A9(void *cb_0, void *cb_1);</source> | |||
=== sceSysconSetAccCallbackForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.940 || not present | |||
|- | |||
| 0.995.000-3.740.011 || 0x4A42712F | |||
|} | |||
This is a guessed name. | |||
Registers 2 callbacks (maybe constructor and destructor or callback and args) for accessory port. | |||
index 0xF on FW 3.600.011. | |||
Used in [[SceUsbServ]]. | |||
<source lang="C">int sceSysconSetAccCallbackForDriver(void *cb_0, void *cb_1);</source> | |||
=== sceSysconSetLowBatteryCallbackForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x3F0DB7C0 | |||
|} | |||
Registers the low-battery callback. | |||
index 6 on FWs 0.931-0.940. index 0x10 on FW 3.600.011. | |||
<source lang="C">int sceSysconSetLowBatteryCallbackForDriver(void *cb_0, void *cb_1);</source> | |||
=== SceSysconForDriver_80D6E061 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 1.000.071-3.740.011 || 0x80D6E061 | |||
|} | |||
A guessed name is sceSysconSetBatteryOnlineCallbackForDriver. | |||
Registers a callback. Maybe related to Battery online status. | |||
index 0x11 on FW 3.600.011. | |||
<source lang="C">int SceSysconForDriver_80D6E061(void *cb_0, void *cb_1);</source> | |||
=== SceSysconForDriver_7682FE69 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 1.000.071-3.740.011 || 0x7682FE69 | |||
|} | |||
A guessed name is sceSysconSet...Battery...CallbackForDriver. | |||
Registers a battery-related callback. | |||
No use case seen. | |||
index 0x12 on FW 3.600.011. | |||
Related to [[#SceSysconForDriver_4A184B7C]]. | |||
<source lang="C">int SceSysconForDriver_7682FE69(void *cb_0, void *cb_1);</source> | |||
=== SceSysconForDriver_E0D52DF0 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.990.000-3.740.011 || 0xE0D52DF0 | |||
|} | |||
A guessed name is sceSysconSet...Battery...CallbackForDriver. | |||
Registers a battery-related callback. | |||
No use case seen. | |||
index 0x13 on FW 3.600.011. | |||
Related to [[#SceSysconForDriver_ACEE1C70]]. | |||
<source lang="C">int SceSysconForDriver_E0D52DF0(void *cb_0, void *cb_1);</source> | |||
=== SceSysconForDriver_2D471528 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.940 || not present | |||
|- | |||
| 1.000.071-3.740.011 || 0x2D471528 | |||
|} | |||
A guessed name is sceSysconSet...Battery...CallbackForDriver. | |||
Registers a callback very similar to the low battery callback. | |||
Used in [[ScePower]]. | |||
index 0x14 on FW 3.600.011. | |||
Related to [[#SceSysconForDriver_03C50DC3]]. | |||
<source lang="C">int SceSysconForDriver_2D471528(void *cb_0, void *cb_1);</source> | |||
=== SceSysconForDriver_129EA022 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-2.060.011 || not present | |||
|- | |||
| 2.100.081-3.740.011 || 0x129EA022 | |||
|} | |||
A guessed name is sceSysconSet...CallbackForDriver. | |||
Used in [[ScePower]]. | |||
index 0x15 on FW 3.600.011. | |||
Related to [[#SceSysconForDriver_BFDA5590]]. | |||
<source lang="C">int SceSysconForDriver_129EA022(void *cb_0, void *cb_1);</source> | |||
=== SceSysconForDriver_85E5DEBF === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.996.090 || not present | |||
|- | |||
| 1.000.071-3.740.011 || 0x85E5DEBF | |||
|} | |||
A guessed name is sceSysconSet...CallbackForDriver. | |||
index 0x16 on FW 3.600.011. | |||
Related to [[#SceSysconForDriver_63B14156]]. | |||
Used by [[SceBbmc]] | |||
<source lang="C">int SceSysconForDriver_85E5DEBF(void *cb_0, void *cb_1);</source> | |||
=== sceSysconSetThermalAlertCallbackForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.996.090 || not present | |||
|- | |||
| 1.000.071-3.740.011 || 0x773B8126 | |||
|} | |||
Registers the thermal alert callback. | |||
index 0x17 on FW 3.600.011. | |||
Related to [[#SceSysconForDriver_50CAE242]]. | |||
<source lang="C">int sceSysconSetThermalAlertCallbackForDriver(void *cb_0, void *cb_1);</source> | |||
=== SceSysconForDriver_2E4BA4B8 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.990.000-3.740.011 || 0x2E4BA4B8 | |||
|} | |||
A guessed name is sceSysconSet...CallbackForDriver. | |||
Registers a callback. | |||
index 0x19 on FW 3.600.011. | |||
Related to [[#SceSysconForDriver_29CF4335]]. | |||
No use case seen. Maybe used in internal modules for Jig. | |||
<source lang="C">int SceSysconForDriver_2E4BA4B8(void *cb_0, void *cb_1);</source> | |||
=== SceSysconForDriver_C442D0BE === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-1.692.000 || not present | |||
|- | |||
| 1.800.071-3.740.011 || 0xC442D0BE | |||
|} | |||
A guessed name is sceSysconSet...CallbackForDriver. | |||
Registers a callback. | |||
index 0x1A on FW 3.600.011. | |||
Related to [[#SceSysconForDriver_9F4042F8]]. | |||
No use case seen. | |||
<source lang="C">int SceSysconForDriver_C442D0BE(void *cb_0, void *cb_1);</source> | |||
=== SceSysconForDriver_61AE3970 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.01 || not present | |||
|- | |||
| 3.100.081-3.740.011 || 0x61AE3970 | |||
|} | |||
A guessed name is sceSysconSet...CallbackForDriver. | |||
Registers a callback. | |||
index 0x1B on FW 3.600.011. | |||
Related to [[#SceSysconForDriver_C50568E9]]. | |||
No use case seen. | |||
<source lang="C">int SceSysconForDriver_61AE3970(void *cb_0, void *cb_1);</source> | |||
=== sceSysconSetLowBatteryInhibitUpdateRebootCallbackForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.18 || not present | |||
|- | |||
| 3.300.041-3.740.011 || 0x94678881 | |||
|} | |||
This is a guessed name. | |||
Registers the low-battery-inhibit-update-reboot callback. | |||
index 0x1C on FW 3.600.011. | |||
No use case seen. | |||
<source lang="C">int sceSysconSetLowBatteryInhibitUpdateRebootCallbackForDriver(void *cb_0, void *cb_1);</source> | |||
=== sceSysconSetLowBatteryInhibitUpdateDownloadCallbackForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.18 || not present | |||
|- | |||
| 3.300.041-3.740.011 || 0x7AA00C01 | |||
|} | |||
This is a guessed name. | |||
Registers the low-battery-inhibit-update-download callback. | |||
index 0x1D on FW 3.600.011. | |||
No use case seen. | |||
<source lang="C">int sceSysconSetLowBatteryInhibitUpdateDownloadCallbackForDriver(void *cb_0, void *cb_1);</source> | |||
=== sceSysconSetStandbyButtonCallbackForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.990.000-3.740.011 || 0x423D0C58 | |||
|} | |||
Registers a callback. | |||
index 0x20 on FW 3.600.011. | |||
No use case seen. | |||
<source lang="C">int sceSysconSetStandbyButtonCallbackForDriver(void *cb_0, void *cb_1);</source> | |||
=== SceSysconForDriver_154676F1 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.990.000-3.740.011 || 0x154676F1 | |||
|} | |||
A guessed name is sceSysconSet...CallbackForDriver. | |||
Registers a callback. | |||
index 0x21 on FW 3.600.011. | |||
No use case seen. | |||
<source lang="C">int SceSysconForDriver_154676F1(void *cb_0, void *cb_1);</source> | |||
=== SceSysconForDriver_63352A39 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.990.000-3.740.011 || 0x63352A39 | |||
|} | |||
A guessed name is sceSysconSetMicrophoneCallbackForDriver. | |||
Registers a callback. | |||
index 0x22 on FW 3.600.011. | |||
Used in [[SceHpremote]]. | |||
<source lang="C">int SceSysconForDriver_63352A39(void *cb_0, void *cb_1);</source> | |||
=== SceSysconForDriver_14730196 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.990.000-3.740.011 || 0x14730196 | |||
|} | |||
A guessed name is sceSysconSet...CallbackForDriver. | |||
Registers a callback. | |||
index 0x23 on FW 3.600.011. | |||
No use case seen. | |||
<source lang="C">int SceSysconForDriver_14730196(void *cb_0, void *cb_1);</source> | |||
=== sceSysconSetAlarmCallbackForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x32418370 | |||
|} | |||
Registers the alarm callback. | |||
index 0 on FWs 0.931.010-0.940. index 0x24 on FW 3.600.011. | |||
<source lang="C">int sceSysconSetAlarmCallbackForDriver(void *cb_0, void *cb_1);</source> | |||
=== sceSysconSetMultiCnOtgCallbackForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.940 || not present | |||
|- | |||
| 0.996.090-3.740.011 || 0xA26586B2 | |||
|} | |||
This is a guessed name. | |||
Registers 2 callbacks (maybe constructor and destructor or callback and args) for multi-connector OTG on PS Vita Fat. | |||
index 0x25 on FW 3.600.011. | |||
Used in [[SceUsbServ]]. | |||
<source lang="C">int sceSysconSetMultiCnOtgCallbackForDriver(void *cb_0, void *cb_1);</source> | |||
=== sceSysconSetMiniUsbOtgCallbackForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-2.060.011 || not present | |||
|- | |||
| 2.100.081-3.740.011 || 0x67A4CB9F | |||
|} | |||
This is a guessed name. | |||
Registers 2 callbacks (maybe constructor and destructor or callback and args) for mini-USB OTG on PS Vita Slim. | |||
index 0x26 on FW 3.600.011. | |||
Used in [[SceUsbServ]]. | |||
<source lang="C">int sceSysconSetMiniUsbOtgCallbackForDriver(void *cb_0, void *cb_1);</source> | |||
=== sceSysconUpdaterSetSegmentForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x9B00BC7F | |||
|} | |||
Used in [[SceSblUpdateMgr]]. | |||
<source lang="C"> | |||
// segment_no: a 8bit value | |||
int sceSysconUpdaterSetSegmentForDriver(SceUInt32 segment_no); | |||
</source> | |||
=== sceSysconUpdaterSendProgramDataForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x356B9696 | |||
|} | |||
This is a guessed name. Temp name was sceSysconUpdaterLoadSegmentForDriver. | |||
Buffer overflow if (size > 0x80 - 6). | |||
Used in [[SceSblUpdateMgr]]. | |||
<source lang="C"> | |||
// pSegment: the encrypted Syscon firmware segment to send | |||
// offset | |||
// size: should be between 0 and 0x80 but usual chunks are 0x10 or 0x40, last chunk being less (no padding) | |||
int sceSysconUpdaterSendProgramDataForDriver(void *pSegment, SceUInt32 offset, SceSize size); | |||
</source> | |||
=== sceSysconUpdaterSendProgramData2ForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x734544E4 | |||
|} | |||
This is a guessed name. Temp name was sceSysconUpdaterLoadSegment2ForDriver. | |||
Same functionality as [[#sceSysconUpdaterLoadSegmentForDriver]] except that the segment is copied to an intermediate 0x7A-byte zeroed buffer. This implementation seems bad as the Syscon packet first 6 bytes are written twice. | |||
Buffer overflow if (size > 0x80 - 6). | |||
Used in [[SceSblUpdateMgr]]. | |||
<source lang="C"> | |||
// pSegment: the encrypted Syscon firmware segment to send | |||
// offset | |||
// size: should be between 0 and 0x80 but usual chunks are 0x10 or 0x40, last chunk being less (no padding) | |||
int sceSysconUpdaterSendProgramData2ForDriver(void *pSegment, SceUInt32 offset, SceSize size); | |||
</source> | |||
=== sceSysconUpdaterCalcChecksumForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xD27C3D80 | |||
|} | |||
Computes checksum to use with [[#sceSysconUpdaterExecProgrammingForDriver]]. It does not call any Syscon command. | |||
Used in [[SceSblUpdateMgr]]. | |||
<source lang="C">int sceSysconUpdaterCalcChecksumForDriver(void *data, SceSize size, int *puiChecksum);</source> | |||
=== sceSysconUpdaterExecProgrammingForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x69AD76E4 | |||
|} | |||
Executes programming, i.e writes segments to Syscon Flash memory. | |||
Used in [[SceSblUpdateMgr]]. | |||
<source lang="C"> | |||
// checksum: value got from sceSysconUpdaterCalcChecksumForDriver | |||
int sceSysconUpdaterExecProgrammingForDriver(int checksum); | |||
</source> | |||
=== sceSysconUpdaterSetRunModeForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xB487C2FB | |||
|} | |||
Used in [[SceSblUpdateMgr]]. | |||
<source lang="C">int sceSysconUpdaterSetRunModeForDriver(int mode);</source> | |||
=== sceSysconUpdaterExecFinalizeForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xC7747A63 | |||
|} | |||
Finalize Syscon update by sending checksum from ARM to Syscon. | |||
Calls Syscon command 0x1184. | |||
Used in [[SceSblUpdateMgr]]. | |||
<source lang="C"> | |||
// digest: sha1 of decrypted concatenated segments, comes from Syscon Update package packet type 0x20 | |||
// size: usually 0x14 (sha1 size) | |||
int sceSysconUpdaterExecFinalizeForDriver(void *digest, SceSize size); | |||
</source> | |||
=== sceSysconUpdaterCheckSignatureForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.940 || not present | |||
|- | |||
| 0.996.090-3.740.011 || 0xCBA836FF | |||
|} | |||
Sends a 0x18-byte buffer to Syscon command 0x1185. This Syscon command 0x1185 seems to be unimplemented in recent Syscon firmwares: it does not do anything. It can be explained by the fact that the signature packet is not embedded in Syscon Update SPKGs. | |||
Used in [[SceSblUpdateMgr]]. | |||
<source lang="C"> | |||
// size: must be 0x18 | |||
int sceSysconUpdaterCheckSignatureForDriver(void *pSig, SceSize size); | |||
</source> | |||
=== SceSysconForDriver_4D03754A === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.990 || not present | |||
|- | |||
| 0.996.090-3.740.011 || 0x4D03754A | |||
|} | |||
Temp name was syscon_update_command_0xD00002. | |||
Calls Syscon command 0xD0. | |||
Used in [[SceSblUpdateMgr]] with [[update_service_sm]] function [[Secure_Modules_Functions#0xD0002|0xD0002]]. | |||
<source lang="C"> | |||
// in_buf: buffer that embeds input data, usually 0xD0002 command request + 8 | |||
// in_size: usually 0x28 | |||
// out_buf: buffer to receive result, usually 0xD0002 command request + 0x30 | |||
// out_size: usually 0x28 | |||
int SceSysconForDriver_4D03754A(void *in_buf, SceSize in_size, void *out_buf, SceSize out_size); | |||
</source> | |||
=== SceSysconForDriver_C14BD637 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.990 || not present | |||
|- | |||
| 1.000.041-3.740.011 || 0xC14BD637 | |||
|} | |||
Calls Syscon command 0xD1. | |||
Seems unused. | |||
<source lang="C">int SceSysconForDriver_C14BD637(void);</source> | |||
=== sceSysconSnvsReadDataForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.990 || not present | |||
|- | |||
| 0.996.090-3.740.011 || 0xEBDF88B9 | |||
|} | |||
This is a guessed name. | |||
Calls Syscon command 0xD2. | |||
Used in [[SceSblPostSsMgr]] to read data from SNVS with [[pm_sm]] command 8. Also used in [[SceSblUpdateMgr]] with [[update_service_sm]] commands 0xB0002 and 0xC0002. | |||
<source lang="C"> | |||
// in_size: 0x10 | |||
// out_size: 0x30 | |||
int sceSysconSnvsReadDataForDriver(void *in_buf, SceSize in_size, void *out_buf, SceSize out_size); | |||
</source> | |||
=== sceSysconSnvsWriteDataForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.990 || not present | |||
|- | |||
| 0.996.090-3.740.011 || 0x63683B9B | |||
|} | |||
This is a guessed name. | |||
Calls Syscon command 0xD3. | |||
Used in [[SceSblPostSsMgr]] to write data to SNVS with [[pm_sm]] command 8. Also used in [[SceSblUpdateMgr]] with [[update_service_sm]] functions [[Secure_Modules_Functions#0xB0002 - sceSblUsSmSnvsEncryptDecryptSector|0xB0002]] and [[Secure_Modules_Functions#0xC0002 - sceSblUsSmSnvsEncryptDecryptMgmtData|0xC0002]]. | |||
<source lang="C"> | |||
// in_size: 0x30 | |||
// out_size: 0x10 | |||
int sceSysconSnvsWriteDataForDriver(void *in_buf, SceSize in_size, void *out_buf, SceSize out_size); | |||
</source> | |||
=== sceSysconSetAffirmativeRertyModeForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x901D6CD4 | |||
|} | |||
This is an official name. Typo is the name is intentional. | |||
Sets AffirmativeRertyMode flag in kernel memory. During SceSyscon initialization, AffirmativeRertyMode is enabled by default. | |||
AffirmativeRertyMode flag is used by [[SceSyscon]] kernel module when executing Syscon commands. | |||
Used in [[SceCtrl]], [[ScePower]]. | |||
<source lang="C">int sceSysconSetAffirmativeRertyModeForDriver(int enable);</source> | |||
=== sceSysconGetControlsInfoForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x145F59A4 | |||
|} | |||
This is a guessed name. | |||
See [[KBL Param#Boot Controls Info|Boot Controls Info]]. | |||
Calls Syscon command 0x100. | |||
<source lang="C">int sceSysconGetControlsInfoForDriver(SceUInt32 *pCtrl);</source> | |||
=== SceSysconForDriver_76272CB9 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-1.692.000 || not present | |||
|- | |||
| 1.800.071-3.740.011 || 0x76272CB9 | |||
|} | |||
Calls Syscon command 0x120. Gets a 4-byte value. | |||
<source lang="C">int SceSysconForDriver_76272CB9(SceUInt32 *pRes);</source> | |||
=== sceSysconGetClockForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xD7BEFF8B | |||
|} | |||
Gets Syscon power-on time in ticks of 0.5 second. Each second the counter automatically increases by 2. | |||
Calls Syscon command 0x11. | |||
Used in [[SceRtc]] to calculate the current time and date. | |||
<source lang="C">int sceSysconGetClockForDriver(SceUInt32 *puiTime);</source> | |||
=== SceSysconForDriver_3168F3AF === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x3168F3AF | |||
|} | |||
Calls Syscon command 0x12. | |||
Gets the tick of an alarm timer. The alarm tick must be set using Syscon command 0x82 via [[#SceSysconForDriver_51164951]]. | |||
<source lang="C"> | |||
// FW 0.931.010 | |||
int SceSysconForDriver_3168F3AF(SceUInt32 *pTick); | |||
// FW 3.600.011-3.740.011 | |||
int SceSysconForDriver_3168F3AF(SceUInt32 *pTickLow, SceUInt8 *pTickHi); | |||
</source> | |||
=== SceSysconForDriver_BA09F171 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.940 || not present | |||
|- | |||
| 0.990.000-3.740.011 || 0xBA09F171 | |||
|} | |||
Calls Syscon command 0x13. | |||
It might be related to alarm/timer. Sends 0 byte to Syscon. Gets 2 bytes from Syscon. | |||
<source lang="C">int SceSysconForDriver_BA09F171(SceUInt8 *pResult, SceUInt8 *pResult2);</source> | |||
=== SceSysconForDriver_93075DD1 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x93075DD1 | |||
|} | |||
Calls Syscon command 0x14. Sends 0 byte to Syscon. Gets ?1-4? bytes from Syscon. | |||
<source lang="C">int SceSysconForDriver_93075DD1(SceUInt32 *pResult);</source> | |||
=== sceSysconGetPowerStatusForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x175CE5A1 | |||
|} | |||
Calls Syscon command 0x883. Gets 8 bytes from Syscon. Reads Elmo registers 0xA0 through 0xA3. | |||
<source lang="C"> | |||
// pStatus: pointer to a buffer of at least 8 bytes | |||
int sceSysconGetPowerStatusForDriver(void *pStatus); | |||
</source> | |||
=== sceSysconCtrlDeviceResetForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x40FF3898 | |||
|} | |||
Sends 2 bytes to Syscon command 0x88F. | |||
<source lang="C"> | |||
// The following defines are guessed names | |||
#define SCE_SYSCON_CTRL_DEVICE_RESET_UNK_1 1 | |||
#define SCE_SYSCON_CTRL_DEVICE_RESET_MOTION 2 | |||
#define SCE_SYSCON_CTRL_DEVICE_RESET_TP_FRONT 4 | |||
#define SCE_SYSCON_CTRL_DEVICE_RESET_TP_REAR 8 | |||
#define SCE_SYSCON_CTRL_DEVICE_RESET_WLANBT 0x10 | |||
#define SCE_SYSCON_CTRL_DEVICE_RESET_SMSC_ETH 0x20 | |||
// mode: 0 or 1, probably for the reset type such as reset or shutdown | |||
int sceSysconCtrlDeviceResetForDriver(SceUInt8 device, SceBool mode); | |||
</source> | |||
=== SceSysconForDriver_285594F8 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x285594F8 | |||
|} | |||
Calls Syscon command 0x890. | |||
<source lang="C">int SceSysconForDriver_285594F8(SceUInt16 value);</source> | |||
=== sceSysconCtrlLEDForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x04EC7579 | |||
|} | |||
<source lang="C"> | |||
#define STATE_ON 1 | |||
#define STATE_OFF 0 | |||
#define DEVICE_UNK 0x40 // maybe PS button or CP power LED or maybe color (blue) | |||
int sceSysconCtrlLEDForDriver(SceUInt16 device, SceBool state); | |||
</source> | |||
=== sceSysconCtrlChargeACForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x596B17B7 | |||
|} | |||
Sends 2 bytes to Syscon command 0x892. Related to Battery. Maybe enables/disables battery charging. | |||
Used in [[ScePower]]'s module_start. | |||
<source lang="C">int sceSysconCtrlChargeACForDriver(SceBool enable);</source> | |||
=== sceSysconCtrlChargeVBUSForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x2A4B0437 | |||
|} | |||
Sends 3 bytes to Syscon command 0x893. Related to Battery. Maybe enables/disables battery charging. | |||
Used in [[ScePower]]'s module_start. | |||
<source lang="C"> | |||
// a1: ex: 0, 1 | |||
// a2: ex: 0, 1 | |||
// FW 0.931.010 | |||
int sceSysconCtrlChargeVBUSForDriver(SceUInt32 a1); | |||
// FW 3.600.011-3.740.011 | |||
int sceSysconCtrlChargeVBUSForDriver(SceUInt32 a1, SceUInt32 a2); | |||
</source> | |||
=== SceSysconForDriver_5CDDA14D === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x5CDDA14D | |||
|} | |||
A guessed name is sceSysconCtrlHpremoteForDriver. | |||
If Syscon version < 0x80001, it does nothing and returns 0, else it sends 2 bytes to Syscon command 0x899. | |||
Maybe enables/disables Jack power. | |||
Used in [[SceHpremote]]. | |||
<source lang="C">int SceSysconForDriver_5CDDA14D(SceBool enable);</source> | |||
=== SceSysconForDriver_A2FE9BF9 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xA2FE9BF9 | |||
|} | |||
Calls Syscon command 0x800. | |||
Gets information related to battery charge status, or USB power connection. See also [[Ernie#CMD_0x0800_-_SceSysconForDriver_A2FE9BF9]]. | |||
Used in [[ScePower]]'s module_start. | |||
<source lang="C">int SceSysconForDriver_A2FE9BF9(void *pResult);</source> | |||
=== sceSysconCtrlLedBlinkType2ForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xCB41B531 | |||
|} | |||
This is a guessed name. | |||
Calls Syscon command 0x89F. | |||
=== sceSysconGetBatteryTempForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x9070F139 | |||
|} | |||
If Syscon version <= 0x70503, it calls Syscon command 0x8A0, else Syscon command 0x981. | |||
Used in [[ScePower]]'s module_start. | |||
<source lang="C">int sceSysconGetBatteryTempForDriver(int *pResult);</source> | |||
=== sceSysconGetBatteryRemainCapForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xC562AF3A | |||
|} | |||
Temp name was sceSysconGetBatteryRemainCapacityForDriver. | |||
If Syscon version <= 0x70503, it calls Syscon command 0x802, else Syscon command 0x900. | |||
Only used in [[ScePower]]. | |||
<source lang="C">int sceSysconGetBatteryRemainCapForDriver(SceUInt32 *pResult);</source> | |||
=== sceSysconGetBatteryVoltForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x03F11220 | |||
|} | |||
If Syscon version <= 0x70503, it calls Syscon command 0x803, else Syscon command 0x901. | |||
Used in [[ScePower]]. | |||
<source lang="C">int sceSysconGetBatteryVoltForDriver(SceUInt32 *pResult);</source> | |||
=== sceSysconGetBatteryLifePercentForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-1.06 || not present | |||
|- | |||
| 1.500.151-3.740.011 || 0xAD0A8275 | |||
|} | |||
Used in [[ScePower]]. | |||
<source lang="C">int sceSysconGetBatteryLifePercentForDriver(SceUInt32 *pResult);</source> | |||
=== sceSysconGetBatteryFullCapForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x00A65FC1 | |||
|} | |||
If Syscon version <= 0x70503, it calls Syscon command 0x8A1, else Syscon command 0x982. | |||
Used in [[ScePower]]. | |||
<source lang="C">int sceSysconGetBatteryFullCapForDriver(int *pResult);</source> | |||
=== sceSysconGetBatteryElecForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x0826BA07 | |||
|} | |||
If Syscon version <= 0x70503, it calls Syscon command 0x8A2, else Syscon command 0x983. | |||
Used in [[ScePower]]. | |||
<source lang="C">int sceSysconGetBatteryElecForDriver(SceUInt16 *pResult);</source> | |||
=== sceSysconGetBatteryTTEForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xB841C141 | |||
|} | |||
Temp name was sceSysconGetBatteryLifeTimeForDriver. | |||
If Syscon version <= 0x70503, it calls Syscon command 0x8A3, else Syscon command 0x984. | |||
Used in [[ScePower]]. | |||
<source lang="C">int sceSysconGetBatteryTTEForDriver(SceUInt16 *pTTE);</source> | |||
=== sceSysconGetBatterySOHForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x91D3B7A3 | |||
|} | |||
If Syscon version <= 0x70503, it calls Syscon command 0x8A4, else Syscon command 0x985. | |||
Used in [[ScePower]]. | |||
<source lang="C">int sceSysconGetBatterySOHForDriver(void *pSOH);</source> | |||
=== sceSysconReadBatteryRegForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xC2FB5565 | |||
|} | |||
If Syscon version <= 0x70503, it calls Syscon command 0x8A8, else Syscon command 0x986. | |||
<source lang="C">int sceSysconReadBatteryRegForDriver(SceUInt16 offset, SceUInt16 *pRes);</source> | |||
=== sceSysconWriteBatteryRegForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x9B779DB0 | |||
|} | |||
If Syscon version <= 0x70503, it calls Syscon command 0x8A9, else Syscon command 0x987. | |||
<source lang="C">int sceSysconWriteBatteryRegForDriver(SceUInt16 offset, SceUInt16 value);</source> | |||
=== SceSysconForDriver_A5AB19B1 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xA5AB19B1 | |||
|} | |||
Guessed name is sceSysconBatteryControlCommandForDriver | |||
Writes 2 byte command to Abby control register and returns 2 byte result. Use carefully as there are commands to seal dataflash! | |||
If Syscon version <= 0x70503, it calls Syscon command 0x8AA, else Syscon command 0x988. | |||
Command must be between 0 and 0xFFFF else returns error 0x80250001. | |||
<source lang="C">int SceSysconForDriver_A5AB19B1(SceUInt16 command, SceUInt16 *pResult);</source> | |||
=== SceSysconForDriver_CFCEE733 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xCFCEE733 | |||
|} | |||
Sends 2 bytes from Syscon command 0x181. | |||
<source lang="C">int SceSysconForDriver_CFCEE733(SceUInt32 unk);</source> | |||
=== SceSysconForDriver_FDB3AE9D === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xFDB3AE9D | |||
|} | |||
Gets 0x10 bytes from Syscon command 0x183. | |||
<source lang="C">int SceSysconForDriver_FDB3AE9D(int *pResult);</source> | |||
=== SceSysconForDriver_C3504ADE === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xC3504ADE | |||
|} | |||
A guessed name is sceSysconIs...ForDriver. | |||
Returns the global variable related to [[#SceSysconForDriver_DE613081]]. | |||
Used in [[SceHpremote]]. | |||
<source lang="C">SceBool SceSysconForDriver_C3504ADE(void);</source> | |||
=== SceSysconForDriver_B832B72C === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xB832B72C | |||
|} | |||
A guessed name is sceSysconIs...ForDriver. | |||
Returns the global variable related to [[#SceSysconForDriver_229A07C2]]. | |||
<source lang="C">SceBool SceSysconForDriver_B832B72C(void);</source> | |||
=== SceSysconForDriver_86BAAF7D === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x86BAAF7D | |||
|} | |||
A guessed name is sceSysconIsAlarmTimerExistForDriver. | |||
Returns the global variable related to [[#SceSysconForDriver_8351526D]]. | |||
Used in [[SceRtc]]. | |||
<source lang="C">SceBool SceSysconForDriver_86BAAF7D(void);</source> | |||
=== SceSysconForDriver_A57B5433 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xA57B5433 | |||
|} | |||
A guessed name is sceSysconIsResumeRequestedForDriver. | |||
Related to [[#SceSysconForDriver_9F8340FF]]. | |||
<source lang="C">SceBool SceSysconForDriver_A57B5433(void);</source> | |||
=== SceSysconForDriver_ACC7F71E === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xACC7F71E | |||
|} | |||
A guessed name is sceSysconIs...ForDriver. | |||
Returns the global variable related to [[#SceSysconForDriver_35E1689F]]. | |||
Used in [[SceHpremote]]. | |||
<source lang="C">SceBool SceSysconForDriver_ACC7F71E(void);</source> | |||
=== SceSysconForDriver_769F9AC4 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x769F9AC4 | |||
|} | |||
A guessed name is sceSysconIs...ForDriver. | |||
Returns the global variable related to [[#SceSysconForDriver_474A9EA7]]. | |||
Returns always SCE_TRUE on PS TV. This function could be related to USB or ethernet availability. | |||
No use case seen. | |||
<source lang="C">SceBool SceSysconForDriver_769F9AC4(void);</source> | |||
=== SceSysconForDriver_4BC63A40 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x4BC63A40 | |||
|} | |||
A guessed name is sceSysconIs...ForDriver. | |||
Returns the global variable related to [[#SceSysconForDriver_4E88B4D9]]. | |||
Used in [[SceSblPostSsMgr]]. | |||
<source lang="C">SceBool SceSysconForDriver_4BC63A40(void);</source> | |||
=== SceSysconForDriver_99A254A9 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x99A254A9 | |||
|} | |||
A guessed name is sceSysconIs...ForDriver. | |||
Returns the global variable related to [[#SceSysconForDriver_376CCCB8]]. | |||
No use case seen. | |||
<source lang="C">SceBool SceSysconForDriver_99A254A9(void);</source> | |||
=== SceSysconForDriver_9A4F4B7C === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.940 || not present | |||
|- | |||
| 0.996.090-3.740.011 || 0x9A4F4B7C | |||
|} | |||
A guessed name is sceSysconIs...ForDriver. | |||
Returns the global variable related to [[#SceSysconForDriver_3BAAC8A9]]. | |||
No use case seen. | |||
<source lang="C">SceBool SceSysconForDriver_9A4F4B7C(void);</source> | |||
=== SceSysconForDriver_92D2C6A4 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-2.060.011 || not present | |||
|- | |||
| 2.100.081-3.740.011 || 0x92D2C6A4 | |||
|} | |||
<source lang="C">int SceSysconForDriver_92D2C6A4(void);</source> | |||
=== SceSysconForDriver_B9EA2FA8 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.940 || not present | |||
|- | |||
| 0.995.000-3.740.011 || 0xB9EA2FA8 | |||
|} | |||
A guessed name is sceSysconIsAccExistForDriver. | |||
Only used in [[SceUsbServ]]. | |||
<source lang="C">SceBool SceSysconForDriver_B9EA2FA8(void);</source> | |||
=== SceSysconForDriver_29CF4335 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x29CF4335 | |||
|} | |||
A guessed name is sceSysconIs...ForDriver. | |||
Returns the global variable related to [[#SceSysconForDriver_2E4BA4B8]]. | |||
It is related to Ernie DL Mode. | |||
Used in [[SceSblPostSsMgr]]. | |||
<source lang="C">SceBool SceSysconForDriver_29CF4335(void);</source> | |||
=== SceSysconForDriver_32B2DB3D === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x32B2DB3D | |||
|} | |||
<source lang="c">int SceSysconForDriver_32B2DB3D(void);</source> | |||
=== sceSysconIsHeadphoneExistForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x142D5E82 | |||
|} | |||
Used in [[SceHpremote#sceHprmIsHeadphoneExistForDriver]]. | |||
<source lang="c">SceBool sceSysconIsHeadphoneExistForDriver(void);</source> | |||
=== sceSysconIsMotionDevExistForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x490C5548 | |||
|} | |||
This is a guessed name. | |||
Used in [[SceMotionDev]]. | |||
<source lang="c">SceBool sceSysconIsMotionDevExistForDriver(void);</source> | |||
=== SceSysconForDriver_012B57B3 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010 || not present | |||
|- | |||
| 0.940-3.740.011 || 0x012B57B3 | |||
|} | |||
<source lang="c">int SceSysconForDriver_012B57B3(void);</source> | |||
=== SceSysconForDriver_27758A64 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.940 || not present | |||
|- | |||
| 1.000.071-3.740.011 || 0x27758A64 | |||
|} | |||
A guessed name is sceSysconIsBatteryOnlineForDriver, deriving from [[#sceSysconIsPowerOnlineForDriver]]. | |||
Used in [[ScePower#scePowerGetBatteryRemainLevelForDriver]], [[ScePower#scePowerIsLowBatteryForDriver]], [[ScePower]]'s module_start. | |||
Returns the global variable related to [[#SceSysconForDriver_80D6E061]]. | |||
<source lang="C">SceBool SceSysconForDriver_27758A64(void);</source> | |||
=== SceSysconForDriver_4A184B7C === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.940 || not present | |||
|- | |||
| 1.000.071-3.740.011 || 0x4A184B7C | |||
|} | |||
A guessed name is sceSysconIs...ForDriver. | |||
Returns some information about battery. | |||
Used in [[ScePower#ScePowerForDriver_627A89C6]]. | |||
Returns the global variable related to [[#SceSysconForDriver_7682FE69]]. | |||
<source lang="C">SceBool SceSysconForDriver_4A184B7C(void);</source> | |||
=== SceSysconForDriver_ACEE1C70 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.940 || not present | |||
|- | |||
| 0.996.090-3.740.011 || 0xACEE1C70 | |||
|} | |||
A guessed name is sceSysconIs...ForDriver. | |||
Returns information about battery. Only used when battery is working. | |||
Used in [[ScePower#ScePowerForDriver_0D56C601]]. | |||
Returns the global variable related to [[#SceSysconForDriver_E0D52DF0]]. | |||
<source lang="C">SceBool SceSysconForDriver_ACEE1C70(void);</source> | |||
=== SceSysconForDriver_03C50DC3 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.940 || not present | |||
|- | |||
| 1.000.071-3.740.011 || 0x03C50DC3 | |||
|} | |||
A guessed name is sceSysconIs...ForDriver. | |||
Returns the global variable related to [[#SceSysconForDriver_2D471528]]. | |||
<source lang="C">SceBool SceSysconForDriver_03C50DC3(void);</source> | |||
=== SceSysconForDriver_BFDA5590 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-2.060.011 || not present | |||
|- | |||
| 2.100.081-3.740.011 || 0xBFDA5590 | |||
|} | |||
A guessed name is sceSysconIs...ForDriver. | |||
Returns the global variable related to [[#SceSysconForDriver_129EA022]]. | |||
<source lang="C">SceBool SceSysconForDriver_BFDA5590(void);</source> | |||
=== SceSysconForDriver_63B14156 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.996.090 || not present | |||
|- | |||
| 1.000.071-3.740.011 || 0x63B14156 | |||
|} | |||
A guessed name is sceSysconIs...ForDriver. | |||
Returns the global variable related to [[#SceSysconForDriver_85E5DEBF]]. | |||
<source lang="C">SceBool SceSysconForDriver_63B14156(void);</source> | |||
=== SceSysconForDriver_50CAE242 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.940 || not present | |||
|- | |||
| 1.000.071-3.740.011 || 0x50CAE242 | |||
|} | |||
A guessed name is sceSysconIsThermalAlertForDriver. | |||
Returns the global variable related to [[#sceSysconSetThermalAlertCallbackForDriver]]. | |||
Used in [[ScePower]]. | |||
<source lang="C">SceBool SceSysconForDriver_50CAE242(void);</source> | |||
=== SceSysconForDriver_9F4042F8 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-1.692.000 || not present | |||
|- | |||
| 1.800.071-3.740.011 || 0x9F4042F8 | |||
|} | |||
A guessed name is sceSysconIs...ForDriver. | |||
Returns the global variable related to [[#SceSysconForDriver_C442D0BE]]. | |||
No use case seen. | |||
<source lang="C">SceBool SceSysconForDriver_9F4042F8(void);</source> | |||
=== SceSysconForDriver_C50568E9 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.01 || not present | |||
|- | |||
| 3.100.081-3.740.011 || 0xC50568E9 | |||
|} | |||
A guessed name is sceSysconIs...ForDriver. | |||
Returns the global variable related to [[#SceSysconForDriver_61AE3970]]. | |||
This function was added to support DOL-1002 motherboard. | |||
No use case seen. | |||
<source lang="C">SceBool SceSysconForDriver_C50568E9(void);</source> | |||
=== sceSysconIsLowBatteryForDriver === | |||
{| class="wikitable" | {| class="wikitable" | ||
! Version !! NID | |||
|- | |- | ||
! | | 0.931.010-3.740.011 || 0xD7F5A797 | ||
|} | |||
This is a guessed name. | |||
Only used in [[ScePower]]. | |||
<source lang="C">SceBool sceSysconIsLowBatteryForDriver(void);</source> | |||
=== sceSysconIsLowBatteryInhibitUpdateRebootForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |- | ||
| 0 || | | 0.931.010-3.18 || not present | ||
|- | |- | ||
| | | 3.300.041-3.740.011 || 0x1A0C140F | ||
|} | |||
This function was added along with [[ScePower#scePowerIsLowBatteryInhibitUpdateReboot]]. | |||
Used in [[ScePower#scePowerIsLowBatteryInhibitUpdateReboot]]. | |||
<source lang="c">SceBool sceSysconIsLowBatteryInhibitUpdateRebootForDriver(void);</source> | |||
=== sceSysconIsLowBatteryInhibitUpdateDownloadForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |- | ||
| | | 0.931.010-3.18 || not present | ||
|- | |- | ||
| 3.300.041-3.740.011 || 0x1E3130EE | |||
|} | |} | ||
This function was added along with [[ScePower#scePowerIsLowBatteryInhibitUpdateDownload]]. | |||
Used in [[ScePower#scePowerIsLowBatteryInhibitUpdateDownload]]. | |||
<source lang="c">SceBool sceSysconIsLowBatteryInhibitUpdateDownloadForDriver(void);</source> | |||
=== sceSysconGetBatteryRemainLevelForDriver === | |||
{| class="wikitable" | {| class="wikitable" | ||
! Version !! NID | |||
|- | |||
| 0.931.010-3.18 || not present | |||
|- | |- | ||
! | | 3.300.041-3.740.011 || 0x26F9D729 | ||
! NID | |} | ||
Only used if Syscon version >= 0x1040105. | |||
This function was added along with [[ScePower#scePowerGetBatteryRemainLevelForDriver]]. | |||
Used in [[ScePower#scePowerGetBatteryRemainLevelForDriver]]. | |||
<source lang="C">int sceSysconGetBatteryRemainLevelForDriver(SceUInt8 *pResult1, SceUInt8 *pResult2);</source> | |||
=== SceSysconForDriver_C0F215B7 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.990.000 || not present | |||
|- | |||
| 0.996.090-3.740.011 || 0xC0F215B7 | |||
|} | |||
A guessed name is sceSysconIs...ForDriver. | |||
Returns the global variable related to [[#SceSysconForDriver_18A6F4D9]]. | |||
The global variable is updated by [[#sceSysconCmdSyncForDriver]]. | |||
It looks like it checks for WlanBt presence (used in [[SceWlanBt]], skipping sdio/etc initialization if SceSysconForDriver_C0F215B7 returns 0). | |||
<source lang="C">SceBool SceSysconForDriver_C0F215B7(void);</source> | |||
=== SceSysconForDriver_D6F6D472 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-2.060.011 || not present | |||
|- | |||
| 2.100.081-3.740.011 || 0xD6F6D472 | |||
|} | |||
Guessed name is sceSysconGetMicroUsbInfoForDriver. | |||
Gets electric information (maybe intensity) of the device connected to USB OTG on PS Vita Slim. | |||
Returns a global variable updated by [[#sceSysconCmdSyncForDriver]], obtained using Syscon command 0x130. | |||
<source lang="C">int SceSysconForDriver_D6F6D472(int *pInfo);</source> | |||
=== SceSysconForDriver_F99BC858 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.01 || not present | |||
|- | |||
| 3.100.081-3.740.011 || 0xF99BC858 | |||
|} | |||
Detects microSD swap. | |||
Calls syscon command 0x131. | |||
This function was maybe added to support a prototype motherboard that has a microSD port. | |||
<source lang="C">int SceSysconForDriver_F99BC858(SceBool *isSwapped);</source> | |||
=== SceSysconForDriver_E7893732 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-2.060.011 || not present | |||
|- | |||
| 2.100.081-3.740.011 || 0xE7893732 | |||
|} | |||
Guessed name is sceSysconSetMicroUsbPortForDriver. | |||
Calls Syscon command 0x1B0. Related to UART or Jig on PS Vita Slim or PS TV. | |||
<source lang="C"> | |||
// value holds 3 useful bytes and 1 byte not sent to syscon | |||
int SceSysconForDriver_E7893732(int value); | |||
</source> | |||
=== sceSysconGetElmoVersionForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xA039B563 | |||
|} | |||
Temp name was sceSysconGetElmoFwVersionForDriver. | |||
Calls Syscon command 0x880. Read Elmo registers 0xD0 through 0xEF. | |||
On PS Vita 1000 series with IRS-001 motherboard, Elmo Fw Version is 0x192. | |||
<source lang="C">int sceSysconGetElmoVersionForDriver(SceUInt32 *pVersion);</source> | |||
=== sceSysconGetCookieVersionForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x9BF78047 | |||
|} | |||
Temp name was sceSysconGetCookieFwVersionForDriver. | |||
Calls Syscon command 0x881. | |||
<source lang="C">int sceSysconGetCookieVersionForDriver(SceUInt32 *pVersion);</source> | |||
=== sceSysconReadElmoRegForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x5BF765BB | |||
|} | |||
Calls Syscon command 0x895. | |||
=== sceSysconWriteElmoRegForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xCCC71C28 | |||
|} | |||
Calls Syscon command 0x896. | |||
=== sceSysconReadCookieRegForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0x95975DD1 | |||
|} | |||
Calls Syscon command 0x897. | |||
=== sceSysconWriteCookieRegForDriver === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.931.010-3.740.011 || 0xF39300D3 | |||
|} | |||
Calls Syscon command 0x898. | |||
Returns error 0x80250001 if offset is greater than 0xFF. | |||
<source lang="C"> | |||
// offset: 0-0xFF | |||
int sceSysconWriteCookieRegForDriver(SceUInt32 offset, SceUInt16 data); | |||
</source> | |||
== Commands == | |||
It seems like the command format is as follows: <code>(direction << 8) | cmd_id</code>, where <code>direction = 1</code> means write to syscon, and <code>direction = 0</code> means read from syscon. | |||
{| class="wikitable" | |||
! Command | |||
! Return size (without considering the 2 bytes rx.size and rx.error_code) | |||
! Functions NIDs | |||
! Description | ! Description | ||
|- | |||
| 0x0 | |||
| 0x0 | |||
| 0x0D0B6D25 | |||
| sceSysconNopForDriver | |||
|- | |||
| 0x1 | |||
| 0x4 | |||
| module_start | |||
| sceSysconGetErnieVersionForDriver. Used during SysconInit. | |||
|- | |||
| 0x2 | |||
| 0xC | |||
| module_start | |||
| sceSysconGetTimeStampForDriver. Returns 12-byte string followed by at least 2-byte memory leak. Used during SysconInit. | |||
|- | |||
| 0x3 | |||
| 0x4 | |||
| module_start | |||
| sceSysconGetSleepFactor. Used during SysconInit. | |||
|- | |||
| 0x4 | |||
| 0x4 | |||
| | |||
| Unknown. Run during boot. See [[Ernie#CMD_0x0004]]. | |||
|- | |||
| 0x5 | |||
| 0x4 | |||
| 0xCBD6D8BC, module_start | |||
| sceSysconGetHardwareInfoForDriver | |||
|- | |||
| 0x6 | |||
| 0x10 | |||
| 0x965C68C3, module_start | |||
| sceSysconGetHardwareInfo2ForDriver. Get Hardware Info 2. See [[KBL_Param#Hardware_Info_2]]. | |||
|- | |||
| 0x10 | |||
| 0x2 | |||
| 0xCF5B2F2F | |||
| sceSysconGetWakeupFactorForDriver | |||
|- | |||
| 0x11 | |||
| 0x4 | |||
| 0xD7BEFF8B | |||
| sceSysconGetClockForDriver | |||
|- | |||
| 0x12 | |||
| 0x5 or 0x6 | |||
| 0x3168F3AF | |||
| SceSysconForDriver_3168F3AF. Gets information about alarm timer. Return value is 1 byte indicating data size then 4 or 5 bytes of data. | |||
|- | |||
| 0x13 | |||
| 0x2 | |||
| 0xBA09F171 | |||
| SceSysconForDriver_BA09F171 | |||
|- | |||
| 0x14 | |||
| ?between 0x1 and 0x4? | |||
| 0x93075DD1 | |||
| SceSysconForDriver_93075DD1 | |||
|- | |||
| 0x15 | |||
| 0x4 | |||
| 0x3E09A1F4 | |||
| sceSysconGetManufacturesStatusForDriver | |||
|- | |||
| 0x80 | |||
| 0x0 | |||
| module_start | |||
| ?? Used during SysconInit. Sends 2 bytes (ex: 0x0012) to Syscon. | |||
|- | |||
| 0x81 | |||
| ? | |||
| 0x9B6A6F64 | |||
| sceSysconSetClockForDriver. Sends 5 bytes to Syscon: 1 byte for size=5 and 4 bytes of data. | |||
|- | |||
| 0x82 | |||
| ? | |||
| 0x51164951 | |||
| SceSysconForDriver_51164951 | |||
|- | |||
| 0x83 | |||
| ? | |||
| 0x373ECF8A | |||
| SceSysconForDriver_373ECF8A. Sends 3 bytes to Syscon. | |||
|- | |||
| 0x84 | |||
| ? | |||
| 0x2659535C | |||
| SceSysconForDriver_2659535C. Sends 1 byte to Syscon. | |||
|- | |||
| 0x85 | |||
| ? | |||
| 0x4295D497 | |||
| SceSysconForDriver_4295D497 | |||
|- | |||
| 0x86 | |||
| 8 | |||
| 0x701535FC | |||
| sceSysconGetLogInfoForDriver | |||
|- | |||
| 0x87 | |||
| 0 | |||
| 0x4E55CF5E | |||
| sceSysconLogStartForDriver. Sends 1 byte to Syscon: 0. | |||
|- | |||
| 0x88 | |||
| 0x18 | |||
| 0x487D97F3 | |||
| sceSysconLogReadDataForDriver. Sends 2 bytes to Syscon: offset. | |||
|- | |||
| 0x89 | |||
| 0 | |||
| 0x9C0B1E61 | |||
| sceSysconLogStartWaitingForDriver. Sends 1 byte to Syscon: 0. | |||
|- | |||
| 0x90 | |||
| ?0x3B? | |||
| 0x299B1CE7 | |||
| sceSysconReadScratchPadForDriver | |||
|- | |||
| 0x91 | |||
| ?0x3B? | |||
| 0xE26488B9 | |||
| sceSysconWriteScratchPadForDriver | |||
|- | |||
| 0xA0 | |||
| ?0x10 or 0x28? | |||
| second_loader | |||
| Handshake during boot. See [[Ernie_Secure#Ernie_Secure_Commands]]. | |||
|- | |||
| 0xB0 | |||
| 0 | |||
| 0x058941D7 | |||
| sceSysconOutputClockForDriver. Sends 2 bytes to Syscon. | |||
|- | |||
| 0xB1 | |||
| 0 | |||
| 0xDF8C6D2D | |||
| sceSysconCtrlWirelessPowerDownForDriver | |||
|- | |||
| 0xB2 | |||
| 0 | |||
| 0xDECCB2B4 | |||
| sceSysconCtrlHostOutputViaDongleForDriver. Sends 2 bytes to Syscon. | |||
|- | |||
| 0xB3 | |||
| at least 1 | |||
| 0x33B5CDB3 | |||
| SceSysconForDriver_33B5CDB3 | |||
|- | |||
| 0xB4 | |||
| at least 1 | |||
| 0xF6D4DDC4 | |||
| SceSysconForDriver_F6D4DDC4 | |||
|- | |||
| 0xB5 | |||
| 0 | |||
| 0x00AE3AEB | |||
| SceSysconForDriver_00AE3AEB. Probably a control command. Sends 2 bytes to Syscon. | |||
|- | |||
| 0xB6 | |||
| 0 | |||
| 0x0D300158 | |||
| SceSysconForDriver_0D300158. Probably a control command. Sends 2 bytes to Syscon. | |||
|- | |||
| 0xB7 | |||
| at least 1 | |||
| 0x91EF4EC3 | |||
| SceSysconForDriver_91EF4EC3 | |||
|- | |||
| 0xC0 | |||
| ?0x3E? | |||
| | |||
| | |||
|- | |||
| 0xC1 | |||
| 0 | |||
| 0x94AB13CC | |||
| sceSysconErnieShutdownForDriver. Sends 2 bytes to Syscon. | |||
|- | |||
| 0xD0 | |||
| ?0x2A or 0x28? | |||
| 0x4D03754A | |||
| SceSysconForDriver_4D03754A. Handshake before SNVS RW. See [[Ernie_Secure#Ernie_Secure_Commands]]. | |||
|- | |||
| 0xD1 | |||
| ?0x0 or 0x2? | |||
| 0xC14BD637 | |||
| SceSysconForDriver_C14BD637 | |||
|- | |||
| 0xD2 | |||
| ?0x30? | |||
| 0xEBDF88B9, second_loader | |||
| sceSysconSnvsReadDataForDriver. See [[Ernie_Secure#Ernie_Secure_Commands]]. | |||
|- | |||
| 0xD3 | |||
| ?0x12? | |||
| 0x63683B9B | |||
| sceSysconSnvsWriteDataForDriver. See [[Ernie_Secure#Ernie_Secure_Commands]]. | |||
|- | |||
| 0x100 | |||
| 0x4 | |||
| 0x145F59A4 | |||
| sceSysconGetControlsInfoForDriver. Used in SceCtrlVblankHandler in [[SceCtrl]]. | |||
|- | |||
| 0x101 | |||
| 0x8 | |||
| | |||
| sceSysconGetControlsInfo2ForDriver. Used in SceCtrlVblankHandler in [[SceCtrl]]. Uses Ernie version and Ernie DL version. | |||
|- | |||
| 0x102 | |||
| 0xC | |||
| | |||
| | |||
|- | |||
| 0x103 | |||
| 0x4 | |||
| 0x1503D6A0 | |||
| sceSysconGetMultiCnInfoForDriver | |||
|- | |||
| 0x104 | |||
| 0xC | |||
| | |||
| sceSysconGetControlsInfo3ForDriver. Used in SceCtrlVblankHandler in [[SceCtrl]]. | |||
|- | |||
| 0x105 | |||
| ? | |||
| | |||
| Uses string "PS" then "TUV". | |||
|- | |||
| 0x106 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x107 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x108 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x109 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x110 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x120 | |||
| ? | |||
| 0x76272CB9 | |||
| SceSysconForDriver_76272CB9 | |||
|- | |||
| 0x121 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x130 | |||
| 0x4 | |||
| module_start (SysconInit), 0xD6F6D472 | |||
| SceSysconForDriver_D6F6D472 | |||
|- | |||
| 0x131 | |||
| ?0x1? (read) | |||
| 0xF99BC858 | |||
| SceSysconForDriver_F99BC858. Added on a FW > 3.01 and <= 3.100.081. | |||
|- | |||
| 0x140 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x141 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x142 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x143 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x144 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x145 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x146 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x147 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x148 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x150 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x151 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x152 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x153 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x154 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x155 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x156 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x157 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x160 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x161 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x162 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x163 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x168 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x170 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x171 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x172 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x180 | |||
| ? | |||
| | |||
| Set analog sampling. Sends 2 bytes to Syscon: 0 to disable, 1 to enable on Syscon version is < 0x90202, 3 to enable on Syscon version is >= 0x90202. Used in SceCtrlVblankHandler in [[SceCtrl]]. | |||
|- | |||
| 0x181 | |||
| 0 | |||
| 0xCFCEE733 | |||
| SceSysconForDriver_CFCEE733. Sends 2 bytes to Syscon. | |||
|- | |||
| 0x182 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x183 | |||
| 0x10 | |||
| 0xFDB3AE9D | |||
| SceSysconForDriver_FDB3AE9D. Gets some information. | |||
|- | |||
| 0x184 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x185 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x186 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x187 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x188 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x189 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x18A | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x18B | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x18C | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x18D | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x18E | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x18F | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x190 | |||
| 0 | |||
| 0x8AAB6308 | |||
| sceSysconSetMultiCnPortForDriver. Sends 3 bytes to Syscon. | |||
|- | |||
| 0x191 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x192 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x1A0 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x1A1 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x1B0 | |||
| 0 | |||
| 0xE7893732 | |||
| SceSysconForDriver_E7893732. Sends 3 bytes to Syscon. | |||
|- | |||
| 0x1B2 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x1C0 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x1C1 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x1C2 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x1C3 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x1C4 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x1D0 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x1D1 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x1D2 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x1D3 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x1D4 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x1D5 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x1E0 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x1E1 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x1E2 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x1E3 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x300 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x301 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x303 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x380 | |||
| at least 1 | |||
| 0xF492E69E | |||
| sceSysconGetTouchpanelDeviceInfoForDriver | |||
|- | |||
| 0x38A | |||
| at least 1 | |||
| 0xA1F1B973 | |||
| ?? | |||
|- | |||
| 0x390 | |||
| at least 1 | |||
| 0x030D447F | |||
| sceSysconGetTouchpanelDeviceInfo2ForDriver | |||
|- | |||
| 0x392 | |||
| ? | |||
| 0x48ED8981, 0x060E55C1 | |||
| SceSysconForDriver_48ED8981 / SceSysconForDriver_060E55C1. Sends 2 bytes to Syscon: 0 or 1. | |||
|- | |||
| 0x393 | |||
| ? | |||
| 0x9A28BEEF, 0x8874EF45 | |||
| SceSysconForDriver_9A28BEEF / SceSysconForDriver_8874EF45. Sends 2 bytes to Syscon: 0 or 1. Used in [[SceSblUpdateMgr]]. | |||
|- | |||
| 0x3A0 | |||
| ? | |||
| ?? | |||
| sceSysconTouchStartBlModeForDriver | |||
|- | |||
| 0x3A1 | |||
| ? | |||
| ?? | |||
| sceSysconTouchUnlockDeviceForDriver | |||
|- | |||
| 0x3A2 | |||
| ? | |||
| ?? | |||
| sceSysconTouchSetProgramDataForDriver | |||
|- | |||
| 0x3A3 | |||
| ? | |||
| ?? | |||
| sceSysconTouchExecProgramDataForDriver | |||
|- | |||
| 0x3A4 | |||
| ? | |||
| ?? | |||
| sceSysconTouchGetBLStatusForDriver | |||
|- | |||
| 0x3A9 | |||
| 0 | |||
| 0x010F95D9 | |||
| SceSysconForDriver_010F95D9. Sends 1 byte to Syscon. | |||
|- | |||
| 0x3AB | |||
| ? | |||
| 0x357CC9D9 | |||
| SceSysconForDriver_010F95D9. Sends 3 bytes to Syscon. | |||
|- | |||
| 0x3AC | |||
| ?between 0x1 and 0x4? | |||
| 0x3664E2C0 | |||
| SceSysconForDriver_3664E2C0. Gets information. | |||
|- | |||
| 0x3AF | |||
| ? | |||
| 0xB8F4F4E3 | |||
| SceSysconForDriver_B8F4F4E3. Sends 2 bytes to Syscon. | |||
|- | |||
| 0x3B0 | |||
| ? | |||
| ?? | |||
| sceSysconTouchStartBlModeForDriver | |||
|- | |||
| 0x3B1 | |||
| ? | |||
| ?? | |||
| sceSysconTouchUnlockDeviceForDriver | |||
|- | |||
| 0x3B2 | |||
| ? | |||
| ?? | |||
| sceSysconTouchSetProgramDataForDriver | |||
|- | |||
| 0x3B3 | |||
| ? | |||
| ?? | |||
| sceSysconTouchExecProgramDataForDriver | |||
|- | |||
| 0x3B4 | |||
| ? | |||
| ?? | |||
| sceSysconTouchGetBLStatusForDriver | |||
|- | |||
| 0x3B9 | |||
| ? | |||
| 0x42E599AC | |||
| SceSysconForDriver_42E599AC. Sends 1 byte to Syscon. | |||
|- | |||
| 0x3BB | |||
| ? | |||
| 0xCCA56A16 | |||
| SceSysconForDriver_CCA56A16. Sends 3 bytes to Syscon. | |||
|- | |||
| 0x3BC | |||
| ?between 0x1 and 0x4? | |||
| 0x2E6D97CD | |||
| SceSysconForDriver_2E6D97CD. Gets information. | |||
|- | |||
| 0x3BF | |||
| ? | |||
| 0x240A604E | |||
| SceSysconForDriver_240A604E. Sends 2 bytes to Syscon. | |||
|- | |||
| 0x3C2 | |||
| ? | |||
| 0x5946B29B, 0x10327C64 | |||
| SceSysconForDriver_5946B29B / SceSysconForDriver_10327C64. Sends 2 bytes to Syscon: 0 or 1. Used in [[SceSblUpdateMgr]] | |||
|- | |||
| 0x400 | |||
| ? | |||
| 0x270B7B0B | |||
| sceSysconMotionGetMeasureDataForDriver | |||
|- | |||
| 0x480 | |||
| 4 | |||
| 0xD01E64FC | |||
| sceSysconMotionGetDeviceInfoForDriver | |||
|- | |||
| 0x481 | |||
| ? | |||
| 0x9A7858B6 | |||
| SceSysconForDriver_9A7858B6. Sends 3 bytes to Syscon. | |||
|- | |- | ||
| 0x800 | | 0x800 | ||
| ?0x2 or 0x4? | |||
| 0xA2FE9BF9 | | 0xA2FE9BF9 | ||
| SceSysconForDriver_A2FE9BF9. [[ScePower#ScePowerForDriver_8C0D2051]] related. | |||
|- | |||
| 0x801 | |||
| 0x0 | |||
| | |||
| ?? | | ?? | ||
|- | |- | ||
| | | 0x802 | ||
| | | ?0x4? | ||
| 0xC562AF3A | |||
| sceSysconGetBatteryRemainCapForDriver. Replaced by Syscon command 0x900 on Syscon version > 0x70503. | |||
|- | |||
| 0x803 | |||
| 0x4 | |||
| 0x03F11220 | |||
| sceSysconGetBatteryVoltForDriver. Replaced by Syscon command 0x901 on Syscon version > 0x70503. | |||
|- | |||
| 0x804 | |||
| ? | |||
| | |||
| ?? | | ?? | ||
|- | |- | ||
| 0x805 | | 0x805 | ||
| 4 | |||
| 0xEF810687 | | 0xEF810687 | ||
| | | sceSysconGetUsbDetStatusForDriver | ||
|- | |- | ||
| 0x806 | | 0x806 | ||
| ?0x1? | |||
| 0xE7F5D3DC | | 0xE7F5D3DC | ||
| | | SceSysconForDriver_E7F5D3DC. Reboots PS Vita? | ||
|- | |- | ||
| 0x807 | | 0x807 | ||
| 0x2 | |||
| 0x253CC522 | | 0x253CC522 | ||
| | | SceSysconForDriver_253CC522. | ||
|- | |- | ||
| 0x820 | | 0x820 | ||
| 0x0 | |||
| 0x727F985A | |||
| sceSysconCtrlDolceLEDForDriver. Set PS TV LED on. | |||
|- | |||
| 0x821 | |||
| 0x0 | |||
| 0x727F985A | |||
| sceSysconCtrlDolceLEDForDriver. Set PS TV LED blink slowly. | |||
|- | |||
| 0x822 | |||
| 0x0 | |||
| 0x727F985A | | 0x727F985A | ||
| | | sceSysconCtrlDolceLEDForDriver. Set PS TV LED blink fast. | ||
|- | |- | ||
| 0x840 | | 0x840 | ||
| ?0x1? | |||
| 0x4FEC564C | | 0x4FEC564C | ||
| | | sceSysconGetManualChargeModeForDriver | ||
|- | |- | ||
| 0x841 | | 0x841 | ||
| ?0x1? | |||
| 0x3C3B949C | | 0x3C3B949C | ||
| | | SceSysconForDriver_3C3B949C | ||
|- | |- | ||
| 0x842 | | 0x842 | ||
| ?0x1? | |||
| 0x1C29C00E | | 0x1C29C00E | ||
| | | SceSysconForDriver_1C29C00E | ||
|- | |- | ||
| 0x843 | | 0x843 | ||
| ?0x1? | |||
| 0x730E4725 | | 0x730E4725 | ||
| | | SceSysconForDriver_730E4725 | ||
|- | |- | ||
| 0x880 | | 0x880 | ||
| 0x4 | |||
| 0xA039B563 | | 0xA039B563 | ||
| | | sceSysconGetElmoVersionForDriver | ||
|- | |- | ||
| 0x881 | | 0x881 | ||
| ? | |||
| 0x9BF78047 | | 0x9BF78047 | ||
| | | sceSysconGetCookieVersionForDriver | ||
|- | |||
| 0x882 | |||
| 0x6 | |||
| 0x68E0031E | |||
| sceSysconGetBatteryVersionForDriver. Replaced by Syscon command 0x980 on Syscon version > 0x70503. | |||
|- | |||
| 0x883 | |||
| 0x8 | |||
| 0x175CE5A1 | |||
| sceSysconGetPowerStatusForDriver | |||
|- | |- | ||
| 0x884 | | 0x884 | ||
| ? | |||
| 0x3FDD29D6 | | 0x3FDD29D6 | ||
| | | SceSysconForDriver_3FDD29D6. Same usage as command 0x885. Sends 2 bytes to Syscon. | ||
|- | |- | ||
| 0x885 | | 0x885 | ||
| ? | |||
| 0x79E6DD8B | | 0x79E6DD8B | ||
| | | SceSysconForDriver_79E6DD8B. Same usage as command 0x884. Sends 2 bytes to Syscon. | ||
|- | |- | ||
| 0x886 | | 0x886 | ||
| ?0x2? | |||
| 0x62155962 | | 0x62155962 | ||
| | | sceSysconCtrlHdmiCecPowerForDriver | ||
|- | |- | ||
| 0x887 | | 0x887 | ||
| ? | |||
| 0x063425AE | | 0x063425AE | ||
| | | sceSysconCtrlMotionSensorPowerForDriver | ||
|- | |- | ||
| 0x888 | | 0x888 | ||
| ?0x2? | |||
| 0xBE1ADE4F | | 0xBE1ADE4F | ||
| | | sceSysconCtrlSdPowerForDriver | ||
|- | |- | ||
| 0x889 | | 0x889 | ||
| ?0x2? | |||
| 0x8D1D97E8 | | 0x8D1D97E8 | ||
| | | sceSysconCtrlAccPowerForDriver | ||
|- | |- | ||
| 0x88A | | 0x88A | ||
| 0xA2E85DB9 | | ? | ||
| | | 0x4FBDA504, 0xA2E85DB9 | ||
| sceSysconCtrlWirelessPowerForDriver, sceSysconCtrlWirelessPower2ForDriver | |||
|- | |- | ||
| 0x88B | | 0x88B | ||
| ? | |||
| 0x5A614349 | | 0x5A614349 | ||
| | | SceSysconForDriver_5A614349. Sends 2 bytes to Syscon. | ||
|- | |- | ||
| 0x88C | | 0x88C | ||
| ? | |||
| 0xB872E904 | | 0xB872E904 | ||
| | | SceSysconForDriver_B872E904. Sends 2 bytes to Syscon. | ||
|- | |- | ||
| 0x88D | | 0x88D | ||
| ? | |||
| 0xDD16ABD9 | | 0xDD16ABD9 | ||
| | | SceSysconForDriver_DD16ABD9. Sends 2 bytes to Syscon. | ||
|- | |- | ||
| 0x88E | | 0x88E | ||
| 0x0 | |||
| 0x7F198FA2 | | 0x7F198FA2 | ||
| | | sceSysconCtrlVoltageForDriver. See [[Ernie#CMD_0x088E_-_CtrlVoltage]]. | ||
|- | |- | ||
| 0x88F | | 0x88F | ||
| ?0x2? | |||
| 0x40FF3898 | | 0x40FF3898 | ||
| ?? | | sceSysconCtrlDeviceResetForDriver. ?UsbEtherSmsc and WlanBt related? | ||
|- | |- | ||
| 0x890 | | 0x890 | ||
| ? | |||
| 0x285594F8 | | 0x285594F8 | ||
| | | SceSysconForDriver_285594F8. Sends 2 bytes to Syscon. | ||
|- | |- | ||
| 0x891 | | 0x891 | ||
| ?0x2? | |||
| 0x04EC7579 | | 0x04EC7579 | ||
| | | sceSysconCtrlLEDForDriver | ||
|- | |- | ||
| 0x892 | | 0x892 | ||
| ?0? | |||
| 0x596B17B7 | | 0x596B17B7 | ||
| | | sceSysconCtrlChargeACForDriver. [[ScePower]] related. | ||
|- | |- | ||
| 0x893 | | 0x893 | ||
| ?0? | |||
| 0x2A4B0437 | | 0x2A4B0437 | ||
| ?? | | sceSysconCtrlChargeVBUSForDriver. [[ScePower]] related. | ||
|- | |||
| 0x895 | |||
| ? | |||
| 0x5BF765BB | |||
| sceSysconReadElmoRegForDriver | |||
|- | |||
| 0x896 | |||
| ? | |||
| 0xCCC71C28 | |||
| sceSysconWriteElmoRegForDriver | |||
|- | |||
| 0x897 | |||
| ? | |||
| 0x95975DD1 | |||
| sceSysconReadCookieRegForDriver | |||
|- | |||
| 0x898 | |||
| ? | |||
| 0xF39300D3 | |||
| sceSysconWriteCookieRegForDriver | |||
|- | |- | ||
| 0x899 | | 0x899 | ||
| ?0? | |||
| 0x5CDDA14D | | 0x5CDDA14D | ||
| ?? | | ?Guessed name: sceSysconCtrlHpremoteForDriver? [[SceHpremote]] related. | ||
|- | |- | ||
| 0x89A | | 0x89A | ||
| ?0? | |||
| 0x59DC5938 | | 0x59DC5938 | ||
| | | sceSysconCtrlUsbStatusForDriver | ||
|- | |- | ||
| 0x89B | | 0x89B | ||
| ?0x2? | |||
| 0x710A7CF0 | | 0x710A7CF0 | ||
| | | sceSysconCtrlRMRPowerForDriver | ||
|- | |- | ||
| 0x89C | | 0x89C | ||
| ?0x2? | |||
| 0xB1F88B11 | | 0xB1F88B11 | ||
| | | sceSysconCtrlMultiCnPowerForDriver. [[SceUsbServ]] related. | ||
|- | |- | ||
| 0x89D | | 0x89D | ||
| ? | |||
| 0x6F586D1A | | 0x6F586D1A | ||
| | | sceSysconCtrlLedPwmBlinkForDriver | ||
|- | |- | ||
| 0x89E | | 0x89E | ||
| ? | |||
| 0x9CA6EB70 | | 0x9CA6EB70 | ||
| | | sceSysconSetChargeLedCtrlForDriver. Sends 2 bytes to Syscon. [[ScePower]] related. | ||
|- | |- | ||
| 0x89F | | 0x89F | ||
| ? | |||
| 0xCB41B531 | | 0xCB41B531 | ||
| sceSysconCtrlLedBlinkType2ForDriver. Sends 6 bytes to Syscon. | |||
|- | |||
| 0x8A0 | |||
| ?0x4? | |||
| 0x9070F139 | |||
| sceSysconGetBatteryTempForDriver. Replaced by Syscon command 0x981 on Syscon version > 0x70503. | |||
|- | |||
| 0x8A1 | |||
| ?0x3B or 0x4? | |||
| 0x00A65FC1 | |||
| sceSysconGetBatteryFullCapForDriver. Replaced by Syscon command 0x982 on Syscon version > 0x70503. [[ScePower]] related. | |||
|- | |||
| 0x8A2 | |||
| 0x2 | |||
| 0x0826BA07 | |||
| sceSysconGetBatteryElecForDriver. Replaced by Syscon command 0x983 on Syscon version > 0x70503. | |||
|- | |||
| 0x8A3 | |||
| ?0x4? | |||
| 0xB841C141 | |||
| sceSysconGetBatteryTTEForDriver. Replaced by Syscon command 0x984 on Syscon version > 0x70503. | |||
|- | |||
| 0x8A4 | |||
| ?0x4? | |||
| 0x91D3B7A3 | |||
| sceSysconGetBatterySOHForDriver. Replaced by Syscon command 0x985 on Syscon version > 0x70503. | |||
|- | |||
| 0x8A8 | |||
| 2 | |||
| 0xC2FB5565 | |||
| sceSysconReadBatteryRegForDriver. Replaced by Syscon command 0x986 on Syscon version > 0x70503. | |||
|- | |||
| 0x8A9 | |||
| ? | |||
| 0x9B779DB0 | |||
| sceSysconWriteBatteryRegForDriver. Replaced by Syscon command 0x987 on Syscon version > 0x70503. | |||
|- | |||
| 0x8AA | |||
| 2 | |||
| 0xA5AB19B1 | |||
| SceSysconForDriver_A5AB19B1. Replaced by Syscon command 0x988 on Syscon version > 0x70503. | |||
|- | |||
| 0x8B0 | |||
| ? | |||
| 0x4946538A | |||
| sceSysconBatteryStartBLModeForDriver. Replaced by Syscon command 0x9B0 on Syscon version > 0x70503. Since FW 0.940, it is also used by sceSysconEnableHibernateIOForDriver independently of Syscon version. | |||
|- | |||
| 0x8B1 | |||
| ? | |||
| 0xE4AE7852 | |||
| sceSysconBatteryStopBLModeForDriver. Replaced by Syscon command 0x9B1 on Syscon version > 0x70503. | |||
|- | |||
| 0x8B2 | |||
| ? | |||
| 0xE4F29744 | |||
| sceSysconBatterySetBLCommandForDriver. Replaced by Syscon command 0x9B2 on Syscon version > 0x70503. | |||
|- | |||
| 0x8B3 | |||
| ? | |||
| 0x74B2AB55 | |||
| sceSysconBatteryExecBLCommandForDriver. Replaced by Syscon command 0x9B3 on Syscon version > 0x70503. | |||
|- | |||
| 0x8B4 | |||
| ? | |||
| 0x448DAFF1 | |||
| sceSysconBatteryReadBLCommandForDriver. Replaced by Syscon command 0x9B4 on Syscon version > 0x70503. | |||
|- | |||
| 0x8C0 | |||
| ? | |||
| 0xC6A2C9EF | |||
| sceSysconCtrlManualChargeModeForDriver (accepts 0 / 1 as value) | |||
|- | |||
| 0x8C1 | |||
| ? | |||
| ?? | | ?? | ||
| sceSysconCtrlBatteryChargeForDriver (accepts 0 / 1 as value) | |||
|- | |- | ||
| 0x900 | | 0x8C2 | ||
| ? | |||
| ?? | |||
| sceSysconCtrlChargingCurrentForDriver (accepts 0x00 - 0x1F as value) | |||
|- | |||
| 0x8C3 | |||
| ? | |||
| ?? | |||
| sceSysconCtrlSupplyCurrentAcForDriver (accepts 0x00 - 0x19 as value) | |||
|- | |||
| 0x8C4 | |||
| ? | |||
| ?? | |||
| sceSysconCtrlSupplyCurrentUsbForDriver (accepts 0x00 - 0x19 as value) | |||
|- | |||
| 0x8C5 | |||
| ?0x0 or 0x2? | |||
| 0x3274A925 | |||
| SceSysconForDriver_3274A925. [[SceUsbServ]] and [[SceUsbEtherSmsc]] related. | |||
|- | |||
| 0x8C6 | |||
| ? | |||
| 0xDFB024C4 | |||
| sceSysconReadCookieStatusForDriver. [[SceSblUpdateMgr]] related. | |||
|- | |||
| 0x8C7 | |||
| ? | |||
| 0x87FF8041 | |||
| SceSysconForDriver_87FF8041. Sends 2 bytes to Syscon. | |||
|- | |||
| 0x8C8 | |||
| ? | |||
| 0x7BFA95DA | |||
| sceSysconCtrlUSBSupplyForDriver. Sends 2 bytes to Syscon. | |||
|- | |||
| 0x8C9 | |||
| ?0? | |||
| 0x451C1662 | |||
| SceSysconForDriver_451C1662. Sends 2 bytes to Syscon. | |||
|- | |||
| 0x8CA | |||
| 1 | |||
| 0x79074DE4 | |||
| SceSysconForDriver_79074DE4. Sends 0 byte to Syscon. | |||
|- | |||
| 0x8CB | |||
| 1 | |||
| 0x7D25F6D2 | |||
| SceSysconForDriver_7D25F6D2. Sends 1 byte to Syscon. | |||
|- | |||
| 0x8CC | |||
| ?0? | |||
| 0xD2ADABCA | |||
| SceSysconForDriver_D2ADABCA. Sends 2 bytes to Syscon. | |||
|- | |||
| 0x8CE | |||
| 0x10 | |||
| 0x3B354824 | |||
| sceSysconGetTemperatureLogForDriver | |||
|- | |||
| 0x8CF | |||
| 0 | |||
| 0x3843D657 | |||
| sceSysconClearTemperatureLogForDriver. Sends 2 bytes to syscon. | |||
|- | |||
| 0x8D0 | |||
| ? | |||
| 0xF87679EE | |||
| SceSysconForDriver_F87679EE. Sends 2 bytes to Syscon. | |||
|- | |||
| 0x900 | |||
| ?0x4? | |||
| 0xC562AF3A | | 0xC562AF3A | ||
| | | sceSysconGetBatteryRemainCapForDriver. Replaces Syscon command 0x802 on Syscon version > 0x70503. | ||
|- | |- | ||
| 0x901 | | 0x901 | ||
| 0x4 | |||
| 0x03F11220 | | 0x03F11220 | ||
| | | sceSysconGetBatteryVoltForDriver. Replaces Syscon command 0x803 on Syscon version > 0x70503. | ||
|- | |- | ||
| 0x902 | | 0x902 | ||
| ?0x4? | |||
| 0xAD0A8275 | | 0xAD0A8275 | ||
| | | sceSysconGetBatteryLifePercentForDriver | ||
|- | |- | ||
| 0x903 | | 0x903 | ||
| 0x2 | |||
| 0x26F9D729 | | 0x26F9D729 | ||
| ?? | | sceSysconGetBatteryRemainLevelForDriver. Added on a FW higher than 2.50 and Syscon version >= 0x1040105. | ||
|- | |||
| 0x904 | |||
| ? | |||
| 0x9ADC9936 | |||
| sceSysconGetBatteryCalibDataForDriver | |||
|- | |||
| 0x910 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x911 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x912 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x913 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x914 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x915 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x916 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x917 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x932 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x944 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x945 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x952 | |||
| ? | |||
| | |||
| Uses string "PC" then "TUV". | |||
|- | |||
| 0x953 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x954 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x961 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x962 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x963 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x964 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x965 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x966 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x967 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x968 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x969 | |||
| ? | |||
| | |||
| | |||
|- | |||
| 0x980 | |||
| 0x6 | |||
| 0x68E0031E | |||
| sceSysconGetBatteryVersionForDriver. Replaces Syscon command 0x882 on Syscon version > 0x70503. | |||
|- | |- | ||
| 0x981 | | 0x981 | ||
| ?0x4? | |||
| 0x9070F139 | | 0x9070F139 | ||
| | | sceSysconGetBatteryTempForDriver. Replaces Syscon command 0x8A0 on Syscon version > 0x70503. | ||
|- | |- | ||
| 0x982 | | 0x982 | ||
| ?0x4? | |||
| 0x00A65FC1 | | 0x00A65FC1 | ||
| | | sceSysconGetBatteryFullCapForDriver. Replaces Syscon command 0x8A1 on Syscon version > 0x70503. [[ScePower]] related. | ||
|- | |- | ||
| 0x983 | | 0x983 | ||
| 0x2 | |||
| 0x0826BA07 | | 0x0826BA07 | ||
| | | sceSysconGetBatteryElecForDriver. Replaces Syscon command 0x8A2 on Syscon version > 0x70503. | ||
|- | |- | ||
| 0x984 | | 0x984 | ||
| ?0x4? | |||
| 0xB841C141 | | 0xB841C141 | ||
| | | sceSysconGetBatteryTTEForDriver. Replaces Syscon command 0x8A3 on Syscon version > 0x70503. | ||
|- | |- | ||
| 0x985 | | 0x985 | ||
| ?0x4? | |||
| 0x91D3B7A3 | | 0x91D3B7A3 | ||
| ?? | | sceSysconGetBatterySOHForDriver. Replaces Syscon command 0x8A4 on Syscon version > 0x70503. | ||
|- | |||
| 0x986 | |||
| 2 | |||
| 0xC2FB5565 | |||
| sceSysconReadBatteryRegForDriver. Replaces Syscon command 0x8A8 on Syscon version > 0x70503. | |||
|- | |||
| 0x987 | |||
| ? | |||
| 0x9B779DB0 | |||
| sceSysconWriteBatteryRegForDriver. Replaces Syscon command 0x8A9 on Syscon version > 0x70503. | |||
|- | |||
| 0x988 | |||
| 2 | |||
| 0xA5AB19B1 | |||
| SceSysconForDriver_A5AB19B1. Replaces Syscon command 0x8AA on Syscon version > 0x70503. | |||
|- | |||
| 0x989 | |||
| ? | |||
| 0x87DA378D | |||
| sceSysconBatterySWResetForDriver | |||
|- | |- | ||
| 0x98A | | 0x98A | ||
| ?between 0x2 and 0x4? | |||
| 0xF93CF833 | | 0xF93CF833 | ||
| | | sceSysconGetBatteryFullCapForDriver | ||
|- | |- | ||
| 0x98B | | 0x98B | ||
| 0xE1885F68 | | ?between 0x2 and 0x4? | ||
| | | 0xECFA7242 / 0xE1885F68 | ||
| sceSysconGetBicTempForDriver / sceSysconGetAbbyTempForDriver | |||
|- | |- | ||
| 0x98C | | 0x98C | ||
| ?0x4? | |||
| 0xCD73079D | | 0xCD73079D | ||
| sceSysconGetBatteryCycleCountForDriver | |||
|- | |||
| 0x9B0 | |||
| ? | |||
| 0x2CEF078E / 0x4946538A | |||
| sceSysconBatteryStartBLModeForDriver. Replaces Syscon command 0x8B0 on Syscon version > 0x70503. Since FW 0.940, it is also used by sceSysconEnableHibernateIOForDriver independently of Syscon version. | |||
|- | |||
| 0x9B1 | |||
| ? | |||
| 0xE4AE7852 | |||
| sceSysconBatteryStopBLModeForDriver. Replaces Syscon command 0x8B1 on Syscon version > 0x70503. | |||
|- | |||
| 0x9B2 | |||
| ? | |||
| 0xE4F29744 | |||
| sceSysconBatterySetBLCommandForDriver. Replaces Syscon command 0x8B2 on Syscon version > 0x70503. | |||
|- | |||
| 0x9B3 | |||
| ? | |||
| 0x74B2AB55 | |||
| sceSysconBatteryExecBLCommandForDriver. Replaces Syscon command 0x8B3 on Syscon version > 0x70503. | |||
|- | |||
| 0x9B4 | |||
| ? | |||
| 0x448DAFF1 | |||
| sceSysconBatteryReadBLCommandForDriver. Replaces Syscon command 0x8B4 on Syscon version > 0x70503. | |||
|- | |||
| 0xA00 | |||
| 0x0 | |||
| | |||
| ?? | | ?? | ||
|- | |||
| 0xA82 | |||
| ? | |||
| 0x7BAFE083 | |||
| SceSysconForDriver_7BAFE083. Sends 2 bytes to Syscon. | |||
|- | |||
| 0x1080 | |||
| ?0x0 or 0x2? | |||
| 0x81A6060D | |||
| sceSysconNvsSetRunModeForDriver | |||
|- | |||
| 0x1081 | |||
| ?0x0 or 0x2? | |||
| 0x2EC6D55D | |||
| sceSysconNvsSetUnkModeForDriver | |||
|- | |||
| 0x1082 | |||
| ?around 0x20? | |||
| 0xACAFA2B8 | |||
| sceSysconNvsReadDataForDriver | |||
|- | |||
| 0x1083 | |||
| ?0x2? | |||
| 0x10C9657A | |||
| sceSysconNvsWriteDataForDriver | |||
|- | |||
| 0x1100 | |||
| 0x4 | |||
| 0xD2F456DC | |||
| sceSysconGetErnieDLVersionForDriver | |||
|- | |||
| 0x1101 | |||
| 0x4 | |||
| | |||
| | |||
|- | |||
| 0x1180 | |||
| ? | |||
| 0x9B00BC7F | |||
| sceSysconUpdaterSetSegmentForDriver | |||
|- | |||
| 0x1181 | |||
| ? | |||
| 0x356B9696, 0x734544E4 | |||
| sceSysconUpdaterSendProgramDataForDriver, sceSysconUpdaterSendProgramData2ForDriver | |||
|- | |||
| 0x1182 | |||
| ? | |||
| 0x69AD76E4 | |||
| sceSysconUpdaterExecProgrammingForDriver | |||
|- | |||
| 0x1183 | |||
| ? | |||
| 0xB487C2FB | |||
| sceSysconUpdaterSetRunModeForDriver | |||
|- | |||
| 0x1184 | |||
| ? | |||
| 0xC7747A63 | |||
| sceSysconUpdaterExecFinalizeForDriver | |||
|- | |||
| 0x1185 | |||
| ? | |||
| 0xCBA836FF | |||
| sceSysconUpdaterCheckSignatureForDriver. Sends 0x18 bytes to Syscon. | |||
|- | |||
| 0x1300 | |||
| 0x8 | |||
| 0xCE48E8EB | |||
| sceSysconGetConfigStorageInfoForDriver | |||
|- | |||
| 0x1310 | |||
| 0x1 | |||
| 0x351946B0 | |||
| SceSysconForDriver_351946B0 | |||
|- | |||
| 0x1382 | |||
| ? | |||
| 0xA4968B8C | |||
| sceSysconBeginConfigstorageTransactionForDriver. Sends 1 byte to Syscon: 0. | |||
|- | |||
| 0x1383 | |||
| ? | |||
| 0xFCC3E8EE | |||
| sceSysconEndConfigstorageTransactionForDriver. Sends 1 byte to Syscon: 0. | |||
|- | |||
| 0x1384 | |||
| ? | |||
| 0x7B9B3617 | |||
| sceSysconCommitConfigstorageTransactionForDriver. Sends 1 byte to Syscon: 0. | |||
|- | |||
| 0x1385 | |||
| ? | |||
| 0x89C5CFD6 | |||
| sceSysconLoadConfigstorageScriptForDriver. Sends (3 + script_size) bytes to Syscon: script_size (1 byte), unk, script (variable length). | |||
|- | |||
| 0x1386 (called from ARM Kernel but not implemented in Syscon FW) | |||
| ? | |||
| 0xCC6F90A8 | |||
| sceSysconVerifyConfigstorageScriptForDriver. Sends (3 + script_size) bytes to Syscon: script_size (1 byte), unk, script (variable length). | |||
|- | |||
| 0x1392 | |||
| ?0? | |||
| 0xFD65FFCB | |||
| SceSysconForDriver_FD65FFCB. Sends 3 bytes to Syscon: 1 byte offset (between 0 and 0xFF), 2 bytes a2 (between 0 and 2). | |||
|- | |||
| 0x1393 | |||
| ? | |||
| 0x02350352 | |||
| SceSysconForDriver_02350352. Sends 2 bytes to Syscon: offset (between 0 and 0xFF) | |||
|- | |||
| 0x1394 | |||
| ? | |||
| 0x7DE84CE3 | |||
| SceSysconForDriver_7DE84CE3. Sends 2 bytes to Syscon: offset (between 0 and 0xFF) | |||
|- | |||
| 0x2080 | |||
| ? | |||
| 0x44A173F5 | |||
| sceSysconJigOpenPortForDriver | |||
|- | |||
| 0x2081 | |||
| ? | |||
| 0x483FAE05 | |||
| sceSysconJigClosePortForDriver | |||
|- | |||
| 0x2082 | |||
| ? | |||
| 0xD24BF916 | |||
| sceSysconJigSetConfigForDriver | |||
|- | |||
| 0x2083 | |||
| ? | |||
| 0x3C80B529 | |||
| receive_pm_sm_jig_msg_from_syscon | |||
|- | |||
| 0x2084 | |||
| ? | |||
| 0xCE346793 | |||
| send_pm_sm_jig_short_msg_to_syscon | |||
|- | |||
| 0x2085 | |||
| ? | |||
| 0x7BFBA09E / 0x933D813F | |||
| send_pm_sm_jig_msg_to_syscon / send_pm_sm_stop_to_syscon | |||
|} | |} | ||
== Callbacks == | == Callbacks == | ||
All the following | All the following exported functions have this function prototype: <code>int sceSysconSet...Callback(void (*func)(int enable, void *argp), void *argp);</code>. | ||
{| class="wikitable" | {| class="wikitable" | ||
! Callback name !! Callback setter function !! State getter function !! Callback setter caller !! Comments | |||
|- | |||
| SYSCON_CB_ACC || [[#sceSysconSetAccCallbackForDriver]] || [[#SceSysconForDriver_B9EA2FA8]] || [[SceUsbServ]] || | |||
|- | |||
| SYSCON_CB_MULTI_CN_OTG || [[#sceSysconSetMultiCnOtgCallbackForDriver]] || NA || [[SceUsbServ]] || | |||
|- | |||
| SYSCON_CB_MINI_USB_OTG || [[#sceSysconSetMiniUsbOtgCallbackForDriver]] || NA || [[SceUsbServ]] || | |||
|- | |||
| SYSCON_CB_ALARM || [[#sceSysconSetAlarmCallbackForDriver]] || NA || [[ScePower]] || | |||
|- | |||
| ?SYSCON_CB_WLANBT? || [[#SceSysconForDriver_18A6F4D9]] || [[#SceSysconForDriver_C0F215B7]] || [[SceWlanBt]] but not used on <= 0.996.090 || | |||
|- | |||
| ?SYSCON_CB_HEADPHONE? || [[#SceSysconForDriver_DE613081]] || [[#SceSysconForDriver_C3504ADE]] || [[SceHpremote]] || | |||
|- | |||
| ?SYSCON_CB_MICROPHONE? || [[#SceSysconForDriver_63352A39]] || NA || [[SceHpremote]] || | |||
|- | |||
| ?SYSCON_CB_REMOTE? || [[#SceSysconForDriver_35E1689F]] || [[#SceSysconForDriver_ACC7F71E]] || [[SceHpremote]] || | |||
|- | |||
| SYSCON_CB_LOW_BATTERY || [[#sceSysconSetLowBatteryCallbackForDriver]] || [[#sceSysconIsLowBatteryForDriver]] || [[ScePower]] || | |||
|- | |||
| SYSCON_CB_THERMAL_ALERT || [[#sceSysconSetThermalAlertCallbackForDriver]] || [[#SceSysconForDriver_50CAE242]] || [[ScePower]] || | |||
|- | |||
| SYSCON_CB_LOW_BATTERY_INIHIBIT_UPDATE_REBOOT || [[#sceSysconSetLowBatteryInhibitUpdateRebootCallbackForDriver]] || [[#sceSysconIsLowBatteryInhibitUpdateRebootForDriver]] || [[ScePower]] || | |||
|- | |||
| SYSCON_CB_LOW_BATTERY_INIHIBIT_UPDATE_DOWNLOAD || [[#sceSysconSetLowBatteryInhibitUpdateDownloadCallbackForDriver]] || [[#sceSysconIsLowBatteryInhibitUpdateDownloadForDriver]] || [[ScePower]] || | |||
|- | |||
| SYSCON_CB_BATTERY_ONLINE || [[#SceSysconForDriver_80D6E061]] || [[#SceSysconForDriver_27758A64]] || [[ScePower]] || | |||
|- | |||
| SYSCON_CB_RESUME_REQUEST || [[#SceSysconForDriver_9F8340FF]] || [[#SceSysconForDriver_A57B5433]] || [[ScePower]] || | |||
|- | |||
| ? || [[#SceSysconForDriver_2D471528]] || [[#SceSysconForDriver_03C50DC3]] || [[ScePower]] || Very similar to SYSCON_CB_LOW_BATTERY. | |||
|- | |||
| ? || [[#SceSysconForDriver_7682FE69]] || [[#SceSysconForDriver_4A184B7C]] || No use case seen. || Related to battery. | |||
|- | |||
| ? || [[#SceSysconForDriver_E0D52DF0]] || [[#SceSysconForDriver_ACEE1C70]] || No use case seen. || Related to battery. | |||
|- | |||
| ? || [[#SceSysconForDriver_229A07C2]] || [[#SceSysconForDriver_B832B72C]] || No use case seen. || | |||
|- | |||
| ? || [[#SceSysconForDriver_474A9EA7]] || [[#SceSysconForDriver_769F9AC4]] || No use case seen. || | |||
|- | |||
| ? || [[#SceSysconForDriver_129EA022]] || [[#SceSysconForDriver_BFDA5590]] || [[ScePower]] || | |||
|- | |||
| SYSCON_CB_ALARM_TIMER || [[#SceSysconForDriver_8351526D]] || [[#SceSysconForDriver_86BAAF7D]] || [[SceRtc]] || | |||
|- | |||
| ? || [[#SceSysconForDriver_2E4BA4B8]] || [[#SceSysconForDriver_29CF4335]] || No use case seen. || Used in [[SceSblPostSsMgr]]. | |||
|- | |||
| ? || [[#SceSysconForDriver_4E88B4D9]] || [[#SceSysconForDriver_4BC63A40]] || [[SceBbmc]] || Used in [[SceSblPostSsMgr]]. | |||
|- | |- | ||
| ? || [[#SceSysconForDriver_376CCCB8]] || [[#SceSysconForDriver_99A254A9]] || No use case seen. || | |||
|- | |- | ||
| | | ? || [[#SceSysconForDriver_3BAAC8A9]] || [[#SceSysconForDriver_9A4F4B7C]] || No use case seen. || | ||
| | |||
|- | |- | ||
| | | ? || [[#SceSysconForDriver_85E5DEBF]] || [[#SceSysconForDriver_63B14156]] || [[SceBbmc]] || | ||
| | |||
|- | |- | ||
| | | ? || [[#SceSysconForDriver_14730196]] || NA || No use case seen. || | ||
| | |||
|- | |- | ||
| | | ? || [[#SceSysconForDriver_C442D0BE]] || [[#SceSysconForDriver_9F4042F8]] || No use case seen. || | ||
| | |||
|- | |- | ||
| | | ? || [[#SceSysconForDriver_61AE3970]] || [[#SceSysconForDriver_C50568E9]] || No use case seen. || | ||
| | |||
|- | |- | ||
| | | ? || [[#SceSysconForDriver_423D0C58]] || NA || No use case seen. || | ||
| | |||
|- | |- | ||
| | | ? || [[#SceSysconForDriver_154676F1]] || NA || No use case seen. || | ||
| | |||
|} | |} | ||
See also [http://uofw.github.io/upspd/docs/SilverSpring_Blog/my.malloc.us/silverspring/2007/12/03g-model-psp/index.html SilverSpring's PSP Syscon callbacks enum] and [https://github.com/pspdev/pspsdk/blob/master/src/power/psppower.h PSPSDK power callbacks enum]. | |||
[[Category:ARM]] | |||
[[Category:Kernel]] | |||
[[Category:Modules]] | [[Category:Modules]] | ||
[[Category: | [[Category:Library]] |
Latest revision as of 21:59, 4 April 2024
SceSyscon is a kernel module in charge of interacting with the System Controller by executing commands.
Module
Version | World | Privilege |
---|---|---|
0.931.010-3.740.011 | Non-secure | Kernel |
Libraries
Known NIDs
Version | Name | World | Visibility | NID |
---|---|---|---|---|
0.931.010-3.740.011 | SceSysconForDriver | Non-secure | Kernel | 0x60A35F64 |
Types
#define SCE_KERNEL_ERROR_SYSCON_ERROR 0x80250000 #define SCE_SYSCON_ERROR_INVALID_SIZE 0x80250001 #define SCE_SYSCON_ERROR_INVALID_ARGUMENT 0x80250002 #define SCE_SYSCON_ERROR_INVALID_POINTER 0x80250003 #define SCE_SYSCON_ERROR_INVALID_STATUS 0x80250004 #define SCE_SYSCON_ERROR_NOT_INTR_ALLOWED 0x80250005 #define SCE_SYSCON_ERROR_TX_SIZE_TOO_LONG 0x80250006 #define SCE_SYSCON_ERROR_ILLEGAL_SIZE 0x80250100 #define SCE_SYSCON_ERROR_ILLEGAL_STATUS 0x80250101 #define SCE_SYSCON_ERROR_NOEXEC 0x80250102 #define SCE_SYSCON_ERROR_INVALID_FLAGS 0x80250105 // Syscon error codes are gotten with 0x80250200 | rx[3], where rx is the data returned by Syscon typedef struct SceSysconPacket { // size is 0x80 struct SceSysconPacket *next; SceUInt32 status; // Lower 16 bits contain flags SceUID semaId; SceUInt32 index; // Out: returns to which packet list the packet was inserted into SceUInt8 tx[32]; // tx[0..1] = cmd, tx[2] = size i.e. sizeof(actual_data)+1, rx[3..31] = actual_data SceUInt8 rx[32]; // rx[0..1] = cmd, rx[2] = size i.e. sizeof(actual_data)+2, rx[3] = error_code, rx[4..31] = actual_data void *tx_extra; void *rx_extra; SceSize rx_extra_size; SceUInt32 rx_offset; int (*callback)(SceSysconPacket *packet, void *argp); void *argp; SceUInt32 time; SceUInt32 unk[5]; } SceSysconPacket; typedef enum SceSysconControl { SCE_SYSCON_CTRL_UP = 0x1, SCE_SYSCON_CTRL_RIGHT = 0x2, SCE_SYSCON_CTRL_DOWN = 0x4, SCE_SYSCON_CTRL_LEFT = 0x8, SCE_SYSCON_CTRL_TRIANGLE = 0x10, SCE_SYSCON_CTRL_CIRCLE = 0x20, SCE_SYSCON_CTRL_CROSS = 0x40, SCE_SYSCON_CTRL_SQUARE = 0x80, SCE_SYSCON_CTRL_SELECT = 0x100, SCE_SYSCON_CTRL_LTRIGGER = 0x200, SCE_SYSCON_CTRL_RTRIGGER = 0x400, SCE_SYSCON_CTRL_START = 0x800, SCE_SYSCON_CTRL_PSBUTTON = 0x1000, SCE_SYSCON_CTRL_POWER = 0x4000, SCE_SYSCON_CTRL_VOLUP = 0x10000, SCE_SYSCON_CTRL_VOLDOWN = 0x20000, SCE_SYSCON_CTRL_HEADPHONE = 0x8000000 } SceSysconControl;
Flags (passed to sceSysconCmdExecForDriver
, etc), also lower bits of status
:
Flags | Meaning |
---|---|
0x1 | Some kind of priority that helps to select to which packet list the packet is inserted into. |
0x100 | Do not insert packet checksum (at tx_buf[2 + len] ), where len = tx_buf[2] . And don't memset the rest of the buffer to -1 (memset(tx_buf + len + 3, -1, 29 - len) ) if len < 29.
|
0x400 | When set, use rx_extra to receive the data. rx_extra_size must be greater than 32. |
0x800 | When set, use tx_extra instead of tx for sending data. The size is contained in tx_extra[2] and must be smaller or equal to 253. When cleared: use tx and the size is contained in tx[2], which has to be smaller or equal 29. |
SceSysconForDriver
sceSysconErnieShutdownForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x94AB13CC |
Calls Syscon command 0xC1.
#define ERNIE_SHUTDOWN_SHUTDOWN 0 #define ERNIE_SHUTDOWN_REBOOT 1 int sceSysconErnieShutdownForDriver(int mode);
sceSysconErnieResetForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x14B99945 |
This is a guessed name. Temp name was sceSysconPowerCtrlKermitResetForDriver.
It issues SMC 0x11A with type=RESET and mode=0: return sceSysconSetPowerModeForDriver(2, 0);
.
int sceSysconErnieResetForDriver(void);
sceSysconErnieHibernateForDriver
Version | NID |
---|---|
0.931.010-0.940 | not present |
0.990.000-3.740.011 | 0x4278E614 |
It issues SMC 0x11A with type=HIBERNATE and mode=0: return sceSysconSetPowerModeForDriver(5, 0);
.
int sceSysconErnieHibernateForDriver(void);
sceSysconBatterySWResetForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x87DA378D |
If Syscon version <= 0x70503, it does nothing and returns error 0x8025023F.
int sceSysconBatterySWResetForDriver(void);
sceSysconGetBatteryFullCapForDriver
Version | NID |
---|---|
0.931.010 | not present |
0.990.000-3.740.011 | 0xF93CF833 |
Temp name was sceSysconGetBatteryFullCapacityForDriver.
Used in ScePower's module_start.
int sceSysconGetBatteryFullCapForDriver(SceUInt32 *pCap);
sceSysconGetBicTempForDriver
Version | NID |
---|---|
0.931.010-0.940 | not present |
0.990.000 | 0xECFA7242 |
1.000.041-3.740.011 | not present. Renamed to sceSysconGetAbbyTempForDriver. |
This is a guessed name. Another possible name is sceSysconGetBatteryInternalTempForDriver.
Replaced (just renaming) by #sceSysconGetAbbyTempForDriver.
Calls Syscon command 0x98B.
int sceSysconGetBicTempForDriver(SceUInt32 *pTemp);
sceSysconGetAbbyTempForDriver
Version | NID |
---|---|
0.931.010-0.990.000 | not present. Was named sceSysconGetBicTempForDriver. |
1.000.041-3.740.011 | 0xE1885F68 |
This is a guessed name. Another possible name is sceSysconGetBatteryInternalTempForDriver.
Replacement (just renaming) for #sceSysconGetBicTempForDriver.
Calls Syscon command 0x98B.
int sceSysconGetAbbyTempForDriver(SceUInt32 *pTemp);
sceSysconGetBatteryCycleCountForDriver
Version | NID |
---|---|
0.931.010-0.990.000 | not present |
0.996.090-3.740.011 | 0xCD73079D |
Calls Syscon command 0x98C.
Used in ScePower.
int sceSysconGetBatteryCycleCountForDriver(SceUInt32 *pCount);
sceSysconBatteryStartBLModeForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x2CEF078E |
int sceSysconBatteryStartBLModeForDriver(void);
sceSysconBatteryStopBLModeForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0xE4AE7852 |
int sceSysconBatteryStopBLModeForDriver(void);
sceSysconBatterySetBLCommandForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0xE4F29744 |
BL command (1 byte at most) must be contained in either unk_byte or pSrc.
int sceSysconBatterySetBLCommandForDriver(SceUInt16 ctx, SceUInt8 unk_byte, void *pSrc, SceUInt8 size);
sceSysconBatteryExecBLCommandForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x74B2AB55 |
int sceSysconBatteryExecBLCommandForDriver(SceUInt16 ctx);
sceSysconBatteryReadBLCommandForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x448DAFF1 |
// size must be between 0 and 0x10 int sceSysconBatteryReadBLCommandForDriver(SceUInt16 ctx, SceUInt8 unk1, SceUInt8 unk2, void *pDst, SceUInt8 size);
sceSysconGetManualChargeModeForDriver
Version | NID |
---|---|
0.931.010-2.060.011 | not present |
2.100.081-3.740.011 | 0x4FEC564C |
int sceSysconGetManualChargeModeForDriver(int *piMode);
sceSysconCtrlManualChargeModeForDriver
Version | NID |
---|---|
0.931.010-2.060.011 | not present |
2.100.081-3.740.011 | 0xC6A2C9EF |
int sceSysconCtrlManualChargeModeForDriver(int mode);
sceSysconSetClockForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x9B6A6F64 |
Calls Syscon command 0x81.
Sets current Syscon power on time in ticks of 0.5 second. The set value can be get with #sceSysconGetClockForDriver.
Used in SceRtc. Set to 0 just before setting Current Tick, to reset syscon power on time.
int sceSysconSetClockForDriver(SceUInt32 time);
SceSysconForDriver_51164951
Version | NID |
---|---|
0.931.010-3.740.011 | 0x51164951 |
Calls Syscon command 0x82. On Syscon version < 0x90907, 4 bytes are sent to Syscon, whilst on Syscon version >= 0x90907, 5 bytes are sent to Syscon.
Sets an alarm tick. The set tick can be get using Syscon command 0x12 via #SceSysconForDriver_3168F3AF.
Used in SceRtc#sceRtcSetAlarmTickForDriver.
// FW 0.931.010 int SceSysconForDriver_51164951(void *tick); // FW 3.600.011-3.740.011 // tick_low: seen value: 0xffffffff during Syscon Init // tick_hi: some 8-bit flag, seen value: 0 during Syscon Init int SceSysconForDriver_51164951(SceUint32 tick_low, SceUInt8 tick_hi);
SceSysconForDriver_373ECF8A
Version | NID |
---|---|
0.931.010-0.940 | not present |
0.990.000-3.740.011 | 0x373ECF8A |
Calls Syscon command 0x83. Sends 3 bytes to Syscon. Used only if Hardware Info indicates that the motherboard is not IRT-001 or IRT-002 or type 0x10 (maybe named IRS-001) and if console is not in manufacturing mode.
int SceSysconForDriver_373ECF8A(SceUInt32 unk);
SceSysconForDriver_2659535C
Version | NID |
---|---|
0.931.010 | not present |
0.990.000-3.740.011 | 0x2659535C |
Calls Syscon command 0x84. Sends 1 byte to Syscon: 0.
int SceSysconForDriver_2659535C(void);
SceSysconForDriver_4295D497
Version | NID |
---|---|
0.931.010 | not present |
0.990.000-3.740.011 | 0x4295D497 |
Calls Syscon command 0x85. Sends 1 byte to Syscon: 0.
int SceSysconForDriver_4295D497(void);
sceSysconGetLogInfoForDriver
Version | NID |
---|---|
0.931.010-0.940 | not present |
0.990.000-3.740.011 | 0x701535FC |
Calls Syscon command 0x86.
typedef struct SceSysconLogInfo { // size is 8 on FW 3.600.011 uint8_t unk_0[8]; } SceSysconLogInfo; int sceSysconGetLogInfoForDriver(SceSysconLogInfo *pInfo);
sceSysconLogStartForDriver
Version | NID |
---|---|
0.931.010-0.940 | not present |
0.990.000-3.740.011 | 0x4E55CF5E |
Calls Syscon command 0x87. Sends 1 byte to Syscon: 0.
int sceSysconLogStartForDriver(void);
sceSysconLogReadDataForDriver
Version | NID |
---|---|
0.931.010-0.940 | not present |
0.996.090-3.740.011 | 0x487D97F3 |
Calls Syscon command 0x88.
int sceSysconLogReadDataForDriver(SceUInt16 offset, void *pData, SceSize size);
sceSysconLogStartWaitingForDriver
Version | NID |
---|---|
0.931.010-2.12 | not present |
2.500.071-3.740.011 | 0x9C0B1E61 |
Calls Syscon command 0x89.
int sceSysconLogStartWaitingForDriver(void);
sceSysconCtrlUSBSupplyForDriver
Version | NID |
---|---|
3.600.011-3.740.011 | 0x7BFA95DA |
This function is used instead of #sceSysconCtrlChargeVBUSForDriver on PS Vita Slim.
Calls Syscon command 0x8C8. Sends 1 byte to Syscon. Gets 0 byte from Syscon.
Used in factTest module.
int sceSysconCtrlUSBSupplyForDriver(SceUInt8 data);
SceSysconForDriver_451C1662
Version | NID |
---|---|
3.600.011-3.740.011 | 0x451C1662 |
Calls Syscon command 0x8C9. Sends 1 byte to Syscon. Gets 0 byte from Syscon.
int SceSysconForDriver_451C1662(SceUInt8 data);
SceSysconForDriver_79074DE4
Version | NID |
---|---|
3.600.011-3.740.011 | 0x79074DE4 |
Calls Syscon command 0x8CA. Sends 0 byte to Syscon. Gets 1 bytes from Syscon: data.
int SceSysconForDriver_79074DE4(SceUInt8* pData);
SceSysconForDriver_7D25F6D2
Version | NID |
---|---|
3.600.011-3.740.011 | 0x7D25F6D2 |
Calls Syscon command 0x8CB. Sends 1 byte to Syscon: id. Gets 1 bytes from Syscon: data.
int SceSysconForDriver_7D25F6D2(SceUInt8 id, SceUInt8* pData);
SceSysconForDriver_D2ADABCA
Version | NID |
---|---|
3.600.011-3.740.011 | 0xD2ADABCA |
Calls Syscon command 0x8CC. Sends 2 bytes from Syscon: id, data.
int SceSysconForDriver_D2ADABCA(SceUInt8 id, SceUInt8 data);
sceSysconGetTemperatureLogForDriver
Version | NID |
---|---|
0.931.010-2.12 | not present |
2.500.071-3.740.011 | 0x3B354824 |
Calls Syscon command 0x8CE. Gets 0x10 bytes from Syscon.
typedef struct SceSysconTemperatureLog { // size is 0x10 bytes char log[16]; } SceSysconTemperatureLog; int sceSysconGetTemperatureLogForDriver(SceSysconTemperatureLog *pLog);
sceSysconClearTemperatureLogForDriver
Version | NID |
---|---|
0.931.010-2.12 | not present |
2.500.071-3.740.011 | 0x3843D657 |
Calls Syscon command 0x8CF. Sends 2 bytes to Syscon.
int sceSysconClearTemperatureLogForDriver(SceUInt32 unk);
SceSysconForDriver_F87679EE
Version | NID |
---|---|
0.931.010-2.12 | not present |
3.600.011-3.740.011 | 0xF87679EE |
Calls Syscon command 0x8D0. Sends 2 bytes to Syscon.
Probably related to Syscon Temperature Log.
int SceSysconForDriver_F87679EE(SceUInt32 unk);
sceSysconGetUsbDetStatusForDriver
Version | NID |
---|---|
0.931.010-2.060.011 | not present |
2.100.081-3.740.011 | 0xEF810687 |
Calls Syscon command 0x805.
Maybe supported by PS TV or PS Vita Slim only.
int sceSysconGetUsbDetStatusForDriver(SceUInt32 *pStatus);
SceSysconForDriver_E7F5D3DC
Version | NID |
---|---|
0.931.010-1.692.000 | not present |
2.100.081-3.740.011 | 0xE7F5D3DC |
Calls Syscon command 0x806.
Maybe supported by PS TV or PS Vita Slim only.
On PS TV returns data 0x00000000
int SceSysconForDriver_E7F5D3DC(SceUInt32 *pResult);
SceSysconForDriver_253CC522
Version | NID |
---|---|
0.931.010-1.692.000 | not present |
2.100.081-3.740.011 | 0x253CC522 |
Calls Syscon command 0x807. Gets 2 bytes from Syscon.
On DevKit, it returns 0x8025023F. Maybe supported by PS TV or PS Vita Slim only.
On PS TV returns data 0xca1a
int SceSysconForDriver_253CC522(SceUInt16 *pResult);
sceSysconCtrlDolceLEDForDriver
Version | NID |
---|---|
0.931.010-2.060.011 | not present |
2.100.081-3.740.011 | 0x727F985A |
This is a guessed name.
#define STATE_ON 0 #define STATE_BLINK_SLOW 1 #define STATE_BLINK_FAST 2 int sceSysconCtrlDolceLEDForDriver(SceUInt32 state);
sceSysconGetTimeStampForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x4D588A0A |
This is a guessed named, derived from PSP. Temp name was sceSysconGetBaryonTimestampForDriver.
Returns the timestamp of latest installed Syscon firmware patch, formatted as YYYYMMDDhhmm
. This comes from a string stored in Syscon firmware under another format: $Date:: YYYY-MM-DD hh:mm:ss +0900#$
Example: $Date:: 2013-12-13 15:52:05 +0900#$
in Syscon firmware becomes 201312131552
in Syscon command 2.
// pTimestamp will point to a buffer of size 0x10 bytes, containing a string of size 13 (12: length + 1: terminal character) int sceSysconGetTimeStampForDriver(char *pTimestamp);
sceSysconGetWakeupFactorForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0xCF5B2F2F |
Result is 2 bytes wakeup factor coming from Syscon command 0x10.
Used in SceWlanBt.
int sceSysconGetWakeupFactorForDriver(SceUInt32 *pWakeupFactor);
sceSysconCtrlHdmiCecPowerForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x62155962 |
If Syscon version is strictly lower than 0x40000, it does nothing and returns 0.
Sets the pin CDC Hot Plug Detect (HPD) state of the HDMI bridge (AD80244 / ADV7533).
int sceSysconCtrlHdmiCecPowerForDriver(SceBool enable_HDMI_CDC_HPD_pin);
sceSysconCtrlMotionSensorPowerForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x063425AE |
This is a guessed name.
If Syscon version is strictly lower than 0x40000, it does nothing and returns 0.
int sceSysconCtrlMotionSensorPowerForDriver(SceBool enable);
SceSysconForDriver_3FDD29D6
Version | NID |
---|---|
0.931.010-3.740.011 | 0x3FDD29D6 |
Calls Syscon command 0x884. Sends 2 bytes to Syscon.
int SceSysconForDriver_3FDD29D6(int value, SceBool use_flag);
SceSysconForDriver_79E6DD8B
Version | NID |
---|---|
0.931.010-3.740.011 | 0x79E6DD8B |
Calls Syscon command 0x885. Sends 2 bytes to Syscon.
int SceSysconForDriver_79E6DD8B(int value, SceBool use_flag);
sceSysconCtrlVoltageForDriver
Version | NID |
---|---|
0.920.050-3.740.011 | 0x7F198FA2 |
Temp name was sceSysconSetVoltageForDriver.
Calls Syscon command 0x88E.
Used in ScePower.
/* type: 0: Reserved 1: DD1 (VDD - IFTU, DMAC, Internal bus, SPM 32KiB/128KiB) SetSysClockFrequency, SetDmac5ClockFrequency, SetBusClockFrequency, SetCameraBusClockFrequency 2: DD2 (VDDA - ARM core, L2 cache) SetArmClockFrequency 3: DD3 (VDDC - Codec Engine, AVC Decoder) SetVipClockFrequency, SetVeneziaClockFrequency 4: DD4 (VDDG - GPU core) SetGpuClockFrequencyInternal, SetGpuXbarClockFrequency, SetCompatClockFrequency vid: 0x22 (0.34V) 0x8A (1.38V) - (something got from ScePervasiveForDriver) */ #define SCE_SYSCON_VOLTAGE_DD1 (1) #define SCE_SYSCON_VOLTAGE_DD2 (2) #define SCE_SYSCON_VOLTAGE_DD3 (3) #define SCE_SYSCON_VOLTAGE_DD4 (4) int sceSysconCtrlVoltageForDriver(SceUInt32 type, SceUInt32 vid);
sceSysconSetPowerModeForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x8A95D35C |
Temp name was sceSysconResetDeviceForDriver.
It issues SMC 0x11A.
The mode
argument is usually set to 0x2
or sometimes 0x8002
(which seems to correspond to some request by the UDC and BT drivers).
The type
argument determines what to do.
Real definition names are like: "SCE_SYSCON_POWERMODE_MODE_STANDBY".
Type | Description | Syscon command arguments {cmd_no_low, cmd_no_hi, args_size, args}
|
---|---|---|
0 | Power off | {0xC0, 0, 5, type, (~mode) & 0xFF, (~mode >> 8) & 0xFF, (mode >> 16) & 0xFF}
|
1 | Suspend (low-power state) | {0xC0, 0, 5, type, (~mode) & 0xFF, (~mode >> 8) & 0xFF, (mode >> 16) & 0xFF}
|
2 | Reset (cold reset) | {0x01, 8, 1, 0}
|
3 | Reset to external boot mode | {0xC1, 0, 2, 0}
|
4 | ?Reset to update mode? | {0xC1, 0, 2, 1}
|
5 | Hibernate | {0xC2, 0, 2, 0x5A}
|
16 | ?Resume? | {0xC0, 0, 5, type, (~mode) & 0xFF, (~mode >> 8) & 0xFF, (mode >> 16) & 0xFF}
|
17 | Resume (soft reset: suspend and immediately resume) | {0xC0, 0, 5, type, (~mode) & 0xFF, (~mode >> 8) & 0xFF, (mode >> 16) & 0xFF}
|
int sceSysconSetPowerModeForDriver(int type, int mode);
sceSysconEnableHibernateIOForDriver
Version | NID |
---|---|
0.931.010-0.940 | not present |
0.990.000-3.740.011 | 0x4946538A |
int sceSysconEnableHibernateIOForDriver(int maybe_enable);
sceSysconWaitReadyForDriver
Version | NID |
---|---|
0.931.010-0.940 | not present |
0.996.090-3.740.011 | 0x55DF1C9B |
Temp name was sceSysconWaitInitializedForDriver.
int sceSysconWaitReadyForDriver(void);
sceSysconCmdSyncForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x6E517D22 |
int sceSysconCmdSyncForDriver(SceSysconPacket *packet, int noWait);
sceSysconCmdExecForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x9ADDCA4A |
int sceSysconCmdExecForDriver(SceSysconPacket *packet, unsigned int flags);
sceSysconCmdExecAsyncForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0xC2224E82 |
int sceSysconCmdExecAsyncForDriver(SceSysconPacket *packet, u32 flags, int (*callback)(SceSysconPacket *, void *), void *argp);
sceSysconCtrlSdPowerForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0xBE1ADE4F |
If Syscon version is strictly lower than 0x40000, it does nothing and returns 0. Calls Syscon command 0x888.
Enables/disables GameCard reader.
Used in SceSdstor.
// param: 1 = enable SD (GameCard reader) power, 0 = disable SD (GameCard reader) power int sceSysconCtrlSdPowerForDriver(SceUInt16 param);
sceSysconCtrlWirelessPowerForDriver
Version | NID |
---|---|
0.931.010-0.995.000 | 0x4FBDA504 |
0.996.090-3.740.011 | not present |
If Syscon version is strictly lower than 0x40000, it does nothing and returns 0. Calls Syscon command 0x88A.
Replaced by function #sceSysconCtrlWirelessPower2ForDriver.
int sceSysconCtrlWirelessPowerForDriver(SceUInt16 param);
sceSysconCtrlWirelessPower2ForDriver
Version | NID |
---|---|
0.931.010-0.940 | not present |
0.996.090-3.740.011 | 0xA2E85DB9 |
Replacement function for #sceSysconCtrlWirelessPowerForDriver. Calls Syscon command 0x88A.
Used in SceWlanBt:
scePowerSetWakeupConditionForDriver(4, 0); uVar2 = 0; sceSysconCtrlDeviceResetForDriver(0x10, 0); sceSysconCtrlWirelessPower2ForDriver(0); sceClockgenWlanBtClkDisableForDriver();
int sceSysconCtrlWirelessPower2ForDriver(SceUInt16 enable);
sceSysconCtrlWirelessPowerDownForDriver
Version | NID |
---|---|
0.931.010-0.995.000 | 0xDF8C6D2D |
0.996.090-3.740.011 | not present |
If motherboard is not "hardware info third byte 0x10" (probably IRS-001), it does nothing and returns 0, probably because missing hardware. Calls Syscon command 0xB1. Wireless power down might be a button to enable/disable Wireless, like on PSP.
int sceSysconCtrlWirelessPowerDownForDriver(SceUInt16 param);
sceSysconGetConfigStorageInfoForDriver
Version | NID |
---|---|
0.995.000-3.740.011 | 0xCE48E8EB |
Get Syscon Config Storage Info using Syscon command 0x1300.
Config Storage Info is part of the Syscon "ConfZZ" header.
typedef struct SceKernelConfigStorageInfo { // size is 8 bytes SceUInt16 version; SceUInt16 unk_2; SceUInt32 unk_4; } SceKernelConfigStorageInfo; int sceSysconGetConfigStorageInfoForDriver(SceKernelConfigStorageInfo *pInfo);
sceSysconLoadConfigstorageScriptForDriver
Version | NID |
---|---|
0.931.010-0.990.000 | not present |
0.995.000-3.740.011 | 0x89C5CFD6 |
Calls Syscon command 0x1385.
The OS uses this function to change between modes: IDU mode, Show Mode, no mode. This works by spoofing or rewriting Hardware Info. This is reboot persistent.
int sceSysconLoadConfigstorageScriptForDriver(int a1, void *pScript, SceSize size);
sceSysconVerifyConfigstorageScriptForDriver
Version | NID |
---|---|
0.931.010-0.990.000 | not present |
0.995.000-3.740.011 | 0xCC6F90A8 |
Calls Syscon command 0x1386.
This function is not used in the OS and anyway it would always return error because it calls a command that is not implemented in Syscon FW.
int sceSysconVerifyConfigstorageScriptForDriver(int a1, void *pScript, SceSize size);
SceSysconForDriver_FD65FFCB
Version | NID |
---|---|
3.600.011-3.740.011 | 0xFD65FFCB |
Calls Syscon command 0x1392.
int SceSysconForDriver_FD65FFCB(SceUInt8 offset, SceUInt16 a2);
sceSysconBeginConfigstorageTransactionForDriver
Version | NID |
---|---|
0.931.010 | not present |
0.990.000-3.740.011 | 0xA4968B8C |
int sceSysconBeginConfigstorageTransactionForDriver(void);
sceSysconCommitConfigstorageTransactionForDriver
Version | NID |
---|---|
0.931.010 | not present |
0.990.000-3.740.011 | 0x7B9B3617 |
int sceSysconCommitConfigstorageTransactionForDriver(void);
sceSysconEndConfigstorageTransactionForDriver
Version | NID |
---|---|
0.931.010 | not present |
0.990.000-3.740.011 | 0xFCC3E8EE |
int sceSysconEndConfigstorageTransactionForDriver(void);
sceSysconSetDebugHandlersForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0xF245CD6F |
/** A set of debug handlers for syscon, that you can set in sceSysconSetDebugHandlersForDriver(). */ typedef struct SceSysconDebugHandlers { /** Structure size (probably, unused). */ s32 size; /** Callback ran right before running a packet, with a pointer to it passed as the first argument. */ void (*start)(SceSysconPacket *packet); /** Callback ran right after finishing running a packet, with a pointer to it passed as the first argument. */ void (*end)(SceSysconPacket *packet); } SceSysconDebugHandlers; int sceSysconSetDebugHandlersForDriver(SceSysconDebugHandlers *debug_handlers);
sceSysconGetBatteryCalibDataForDriver
Version | NID |
---|---|
0.931.010-3.36 | not present |
3.500.011-3.740.011 | 0x9ADC9936 |
int sceSysconGetBatteryCalibDataForDriver(int *piData1, int *piData2, int *piData3, int *piData4);
sceSysconGetTouchpanelDeviceInfoForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0xF492E69E |
typedef struct SceKernelTouchpanelDeviceInfo { // size is 8 bytes uint16_t FrontVendorID; uint16_t FrontFirmwareRev; uint16_t RearVendorID; uint16_t RearFirmwareRev; } SceKernelTouchpanelDeviceInfo; int sceSysconGetTouchpanelDeviceInfoForDriver(SceKernelTouchpanelDeviceInfo *pInfo);
sceSysconGetTouchpanelDeviceInfo2ForDriver
Version | NID |
---|---|
0.931.010-1.50 | not present |
1.690.011-3.740.011 | 0x030D447F |
This is a guessed name.
Returns extended touchpanel info.
// this is a guessed name typedef struct SceKernelTouchpanelInfo { // size is 0xA bytes SceUInt16 vendorID; SceUInt16 firmwareRev; SceUInt16 configRev; SceUInt8 hwVersion; SceUInt8 vendorInfo; SceUInt16 reserved; } SceKernelTouchpanelInfo; // this is a guessed name typedef struct SceKernelTouchpanelDeviceInfo2 { // size is 0x14 bytes SceKernelTouchpanelInfo front; SceKernelTouchpanelInfo rear; } SceKernelTouchpanelDeviceInfo2; int sceSysconGetTouchpanelDeviceInfo2ForDriver(SceKernelTouchpanelDeviceInfo2 *pInfo);
sceSysconMotionGetMeasureDataForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x270B7B0B |
Calls Syscon command 0x400.
sceSysconMotionGetDeviceInfoForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0xD01E64FC |
Returns motion sensor device info.
Calls Syscon command 0x480.
See SceMotionDev#sceMotionDevGetDeviceInfoForDriver for the SceKernelMotionDeviceInfo structure.
int sceSysconMotionGetDeviceInfoForDriver(SceKernelMotionDeviceInfo *pInfo);
SceSysconForDriver_9A7858B6
Version | NID |
---|---|
0.931.010-3.740.011 | 0x9A7858B6 |
Calls Syscon command 0x481. Sends 3 bytes to Syscon.
Probably used to send information to the motion sensor device.
int SceSysconForDriver_9A7858B6(SceBool a1, SceUint16 a2);
sceSysconGetHardwareInfoForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0xCBD6D8BC |
Returns Hardware Info obtained from Syscon command 0x5.
int sceSysconGetHardwareInfoForDriver(void);
sceSysconGetHardwareInfo2ForDriver
Version | NID |
---|---|
0.931.010-2.060.011 | not present |
2.100.081-3.740.011 | 0x965C68C3 |
Returns Hardware Info 2 obtained from Syscon command 0x6.
This function was certainly added for PS Vita Slim or PS TV support because Hardware Info risked being fulfilled if too many hardware revisions were made.
Used in SceAudioIn (maybe to check Conexant IC), SceCodec (maybe to check Conexant IC), and _vshSysconGetHardwareInfo2.
typedef struct SceKernelHardwareInfo2 { SceUInt8 flags[0x10]; } SceKernelHardwareInfo2; int sceSysconGetHardwareInfo2ForDriver(SceKernelHardwareInfo2 *pInfo);
sceSysconGetErnieVersionForDriver
Version | NID |
---|---|
0.931-3.740.011 | 0xFF86F4C5 |
This is a guessed name. Temp name was sceSysconGetBaryonVersionForDriver.
int sceSysconGetErnieVersionForDriver(void);
SceSysconForDriver_EBE3262C
Version | NID |
---|---|
0.931.010-0.940 | not present |
0.996.090-3.740.011 | 0xEBE3262C |
In SceSblPostSsMgr, used just after #sceSysconGetErnieVersionForDriver.
Returns 8 bits of some Syscon Mode information. Bit 6 (from right) is Syscon DownLoader Mode flag. Bit 3 (from right) is Power Online flag.
SceUInt8 SceSysconForDriver_EBE3262C(void);
sceSysconIsDownLoaderModeForDriver
Version | NID |
---|---|
0.931.010 | not present |
0.990.000-3.740.011 | 0x9ADD60D2 |
int sceSysconIsDownLoaderModeForDriver(void);
sceSysconIsDealDownLoaderModeForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0xB7BCC638 |
int sceSysconIsDealDownLoaderModeForDriver(void);
sceSysconNopForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x0D0B6D25 |
int sceSysconNopForDriver(void);
sceSysconIsPowerOnlineForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x9DA2A5AB |
Returns true iff Syscon information bit 3 (from right) is set. See also #SceSysconForDriver_EBE3262C.
Used in many ScePower functions for example before setting display brightness (to save battery).
SceBool sceSysconIsPowerOnlineForDriver(void);
sceSysconGetErnieDLVersionForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0xD2F456DC |
Calls Syscon command 0x1100.
void sceSysconGetErnieDLVersionForDriver(SceUInt32 *pVersion);
sceSysconGetBatteryVersionForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x68E0031E |
Battery IC codename: if HWinfo > 7 "Abby" else unknown codename, maybe just "Bic".
int sceSysconGetBatteryVersionForDriver(SceUInt16 *HWinfo, SceUInt16 *FWinfo, SceUInt16 *DFinfo);
sceSysconReadCookieStatusForDriver
Version | NID |
---|---|
0.931.010-1.81 | not present |
2.000.081-3.740.011 | 0xDFB024C4 |
This is a guessed name.
Temp name was sceSysconAbbySyncForDriver.
int sceSysconReadCookieStatusForDriver(SceUInt32 *puiStatus);
sceSysconGetManufacturesStatusForDriver
Version | NID |
---|---|
0.931.010-1.692.000 | not present |
1.800.071-3.740.011 | 0x3E09A1F4 |
In theory, this function should only be called when Product Mode is already set.
int sceSysconGetManufacturesStatusForDriver(int *piStatus);
sceSysconReadScratchPadForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x299B1CE7 |
Temp name was sceSysconReadCommandForDriver, sceSysconVsReadDataForDriver.
Calls Syscon command 0x90.
Used in SceRtc.
See also Syscon Scratchpad structure.
// size: On FW 3.60, must be between 0 and 0x18. On FW 0.931, must be 2, 4 or 8. // offset: Must be between 0 and 0xFF. // offset + size must not exceed 0x100 int sceSysconReadScratchPadForDriver(SceUInt32 offset, void *buffer, SceSize size);
sceSysconWriteScratchPadForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0xE26488B9 |
Temp name was sceSysconSendCommandForDriver, sceSysconVsWriteDataForDriver.
Calls Syscon command 0x91.
See also Syscon Scratchpad structure.
// size: On FW 3.60, must be between 0 and 0x18. On FW 0.931, must be 2, 4 or 8. // offset: Must be between 0 and 0xFF. // offset + size must not exceed 0x100 int sceSysconWriteScratchPadForDriver(SceUInt32 offset, void *buffer, SceSize size);
sceSysconNvsSetRunModeForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x81A6060D |
Used in sceSblNvsReadDataForKernel and sceSblNvsWriteDataForKernel.
// mode: 0 before NVS read/write int sceSysconNvsSetRunModeForDriver(int mode);
sceSysconNvsSetUnkModeForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x2EC6D55D |
// mode: unk int sceSysconNvsSetUnkModeForDriver(int mode);
sceSysconNvsReadDataForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0xACAFA2B8 |
Used in sceSblNvsReadDataForKernel and sceSblSsGetNvsDataForDriver.
int sceSysconNvsReadDataForDriver(SceUInt32 offset, void *buffer, SceSize size);
sceSysconNvsWriteDataForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x10C9657A |
Used in sceSblNvsWriteDataForKernel and sceSblSsSetNvsDataForDriver.
int sceSysconNvsWriteDataForDriver(SceUInt32 offset, void *buffer, SceSize size);
sceSysconGetMultiCnInfoForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x1503D6A0 |
Returns data obtained by Syscon command 0x103.
Returns 0x4ff00 when nothing is connected.
Returns 0x40080 when pin 12 is pulled to GND while pin 11 pulled to GND. MultiCn host mode enabled
Returns 0x40180 when pin 12 is pulled to GND while pin 11 pulled to GND via 25K resistor. MultiCn host mode disabled
Returns 0x40280 when pin 12 is pulled to GND while pin 11 pulled to GND via 50K resistor. MultiCn host mode disabled
Returns 0x40380 when pin 12 is pulled to GND while pin 11 pulled to GND via 75K resistor. MultiCn host mode disabled. Sets "dock" flag in hpremote
Returns 0x40480 when pin 12 is pulled to GND while pin 11 pulled to GND via 200K resistor. MultiCn host mode enabled
Returns 0x40580 when pin 12 is pulled to GND while pin 11 pulled to GND via 325K resistor. MultiCn host mode disabled
Returns 0x40680 when pin 12 is pulled to GND while pin 11 is floating. MultiCn host mode disabled
Returns 0x40000 on PSTV
Bits 8 and 9 indicate that an audio-out dock is connected.
Bits 8, 9, 11, 12, 13, 14 and 15 indicate that UDC pins are connected.
Used in SceHpremote, SceUsbServ.
int sceSysconGetMultiCnInfoForDriver(SceUInt32 *pInfo);
sceSysconSetMultiCnPortForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x8AAB6308 |
Used in SceSblPostSsMgr.
// port: 0: for Jig mode, 1 for UART0 logging mode, 0x10000: for normal mode int sceSysconSetMultiCnPortForDriver(int port);
sceSysconCtrlLedPwmBlinkForDriver
Version | NID |
---|---|
0.996.090-3.740.011 | 0x6F586D1A |
Used in ScePower.
#define DEVICE_UNK 0x40 // maybe PS button or CP power LED or maybe color (blue) // unk: SceLedConfig.unk_4 int sceSysconCtrlLedPwmBlinkForDriver(int device, SceUInt32 unk);
sceSysconSetChargeLedCtrlForDriver
Version | NID |
---|---|
0.931.010 | not present |
1.000.071-3.740.011 | 0x9CA6EB70 |
This is a guessed name.
On motherboards IRT-001 and older, it does nothing and returns 0, probably because missing hardware that could be a LED, else it sends 2 bytes using Syscon command 0x89E.
Used in ScePower#ScePowerForDriver_38415146. Related to LED.
int sceSysconSetChargeLedCtrlForDriver(SceBool state);
sceSysconCtrlAccPowerForDriver
Version | NID |
---|---|
0.931-3.60 | 0x8D1D97E8 |
int sceSysconCtrlAccPowerForDriver(SceBool enable);
sceSysconCtrlUsbStatusForDriver
Version | NID |
---|---|
0.931-3.60 | 0x59DC5938 |
Sends 3 bytes to Syscon command 0x89A.
Related to SceUdcd and ScePower.
int sceSysconCtrlUsbStatusForDriver(SceUInt32 value);
sceSysconCtrlRMRPowerForDriver
Version | NID |
---|---|
0.931.010 | not present |
0.990.000-3.740.011 | 0x710A7CF0 |
Temp name was sceSysconCtrlMsPowerForDriver.
int sceSysconCtrlRMRPowerForDriver(int enable_power);
sceSysconCtrlMultiCnPowerForDriver
Version | NID |
---|---|
0.931.010-0.940 | not present |
0.990.000-3.740.011 | 0xB1F88B11 |
int sceSysconCtrlMultiCnPowerForDriver(SceBool enable);
SceSysconForDriver_3274A925
Version | NID |
---|---|
0.931.010-1.692.000 | not present |
1.800.071-3.740.011 | 0x3274A925 |
Temp name was sceSysconCtrlDolceUsbPowerForDriver.
This function enables/disables a USB bus related to either PS Vita IRS-1001 Wlan/Bt module USB or PS Vita 3G modem USB. This also affects PS TV USB host and maybe also PS TV ethernet.
Used in SceUsbEtherSmsc, SceUsbServ.
This function was maybe added to support IRS-1001 motherboard.
int SceSysconForDriver_3274A925(SceBool enable);
sceSysconJigOpenPortForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x44A173F5 |
int sceSysconJigOpenPortForDriver(void);
sceSysconJigClosePortForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x483FAE05 |
int sceSysconJigClosePortForDriver(void);
sceSysconJigSetConfigForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0xD24BF916 |
int sceSysconJigSetConfigForDriver(SceUInt8 a1, SceUInt8 a2);
sceSysconOutputClockForDriver
Version | NID |
---|---|
0.990.000-3.740.011 | 0x058941D7 |
Sends 2 bytes to Syscon using Syscon command 0xB0.
sceSysconCtrlHostOutputViaDongleForDriver
Version | NID |
---|---|
0.931.010 | not present |
0.990.000-3.740.011 | 0xDECCB2B4 |
Enables / disables Kermit UART0 output (logs) via Dongle (Jig).
Sends 2 bytes to Syscon using Syscon command 0xB2.
int sceSysconCtrlHostOutputViaDongleForDriver(SceBool enable);
SceSysconForDriver_33B5CDB3
Version | NID |
---|---|
0.996.090-3.740.011 | 0x33B5CDB3 |
Reads from Syscon using Syscon command 0xB3.
This function was probably added to support IRS-002 motherboard.
SceSysconForDriver_F6D4DDC4
Version | NID |
---|---|
0.931.010-1.692.000 | not present |
1.800.071-3.740.011 | 0xF6D4DDC4 |
Guessed name is sceSysconGetWlanGpioStateForDriver
Reads from Syscon using Syscon command 0xB4. It is probably the "get" equivalent of #SceSysconForDriver_00AE3AEB.
This function was added to support IRS-1001 motherboard.
SceSysconForDriver_00AE3AEB
Version | NID |
---|---|
0.931.010-1.692.000 | not present |
1.800.071-3.740.011 | 0x00AE3AEB |
Guessed name is sceSysconSetWlanGpioStateForDriver
Sends 2 bytes to Syscon using Syscon command 0xB5. It is probably the "set" equivalent of #SceSysconForDriver_F6D4DDC4.
This function was added to support IRS-1001 motherboard.
SceSysconForDriver_0D300158
Version | NID |
---|---|
3.100.081-3.740.011 | 0x0D300158 |
It is probably a "sceSysconCtrl...ForDriver" function.
Sends 2 bytes to Syscon using Syscon command 0xB6. It is probably the "set" equivalent of #SceSysconForDriver_91EF4EC3.
This function was added to support DOL-1002 motherboard.
SceSysconForDriver_91EF4EC3
Version | NID |
---|---|
3.100.081-3.740.011 | 0x91EF4EC3 |
Reads from Syscon using Syscon command 0xB7. It is probably the "get" equivalent of #SceSysconForDriver_0D300158.
This function was added to support DOL-1002 motherboard.
receive_pm_sm_jig_msg_from_syscon
Version | NID |
---|---|
0.931.010-3.740.011 | 0x3C80B529 |
Calls Syscon command 0x2083.
int receive_pm_sm_jig_msg_from_syscon(SceUInt8 offset, SceUInt8 size, void *pMsg);
send_pm_sm_jig_short_msg_to_syscon
Version | NID |
---|---|
3.600.011-3.740.011 | 0xCE346793 |
Calls Syscon command 0x2084.
Sends a message of maximum 0x18 bytes.
int send_pm_sm_jig_short_msg_to_syscon(SceUInt8 size, void *pMsg);
send_pm_sm_jig_msg_to_syscon
Version | NID |
---|---|
0.931.010-3.740.011 | 0x7BFBA09E |
Calls Syscon command 0x2085.
Sends a message by chunks of 0x18 bytes.
int send_pm_sm_jig_msg_to_syscon(SceUInt8 a1, SceUInt8 offset, SceUInt8 size, void *pMsg);
send_pm_sm_stop_to_syscon
Version | NID |
---|---|
0.931.010-3.740.011 | 0x933D813F |
Calls Syscon command 0x2085.
Used just after send_pm_sm_jig_msg_to_syscon or when it fails before.
int send_pm_sm_stop_to_syscon(SceUInt8 a1, SceUInt8 offset, SceUInt8 size);
sceSysconIduModeSetForDriver
Version | NID |
---|---|
0.931.010-0.996.090 | not present |
1.030.071-3.740.011 | 0x956D07CB |
int sceSysconIduModeSetForDriver(void);
sceSysconIduModeClearForDriver
Version | NID |
---|---|
0.931.010-0.996.090 | not present |
1.030.071-3.740.011 | 0x34574496 |
int sceSysconIduModeClearForDriver(void);
sceSysconShowModeSetForDriver
Version | NID |
---|---|
0.931.010-1.50 | not present |
1.600.061-3.740.011 | 0x6D65B70F |
int sceSysconShowModeSetForDriver(void);
sceSysconShowModeClearForDriver
Version | NID |
---|---|
0.931.010-1.50 | not present |
1.600.061-3.740.011 | 0x8D7724C0 |
int sceSysconShowModeClearForDriver(void);
sceSysconSetWlanCallbackForDriver
Version | NID |
---|---|
0.931.010-0.996.090 | 0x4DEB8712 |
1.03-3.740.011 | not present |
This is a guessed name.
Registers a Wlan-related callback.
index 5 on FWs 0.931.010-0.940.
SceSysconForDriver_18A6F4D9
Version | NID |
---|---|
0.990.000-3.740.011 | 0x18A6F4D9 |
A guessed name is sceSysconSet...CallbackForDriver.
Registers a callback.
index 0 on FW 3.600.011.
No use case seen.
Related to #SceSysconForDriver_C0F215B7.
int SceSysconForDriver_18A6F4D9(void *cb_0, void *cb_1);
SceSysconForDriver_DE613081
Version | NID |
---|---|
0.990.000-3.740.011 | 0xDE613081 |
A guessed name is sceSysconSetHeadphoneCallbackForDriver.
Registers an headphone remote related callback.
index 1 on FW 3.600.011.
Used in SceHpremote.
Related to #SceSysconForDriver_C3504ADE.
int SceSysconForDriver_DE613081(void *cb_0, void *cb_1);
SceSysconForDriver_229A07C2
Version | NID |
---|---|
0.990.000-3.740.011 | 0x229A07C2 |
A guessed name is sceSysconSet...CallbackForDriver.
Registers a callback.
index 2 on FW 3.600.011.
No use case seen.
Related to #SceSysconForDriver_B832B72C.
int SceSysconForDriver_229A07C2(void *cb_0, void *cb_1);
SceSysconForDriver_8351526D
Version | NID |
---|---|
0.990.000-3.740.011 | 0x8351526D |
A guessed name is sceSysconSetAlarmTimerCallbackForDriver.
Registers a callback.
index 3 on FW 3.600.011.
Used in SceRtc.
Related to #SceSysconForDriver_86BAAF7D.
int SceSysconForDriver_8351526D(void *cb_0, void *cb_1);
SceSysconForDriver_9F8340FF
Version | NID |
---|---|
0.990.000-3.740.011 | 0x9F8340FF |
A guessed name is sceSysconSetResumeRequestCallbackForDriver.
Registers the "is resume requested" callback.
Used in ScePower to register a callback that sets the ScePower global variable g_resume_requested to SCE_TRUE.
index 4 on FW 3.600.011.
Related to #SceSysconForDriver_A57B5433.
int SceSysconForDriver_9F8340FF(void *cb_0, void *cb_1);
SceSysconForDriver_35E1689F
Version | NID |
---|---|
0.990.000-3.740.011 | 0x35E1689F |
A guessed name is sceSysconSet...CallbackForDriver.
Registers a callback, maybe dock callback, but not remote callback.
Used in SceHpremote.
index 5 on FW 3.600.011.
Related to #SceSysconForDriver_ACC7F71E.
int SceSysconForDriver_35E1689F(void *cb_0, void *cb_1);
SceSysconForDriver_474A9EA7
Version | NID |
---|---|
0.931.010-3.740.011 | 0x474A9EA7 |
A guessed name is sceSysconSet...CallbackForDriver.
Registers a callback.
index 0xC on FWs 0.931.010-0.940. index 6 on FW 3.600.011.
Related to #SceSysconForDriver_769F9AC4.
No use case seen.
int SceSysconForDriver_474A9EA7(void *cb_0, void *cb_1);
SceSysconForDriver_4E88B4D9
Version | NID |
---|---|
0.990.000-3.740.011 | 0x4E88B4D9 |
A guessed name is sceSysconSet...CallbackForDriver.
Registers a callback.
index 8 on FW 3.600.011.
Related to #SceSysconForDriver_4BC63A40.
Used in SceBbmc
int SceSysconForDriver_4E88B4D9(void *cb_0, void *cb_1);
SceSysconForDriver_376CCCB8
Version | NID |
---|---|
0.990.000-3.740.011 | 0x376CCCB8 |
A guessed name is sceSysconSet...CallbackForDriver.
Registers a callback.
index 9 on FW 3.600.011.
Related to #SceSysconForDriver_99A254A9.
No use case seen.
int SceSysconForDriver_376CCCB8(void *cb_0, void *cb_1);
SceSysconForDriver_3BAAC8A9
Version | NID |
---|---|
0.931.010-0.995.000 | not present |
0.996.090-3.740.011 | 0x3BAAC8A9 |
A guessed name is sceSysconSet...CallbackForDriver.
Registers a callback.
index 0xA on FW 3.600.011.
Related to #SceSysconForDriver_9A4F4B7C.
No use case seen.
int SceSysconForDriver_3BAAC8A9(void *cb_0, void *cb_1);
sceSysconSetAccCallbackForDriver
Version | NID |
---|---|
0.931.010-0.940 | not present |
0.995.000-3.740.011 | 0x4A42712F |
This is a guessed name.
Registers 2 callbacks (maybe constructor and destructor or callback and args) for accessory port.
index 0xF on FW 3.600.011.
Used in SceUsbServ.
int sceSysconSetAccCallbackForDriver(void *cb_0, void *cb_1);
sceSysconSetLowBatteryCallbackForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x3F0DB7C0 |
Registers the low-battery callback.
index 6 on FWs 0.931-0.940. index 0x10 on FW 3.600.011.
int sceSysconSetLowBatteryCallbackForDriver(void *cb_0, void *cb_1);
SceSysconForDriver_80D6E061
Version | NID |
---|---|
1.000.071-3.740.011 | 0x80D6E061 |
A guessed name is sceSysconSetBatteryOnlineCallbackForDriver.
Registers a callback. Maybe related to Battery online status.
index 0x11 on FW 3.600.011.
int SceSysconForDriver_80D6E061(void *cb_0, void *cb_1);
SceSysconForDriver_7682FE69
Version | NID |
---|---|
1.000.071-3.740.011 | 0x7682FE69 |
A guessed name is sceSysconSet...Battery...CallbackForDriver.
Registers a battery-related callback.
No use case seen.
index 0x12 on FW 3.600.011.
Related to #SceSysconForDriver_4A184B7C.
int SceSysconForDriver_7682FE69(void *cb_0, void *cb_1);
SceSysconForDriver_E0D52DF0
Version | NID |
---|---|
0.990.000-3.740.011 | 0xE0D52DF0 |
A guessed name is sceSysconSet...Battery...CallbackForDriver.
Registers a battery-related callback.
No use case seen.
index 0x13 on FW 3.600.011.
Related to #SceSysconForDriver_ACEE1C70.
int SceSysconForDriver_E0D52DF0(void *cb_0, void *cb_1);
SceSysconForDriver_2D471528
Version | NID |
---|---|
0.931.010-0.940 | not present |
1.000.071-3.740.011 | 0x2D471528 |
A guessed name is sceSysconSet...Battery...CallbackForDriver.
Registers a callback very similar to the low battery callback.
Used in ScePower.
index 0x14 on FW 3.600.011.
Related to #SceSysconForDriver_03C50DC3.
int SceSysconForDriver_2D471528(void *cb_0, void *cb_1);
SceSysconForDriver_129EA022
Version | NID |
---|---|
0.931.010-2.060.011 | not present |
2.100.081-3.740.011 | 0x129EA022 |
A guessed name is sceSysconSet...CallbackForDriver.
Used in ScePower.
index 0x15 on FW 3.600.011.
Related to #SceSysconForDriver_BFDA5590.
int SceSysconForDriver_129EA022(void *cb_0, void *cb_1);
SceSysconForDriver_85E5DEBF
Version | NID |
---|---|
0.931.010-0.996.090 | not present |
1.000.071-3.740.011 | 0x85E5DEBF |
A guessed name is sceSysconSet...CallbackForDriver.
index 0x16 on FW 3.600.011.
Related to #SceSysconForDriver_63B14156.
Used by SceBbmc
int SceSysconForDriver_85E5DEBF(void *cb_0, void *cb_1);
sceSysconSetThermalAlertCallbackForDriver
Version | NID |
---|---|
0.931.010-0.996.090 | not present |
1.000.071-3.740.011 | 0x773B8126 |
Registers the thermal alert callback.
index 0x17 on FW 3.600.011.
Related to #SceSysconForDriver_50CAE242.
int sceSysconSetThermalAlertCallbackForDriver(void *cb_0, void *cb_1);
SceSysconForDriver_2E4BA4B8
Version | NID |
---|---|
0.990.000-3.740.011 | 0x2E4BA4B8 |
A guessed name is sceSysconSet...CallbackForDriver.
Registers a callback.
index 0x19 on FW 3.600.011.
Related to #SceSysconForDriver_29CF4335.
No use case seen. Maybe used in internal modules for Jig.
int SceSysconForDriver_2E4BA4B8(void *cb_0, void *cb_1);
SceSysconForDriver_C442D0BE
Version | NID |
---|---|
0.931.010-1.692.000 | not present |
1.800.071-3.740.011 | 0xC442D0BE |
A guessed name is sceSysconSet...CallbackForDriver.
Registers a callback.
index 0x1A on FW 3.600.011.
Related to #SceSysconForDriver_9F4042F8.
No use case seen.
int SceSysconForDriver_C442D0BE(void *cb_0, void *cb_1);
SceSysconForDriver_61AE3970
Version | NID |
---|---|
0.931.010-3.01 | not present |
3.100.081-3.740.011 | 0x61AE3970 |
A guessed name is sceSysconSet...CallbackForDriver.
Registers a callback.
index 0x1B on FW 3.600.011.
Related to #SceSysconForDriver_C50568E9.
No use case seen.
int SceSysconForDriver_61AE3970(void *cb_0, void *cb_1);
sceSysconSetLowBatteryInhibitUpdateRebootCallbackForDriver
Version | NID |
---|---|
0.931.010-3.18 | not present |
3.300.041-3.740.011 | 0x94678881 |
This is a guessed name.
Registers the low-battery-inhibit-update-reboot callback.
index 0x1C on FW 3.600.011.
No use case seen.
int sceSysconSetLowBatteryInhibitUpdateRebootCallbackForDriver(void *cb_0, void *cb_1);
sceSysconSetLowBatteryInhibitUpdateDownloadCallbackForDriver
Version | NID |
---|---|
0.931.010-3.18 | not present |
3.300.041-3.740.011 | 0x7AA00C01 |
This is a guessed name.
Registers the low-battery-inhibit-update-download callback.
index 0x1D on FW 3.600.011.
No use case seen.
int sceSysconSetLowBatteryInhibitUpdateDownloadCallbackForDriver(void *cb_0, void *cb_1);
sceSysconSetStandbyButtonCallbackForDriver
Version | NID |
---|---|
0.990.000-3.740.011 | 0x423D0C58 |
Registers a callback.
index 0x20 on FW 3.600.011.
No use case seen.
int sceSysconSetStandbyButtonCallbackForDriver(void *cb_0, void *cb_1);
SceSysconForDriver_154676F1
Version | NID |
---|---|
0.990.000-3.740.011 | 0x154676F1 |
A guessed name is sceSysconSet...CallbackForDriver.
Registers a callback.
index 0x21 on FW 3.600.011.
No use case seen.
int SceSysconForDriver_154676F1(void *cb_0, void *cb_1);
SceSysconForDriver_63352A39
Version | NID |
---|---|
0.990.000-3.740.011 | 0x63352A39 |
A guessed name is sceSysconSetMicrophoneCallbackForDriver.
Registers a callback.
index 0x22 on FW 3.600.011.
Used in SceHpremote.
int SceSysconForDriver_63352A39(void *cb_0, void *cb_1);
SceSysconForDriver_14730196
Version | NID |
---|---|
0.990.000-3.740.011 | 0x14730196 |
A guessed name is sceSysconSet...CallbackForDriver.
Registers a callback.
index 0x23 on FW 3.600.011.
No use case seen.
int SceSysconForDriver_14730196(void *cb_0, void *cb_1);
sceSysconSetAlarmCallbackForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x32418370 |
Registers the alarm callback.
index 0 on FWs 0.931.010-0.940. index 0x24 on FW 3.600.011.
int sceSysconSetAlarmCallbackForDriver(void *cb_0, void *cb_1);
sceSysconSetMultiCnOtgCallbackForDriver
Version | NID |
---|---|
0.931.010-0.940 | not present |
0.996.090-3.740.011 | 0xA26586B2 |
This is a guessed name.
Registers 2 callbacks (maybe constructor and destructor or callback and args) for multi-connector OTG on PS Vita Fat.
index 0x25 on FW 3.600.011.
Used in SceUsbServ.
int sceSysconSetMultiCnOtgCallbackForDriver(void *cb_0, void *cb_1);
sceSysconSetMiniUsbOtgCallbackForDriver
Version | NID |
---|---|
0.931.010-2.060.011 | not present |
2.100.081-3.740.011 | 0x67A4CB9F |
This is a guessed name.
Registers 2 callbacks (maybe constructor and destructor or callback and args) for mini-USB OTG on PS Vita Slim.
index 0x26 on FW 3.600.011.
Used in SceUsbServ.
int sceSysconSetMiniUsbOtgCallbackForDriver(void *cb_0, void *cb_1);
sceSysconUpdaterSetSegmentForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x9B00BC7F |
Used in SceSblUpdateMgr.
// segment_no: a 8bit value int sceSysconUpdaterSetSegmentForDriver(SceUInt32 segment_no);
sceSysconUpdaterSendProgramDataForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x356B9696 |
This is a guessed name. Temp name was sceSysconUpdaterLoadSegmentForDriver.
Buffer overflow if (size > 0x80 - 6).
Used in SceSblUpdateMgr.
// pSegment: the encrypted Syscon firmware segment to send // offset // size: should be between 0 and 0x80 but usual chunks are 0x10 or 0x40, last chunk being less (no padding) int sceSysconUpdaterSendProgramDataForDriver(void *pSegment, SceUInt32 offset, SceSize size);
sceSysconUpdaterSendProgramData2ForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x734544E4 |
This is a guessed name. Temp name was sceSysconUpdaterLoadSegment2ForDriver.
Same functionality as #sceSysconUpdaterLoadSegmentForDriver except that the segment is copied to an intermediate 0x7A-byte zeroed buffer. This implementation seems bad as the Syscon packet first 6 bytes are written twice.
Buffer overflow if (size > 0x80 - 6).
Used in SceSblUpdateMgr.
// pSegment: the encrypted Syscon firmware segment to send // offset // size: should be between 0 and 0x80 but usual chunks are 0x10 or 0x40, last chunk being less (no padding) int sceSysconUpdaterSendProgramData2ForDriver(void *pSegment, SceUInt32 offset, SceSize size);
sceSysconUpdaterCalcChecksumForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0xD27C3D80 |
Computes checksum to use with #sceSysconUpdaterExecProgrammingForDriver. It does not call any Syscon command.
Used in SceSblUpdateMgr.
int sceSysconUpdaterCalcChecksumForDriver(void *data, SceSize size, int *puiChecksum);
sceSysconUpdaterExecProgrammingForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x69AD76E4 |
Executes programming, i.e writes segments to Syscon Flash memory.
Used in SceSblUpdateMgr.
// checksum: value got from sceSysconUpdaterCalcChecksumForDriver int sceSysconUpdaterExecProgrammingForDriver(int checksum);
sceSysconUpdaterSetRunModeForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0xB487C2FB |
Used in SceSblUpdateMgr.
int sceSysconUpdaterSetRunModeForDriver(int mode);
sceSysconUpdaterExecFinalizeForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0xC7747A63 |
Finalize Syscon update by sending checksum from ARM to Syscon.
Calls Syscon command 0x1184.
Used in SceSblUpdateMgr.
// digest: sha1 of decrypted concatenated segments, comes from Syscon Update package packet type 0x20 // size: usually 0x14 (sha1 size) int sceSysconUpdaterExecFinalizeForDriver(void *digest, SceSize size);
sceSysconUpdaterCheckSignatureForDriver
Version | NID |
---|---|
0.931.010-0.940 | not present |
0.996.090-3.740.011 | 0xCBA836FF |
Sends a 0x18-byte buffer to Syscon command 0x1185. This Syscon command 0x1185 seems to be unimplemented in recent Syscon firmwares: it does not do anything. It can be explained by the fact that the signature packet is not embedded in Syscon Update SPKGs.
Used in SceSblUpdateMgr.
// size: must be 0x18 int sceSysconUpdaterCheckSignatureForDriver(void *pSig, SceSize size);
SceSysconForDriver_4D03754A
Version | NID |
---|---|
0.931.010-0.990 | not present |
0.996.090-3.740.011 | 0x4D03754A |
Temp name was syscon_update_command_0xD00002.
Calls Syscon command 0xD0.
Used in SceSblUpdateMgr with update_service_sm function 0xD0002.
// in_buf: buffer that embeds input data, usually 0xD0002 command request + 8 // in_size: usually 0x28 // out_buf: buffer to receive result, usually 0xD0002 command request + 0x30 // out_size: usually 0x28 int SceSysconForDriver_4D03754A(void *in_buf, SceSize in_size, void *out_buf, SceSize out_size);
SceSysconForDriver_C14BD637
Version | NID |
---|---|
0.931.010-0.990 | not present |
1.000.041-3.740.011 | 0xC14BD637 |
Calls Syscon command 0xD1.
Seems unused.
int SceSysconForDriver_C14BD637(void);
sceSysconSnvsReadDataForDriver
Version | NID |
---|---|
0.931.010-0.990 | not present |
0.996.090-3.740.011 | 0xEBDF88B9 |
This is a guessed name.
Calls Syscon command 0xD2.
Used in SceSblPostSsMgr to read data from SNVS with pm_sm command 8. Also used in SceSblUpdateMgr with update_service_sm commands 0xB0002 and 0xC0002.
// in_size: 0x10 // out_size: 0x30 int sceSysconSnvsReadDataForDriver(void *in_buf, SceSize in_size, void *out_buf, SceSize out_size);
sceSysconSnvsWriteDataForDriver
Version | NID |
---|---|
0.931.010-0.990 | not present |
0.996.090-3.740.011 | 0x63683B9B |
This is a guessed name.
Calls Syscon command 0xD3.
Used in SceSblPostSsMgr to write data to SNVS with pm_sm command 8. Also used in SceSblUpdateMgr with update_service_sm functions 0xB0002 and 0xC0002.
// in_size: 0x30 // out_size: 0x10 int sceSysconSnvsWriteDataForDriver(void *in_buf, SceSize in_size, void *out_buf, SceSize out_size);
sceSysconSetAffirmativeRertyModeForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x901D6CD4 |
This is an official name. Typo is the name is intentional.
Sets AffirmativeRertyMode flag in kernel memory. During SceSyscon initialization, AffirmativeRertyMode is enabled by default.
AffirmativeRertyMode flag is used by SceSyscon kernel module when executing Syscon commands.
int sceSysconSetAffirmativeRertyModeForDriver(int enable);
sceSysconGetControlsInfoForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x145F59A4 |
This is a guessed name.
See Boot Controls Info.
Calls Syscon command 0x100.
int sceSysconGetControlsInfoForDriver(SceUInt32 *pCtrl);
SceSysconForDriver_76272CB9
Version | NID |
---|---|
0.931.010-1.692.000 | not present |
1.800.071-3.740.011 | 0x76272CB9 |
Calls Syscon command 0x120. Gets a 4-byte value.
int SceSysconForDriver_76272CB9(SceUInt32 *pRes);
sceSysconGetClockForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0xD7BEFF8B |
Gets Syscon power-on time in ticks of 0.5 second. Each second the counter automatically increases by 2.
Calls Syscon command 0x11.
Used in SceRtc to calculate the current time and date.
int sceSysconGetClockForDriver(SceUInt32 *puiTime);
SceSysconForDriver_3168F3AF
Version | NID |
---|---|
0.931.010-3.740.011 | 0x3168F3AF |
Calls Syscon command 0x12.
Gets the tick of an alarm timer. The alarm tick must be set using Syscon command 0x82 via #SceSysconForDriver_51164951.
// FW 0.931.010 int SceSysconForDriver_3168F3AF(SceUInt32 *pTick); // FW 3.600.011-3.740.011 int SceSysconForDriver_3168F3AF(SceUInt32 *pTickLow, SceUInt8 *pTickHi);
SceSysconForDriver_BA09F171
Version | NID |
---|---|
0.931.010-0.940 | not present |
0.990.000-3.740.011 | 0xBA09F171 |
Calls Syscon command 0x13.
It might be related to alarm/timer. Sends 0 byte to Syscon. Gets 2 bytes from Syscon.
int SceSysconForDriver_BA09F171(SceUInt8 *pResult, SceUInt8 *pResult2);
SceSysconForDriver_93075DD1
Version | NID |
---|---|
0.931.010-3.740.011 | 0x93075DD1 |
Calls Syscon command 0x14. Sends 0 byte to Syscon. Gets ?1-4? bytes from Syscon.
int SceSysconForDriver_93075DD1(SceUInt32 *pResult);
sceSysconGetPowerStatusForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x175CE5A1 |
Calls Syscon command 0x883. Gets 8 bytes from Syscon. Reads Elmo registers 0xA0 through 0xA3.
// pStatus: pointer to a buffer of at least 8 bytes int sceSysconGetPowerStatusForDriver(void *pStatus);
sceSysconCtrlDeviceResetForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x40FF3898 |
Sends 2 bytes to Syscon command 0x88F.
// The following defines are guessed names #define SCE_SYSCON_CTRL_DEVICE_RESET_UNK_1 1 #define SCE_SYSCON_CTRL_DEVICE_RESET_MOTION 2 #define SCE_SYSCON_CTRL_DEVICE_RESET_TP_FRONT 4 #define SCE_SYSCON_CTRL_DEVICE_RESET_TP_REAR 8 #define SCE_SYSCON_CTRL_DEVICE_RESET_WLANBT 0x10 #define SCE_SYSCON_CTRL_DEVICE_RESET_SMSC_ETH 0x20 // mode: 0 or 1, probably for the reset type such as reset or shutdown int sceSysconCtrlDeviceResetForDriver(SceUInt8 device, SceBool mode);
SceSysconForDriver_285594F8
Version | NID |
---|---|
0.931.010-3.740.011 | 0x285594F8 |
Calls Syscon command 0x890.
int SceSysconForDriver_285594F8(SceUInt16 value);
sceSysconCtrlLEDForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x04EC7579 |
#define STATE_ON 1 #define STATE_OFF 0 #define DEVICE_UNK 0x40 // maybe PS button or CP power LED or maybe color (blue) int sceSysconCtrlLEDForDriver(SceUInt16 device, SceBool state);
sceSysconCtrlChargeACForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x596B17B7 |
Sends 2 bytes to Syscon command 0x892. Related to Battery. Maybe enables/disables battery charging.
Used in ScePower's module_start.
int sceSysconCtrlChargeACForDriver(SceBool enable);
sceSysconCtrlChargeVBUSForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x2A4B0437 |
Sends 3 bytes to Syscon command 0x893. Related to Battery. Maybe enables/disables battery charging.
Used in ScePower's module_start.
// a1: ex: 0, 1 // a2: ex: 0, 1 // FW 0.931.010 int sceSysconCtrlChargeVBUSForDriver(SceUInt32 a1); // FW 3.600.011-3.740.011 int sceSysconCtrlChargeVBUSForDriver(SceUInt32 a1, SceUInt32 a2);
SceSysconForDriver_5CDDA14D
Version | NID |
---|---|
0.931.010-3.740.011 | 0x5CDDA14D |
A guessed name is sceSysconCtrlHpremoteForDriver.
If Syscon version < 0x80001, it does nothing and returns 0, else it sends 2 bytes to Syscon command 0x899.
Maybe enables/disables Jack power.
Used in SceHpremote.
int SceSysconForDriver_5CDDA14D(SceBool enable);
SceSysconForDriver_A2FE9BF9
Version | NID |
---|---|
0.931.010-3.740.011 | 0xA2FE9BF9 |
Calls Syscon command 0x800.
Gets information related to battery charge status, or USB power connection. See also Ernie#CMD_0x0800_-_SceSysconForDriver_A2FE9BF9.
Used in ScePower's module_start.
int SceSysconForDriver_A2FE9BF9(void *pResult);
sceSysconCtrlLedBlinkType2ForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0xCB41B531 |
This is a guessed name.
Calls Syscon command 0x89F.
sceSysconGetBatteryTempForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x9070F139 |
If Syscon version <= 0x70503, it calls Syscon command 0x8A0, else Syscon command 0x981.
Used in ScePower's module_start.
int sceSysconGetBatteryTempForDriver(int *pResult);
sceSysconGetBatteryRemainCapForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0xC562AF3A |
Temp name was sceSysconGetBatteryRemainCapacityForDriver.
If Syscon version <= 0x70503, it calls Syscon command 0x802, else Syscon command 0x900.
Only used in ScePower.
int sceSysconGetBatteryRemainCapForDriver(SceUInt32 *pResult);
sceSysconGetBatteryVoltForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x03F11220 |
If Syscon version <= 0x70503, it calls Syscon command 0x803, else Syscon command 0x901.
Used in ScePower.
int sceSysconGetBatteryVoltForDriver(SceUInt32 *pResult);
sceSysconGetBatteryLifePercentForDriver
Version | NID |
---|---|
0.931.010-1.06 | not present |
1.500.151-3.740.011 | 0xAD0A8275 |
Used in ScePower.
int sceSysconGetBatteryLifePercentForDriver(SceUInt32 *pResult);
sceSysconGetBatteryFullCapForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x00A65FC1 |
If Syscon version <= 0x70503, it calls Syscon command 0x8A1, else Syscon command 0x982.
Used in ScePower.
int sceSysconGetBatteryFullCapForDriver(int *pResult);
sceSysconGetBatteryElecForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x0826BA07 |
If Syscon version <= 0x70503, it calls Syscon command 0x8A2, else Syscon command 0x983.
Used in ScePower.
int sceSysconGetBatteryElecForDriver(SceUInt16 *pResult);
sceSysconGetBatteryTTEForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0xB841C141 |
Temp name was sceSysconGetBatteryLifeTimeForDriver.
If Syscon version <= 0x70503, it calls Syscon command 0x8A3, else Syscon command 0x984.
Used in ScePower.
int sceSysconGetBatteryTTEForDriver(SceUInt16 *pTTE);
sceSysconGetBatterySOHForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x91D3B7A3 |
If Syscon version <= 0x70503, it calls Syscon command 0x8A4, else Syscon command 0x985.
Used in ScePower.
int sceSysconGetBatterySOHForDriver(void *pSOH);
sceSysconReadBatteryRegForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0xC2FB5565 |
If Syscon version <= 0x70503, it calls Syscon command 0x8A8, else Syscon command 0x986.
int sceSysconReadBatteryRegForDriver(SceUInt16 offset, SceUInt16 *pRes);
sceSysconWriteBatteryRegForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x9B779DB0 |
If Syscon version <= 0x70503, it calls Syscon command 0x8A9, else Syscon command 0x987.
int sceSysconWriteBatteryRegForDriver(SceUInt16 offset, SceUInt16 value);
SceSysconForDriver_A5AB19B1
Version | NID |
---|---|
0.931.010-3.740.011 | 0xA5AB19B1 |
Guessed name is sceSysconBatteryControlCommandForDriver
Writes 2 byte command to Abby control register and returns 2 byte result. Use carefully as there are commands to seal dataflash!
If Syscon version <= 0x70503, it calls Syscon command 0x8AA, else Syscon command 0x988.
Command must be between 0 and 0xFFFF else returns error 0x80250001.
int SceSysconForDriver_A5AB19B1(SceUInt16 command, SceUInt16 *pResult);
SceSysconForDriver_CFCEE733
Version | NID |
---|---|
0.931.010-3.740.011 | 0xCFCEE733 |
Sends 2 bytes from Syscon command 0x181.
int SceSysconForDriver_CFCEE733(SceUInt32 unk);
SceSysconForDriver_FDB3AE9D
Version | NID |
---|---|
0.931.010-3.740.011 | 0xFDB3AE9D |
Gets 0x10 bytes from Syscon command 0x183.
int SceSysconForDriver_FDB3AE9D(int *pResult);
SceSysconForDriver_C3504ADE
Version | NID |
---|---|
0.931.010-3.740.011 | 0xC3504ADE |
A guessed name is sceSysconIs...ForDriver.
Returns the global variable related to #SceSysconForDriver_DE613081.
Used in SceHpremote.
SceBool SceSysconForDriver_C3504ADE(void);
SceSysconForDriver_B832B72C
Version | NID |
---|---|
0.931.010-3.740.011 | 0xB832B72C |
A guessed name is sceSysconIs...ForDriver.
Returns the global variable related to #SceSysconForDriver_229A07C2.
SceBool SceSysconForDriver_B832B72C(void);
SceSysconForDriver_86BAAF7D
Version | NID |
---|---|
0.931.010-3.740.011 | 0x86BAAF7D |
A guessed name is sceSysconIsAlarmTimerExistForDriver.
Returns the global variable related to #SceSysconForDriver_8351526D.
Used in SceRtc.
SceBool SceSysconForDriver_86BAAF7D(void);
SceSysconForDriver_A57B5433
Version | NID |
---|---|
0.931.010-3.740.011 | 0xA57B5433 |
A guessed name is sceSysconIsResumeRequestedForDriver.
Related to #SceSysconForDriver_9F8340FF.
SceBool SceSysconForDriver_A57B5433(void);
SceSysconForDriver_ACC7F71E
Version | NID |
---|---|
0.931.010-3.740.011 | 0xACC7F71E |
A guessed name is sceSysconIs...ForDriver.
Returns the global variable related to #SceSysconForDriver_35E1689F.
Used in SceHpremote.
SceBool SceSysconForDriver_ACC7F71E(void);
SceSysconForDriver_769F9AC4
Version | NID |
---|---|
0.931.010-3.740.011 | 0x769F9AC4 |
A guessed name is sceSysconIs...ForDriver.
Returns the global variable related to #SceSysconForDriver_474A9EA7.
Returns always SCE_TRUE on PS TV. This function could be related to USB or ethernet availability.
No use case seen.
SceBool SceSysconForDriver_769F9AC4(void);
SceSysconForDriver_4BC63A40
Version | NID |
---|---|
0.931.010-3.740.011 | 0x4BC63A40 |
A guessed name is sceSysconIs...ForDriver.
Returns the global variable related to #SceSysconForDriver_4E88B4D9.
Used in SceSblPostSsMgr.
SceBool SceSysconForDriver_4BC63A40(void);
SceSysconForDriver_99A254A9
Version | NID |
---|---|
0.931.010-3.740.011 | 0x99A254A9 |
A guessed name is sceSysconIs...ForDriver.
Returns the global variable related to #SceSysconForDriver_376CCCB8.
No use case seen.
SceBool SceSysconForDriver_99A254A9(void);
SceSysconForDriver_9A4F4B7C
Version | NID |
---|---|
0.931.010-0.940 | not present |
0.996.090-3.740.011 | 0x9A4F4B7C |
A guessed name is sceSysconIs...ForDriver.
Returns the global variable related to #SceSysconForDriver_3BAAC8A9.
No use case seen.
SceBool SceSysconForDriver_9A4F4B7C(void);
SceSysconForDriver_92D2C6A4
Version | NID |
---|---|
0.931.010-2.060.011 | not present |
2.100.081-3.740.011 | 0x92D2C6A4 |
int SceSysconForDriver_92D2C6A4(void);
SceSysconForDriver_B9EA2FA8
Version | NID |
---|---|
0.931.010-0.940 | not present |
0.995.000-3.740.011 | 0xB9EA2FA8 |
A guessed name is sceSysconIsAccExistForDriver.
Only used in SceUsbServ.
SceBool SceSysconForDriver_B9EA2FA8(void);
SceSysconForDriver_29CF4335
Version | NID |
---|---|
0.931.010-3.740.011 | 0x29CF4335 |
A guessed name is sceSysconIs...ForDriver.
Returns the global variable related to #SceSysconForDriver_2E4BA4B8.
It is related to Ernie DL Mode.
Used in SceSblPostSsMgr.
SceBool SceSysconForDriver_29CF4335(void);
SceSysconForDriver_32B2DB3D
Version | NID |
---|---|
0.931.010-3.740.011 | 0x32B2DB3D |
int SceSysconForDriver_32B2DB3D(void);
sceSysconIsHeadphoneExistForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x142D5E82 |
Used in SceHpremote#sceHprmIsHeadphoneExistForDriver.
SceBool sceSysconIsHeadphoneExistForDriver(void);
sceSysconIsMotionDevExistForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x490C5548 |
This is a guessed name.
Used in SceMotionDev.
SceBool sceSysconIsMotionDevExistForDriver(void);
SceSysconForDriver_012B57B3
Version | NID |
---|---|
0.931.010 | not present |
0.940-3.740.011 | 0x012B57B3 |
int SceSysconForDriver_012B57B3(void);
SceSysconForDriver_27758A64
Version | NID |
---|---|
0.931.010-0.940 | not present |
1.000.071-3.740.011 | 0x27758A64 |
A guessed name is sceSysconIsBatteryOnlineForDriver, deriving from #sceSysconIsPowerOnlineForDriver.
Used in ScePower#scePowerGetBatteryRemainLevelForDriver, ScePower#scePowerIsLowBatteryForDriver, ScePower's module_start.
Returns the global variable related to #SceSysconForDriver_80D6E061.
SceBool SceSysconForDriver_27758A64(void);
SceSysconForDriver_4A184B7C
Version | NID |
---|---|
0.931.010-0.940 | not present |
1.000.071-3.740.011 | 0x4A184B7C |
A guessed name is sceSysconIs...ForDriver.
Returns some information about battery.
Used in ScePower#ScePowerForDriver_627A89C6.
Returns the global variable related to #SceSysconForDriver_7682FE69.
SceBool SceSysconForDriver_4A184B7C(void);
SceSysconForDriver_ACEE1C70
Version | NID |
---|---|
0.931.010-0.940 | not present |
0.996.090-3.740.011 | 0xACEE1C70 |
A guessed name is sceSysconIs...ForDriver.
Returns information about battery. Only used when battery is working.
Used in ScePower#ScePowerForDriver_0D56C601.
Returns the global variable related to #SceSysconForDriver_E0D52DF0.
SceBool SceSysconForDriver_ACEE1C70(void);
SceSysconForDriver_03C50DC3
Version | NID |
---|---|
0.931.010-0.940 | not present |
1.000.071-3.740.011 | 0x03C50DC3 |
A guessed name is sceSysconIs...ForDriver.
Returns the global variable related to #SceSysconForDriver_2D471528.
SceBool SceSysconForDriver_03C50DC3(void);
SceSysconForDriver_BFDA5590
Version | NID |
---|---|
0.931.010-2.060.011 | not present |
2.100.081-3.740.011 | 0xBFDA5590 |
A guessed name is sceSysconIs...ForDriver.
Returns the global variable related to #SceSysconForDriver_129EA022.
SceBool SceSysconForDriver_BFDA5590(void);
SceSysconForDriver_63B14156
Version | NID |
---|---|
0.931.010-0.996.090 | not present |
1.000.071-3.740.011 | 0x63B14156 |
A guessed name is sceSysconIs...ForDriver.
Returns the global variable related to #SceSysconForDriver_85E5DEBF.
SceBool SceSysconForDriver_63B14156(void);
SceSysconForDriver_50CAE242
Version | NID |
---|---|
0.931.010-0.940 | not present |
1.000.071-3.740.011 | 0x50CAE242 |
A guessed name is sceSysconIsThermalAlertForDriver.
Returns the global variable related to #sceSysconSetThermalAlertCallbackForDriver.
Used in ScePower.
SceBool SceSysconForDriver_50CAE242(void);
SceSysconForDriver_9F4042F8
Version | NID |
---|---|
0.931.010-1.692.000 | not present |
1.800.071-3.740.011 | 0x9F4042F8 |
A guessed name is sceSysconIs...ForDriver.
Returns the global variable related to #SceSysconForDriver_C442D0BE.
No use case seen.
SceBool SceSysconForDriver_9F4042F8(void);
SceSysconForDriver_C50568E9
Version | NID |
---|---|
0.931.010-3.01 | not present |
3.100.081-3.740.011 | 0xC50568E9 |
A guessed name is sceSysconIs...ForDriver.
Returns the global variable related to #SceSysconForDriver_61AE3970.
This function was added to support DOL-1002 motherboard.
No use case seen.
SceBool SceSysconForDriver_C50568E9(void);
sceSysconIsLowBatteryForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0xD7F5A797 |
This is a guessed name.
Only used in ScePower.
SceBool sceSysconIsLowBatteryForDriver(void);
sceSysconIsLowBatteryInhibitUpdateRebootForDriver
Version | NID |
---|---|
0.931.010-3.18 | not present |
3.300.041-3.740.011 | 0x1A0C140F |
This function was added along with ScePower#scePowerIsLowBatteryInhibitUpdateReboot.
Used in ScePower#scePowerIsLowBatteryInhibitUpdateReboot.
SceBool sceSysconIsLowBatteryInhibitUpdateRebootForDriver(void);
sceSysconIsLowBatteryInhibitUpdateDownloadForDriver
Version | NID |
---|---|
0.931.010-3.18 | not present |
3.300.041-3.740.011 | 0x1E3130EE |
This function was added along with ScePower#scePowerIsLowBatteryInhibitUpdateDownload.
Used in ScePower#scePowerIsLowBatteryInhibitUpdateDownload.
SceBool sceSysconIsLowBatteryInhibitUpdateDownloadForDriver(void);
sceSysconGetBatteryRemainLevelForDriver
Version | NID |
---|---|
0.931.010-3.18 | not present |
3.300.041-3.740.011 | 0x26F9D729 |
Only used if Syscon version >= 0x1040105.
This function was added along with ScePower#scePowerGetBatteryRemainLevelForDriver.
Used in ScePower#scePowerGetBatteryRemainLevelForDriver.
int sceSysconGetBatteryRemainLevelForDriver(SceUInt8 *pResult1, SceUInt8 *pResult2);
SceSysconForDriver_C0F215B7
Version | NID |
---|---|
0.931.010-0.990.000 | not present |
0.996.090-3.740.011 | 0xC0F215B7 |
A guessed name is sceSysconIs...ForDriver.
Returns the global variable related to #SceSysconForDriver_18A6F4D9.
The global variable is updated by #sceSysconCmdSyncForDriver.
It looks like it checks for WlanBt presence (used in SceWlanBt, skipping sdio/etc initialization if SceSysconForDriver_C0F215B7 returns 0).
SceBool SceSysconForDriver_C0F215B7(void);
SceSysconForDriver_D6F6D472
Version | NID |
---|---|
0.931.010-2.060.011 | not present |
2.100.081-3.740.011 | 0xD6F6D472 |
Guessed name is sceSysconGetMicroUsbInfoForDriver.
Gets electric information (maybe intensity) of the device connected to USB OTG on PS Vita Slim.
Returns a global variable updated by #sceSysconCmdSyncForDriver, obtained using Syscon command 0x130.
int SceSysconForDriver_D6F6D472(int *pInfo);
SceSysconForDriver_F99BC858
Version | NID |
---|---|
0.931.010-3.01 | not present |
3.100.081-3.740.011 | 0xF99BC858 |
Detects microSD swap.
Calls syscon command 0x131.
This function was maybe added to support a prototype motherboard that has a microSD port.
int SceSysconForDriver_F99BC858(SceBool *isSwapped);
SceSysconForDriver_E7893732
Version | NID |
---|---|
0.931.010-2.060.011 | not present |
2.100.081-3.740.011 | 0xE7893732 |
Guessed name is sceSysconSetMicroUsbPortForDriver.
Calls Syscon command 0x1B0. Related to UART or Jig on PS Vita Slim or PS TV.
// value holds 3 useful bytes and 1 byte not sent to syscon int SceSysconForDriver_E7893732(int value);
sceSysconGetElmoVersionForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0xA039B563 |
Temp name was sceSysconGetElmoFwVersionForDriver.
Calls Syscon command 0x880. Read Elmo registers 0xD0 through 0xEF.
On PS Vita 1000 series with IRS-001 motherboard, Elmo Fw Version is 0x192.
int sceSysconGetElmoVersionForDriver(SceUInt32 *pVersion);
sceSysconGetCookieVersionForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x9BF78047 |
Temp name was sceSysconGetCookieFwVersionForDriver.
Calls Syscon command 0x881.
int sceSysconGetCookieVersionForDriver(SceUInt32 *pVersion);
sceSysconReadElmoRegForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x5BF765BB |
Calls Syscon command 0x895.
sceSysconWriteElmoRegForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0xCCC71C28 |
Calls Syscon command 0x896.
sceSysconReadCookieRegForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0x95975DD1 |
Calls Syscon command 0x897.
sceSysconWriteCookieRegForDriver
Version | NID |
---|---|
0.931.010-3.740.011 | 0xF39300D3 |
Calls Syscon command 0x898.
Returns error 0x80250001 if offset is greater than 0xFF.
// offset: 0-0xFF int sceSysconWriteCookieRegForDriver(SceUInt32 offset, SceUInt16 data);
Commands
It seems like the command format is as follows: (direction << 8) | cmd_id
, where direction = 1
means write to syscon, and direction = 0
means read from syscon.
Command | Return size (without considering the 2 bytes rx.size and rx.error_code) | Functions NIDs | Description |
---|---|---|---|
0x0 | 0x0 | 0x0D0B6D25 | sceSysconNopForDriver |
0x1 | 0x4 | module_start | sceSysconGetErnieVersionForDriver. Used during SysconInit. |
0x2 | 0xC | module_start | sceSysconGetTimeStampForDriver. Returns 12-byte string followed by at least 2-byte memory leak. Used during SysconInit. |
0x3 | 0x4 | module_start | sceSysconGetSleepFactor. Used during SysconInit. |
0x4 | 0x4 | Unknown. Run during boot. See Ernie#CMD_0x0004. | |
0x5 | 0x4 | 0xCBD6D8BC, module_start | sceSysconGetHardwareInfoForDriver |
0x6 | 0x10 | 0x965C68C3, module_start | sceSysconGetHardwareInfo2ForDriver. Get Hardware Info 2. See KBL_Param#Hardware_Info_2. |
0x10 | 0x2 | 0xCF5B2F2F | sceSysconGetWakeupFactorForDriver |
0x11 | 0x4 | 0xD7BEFF8B | sceSysconGetClockForDriver |
0x12 | 0x5 or 0x6 | 0x3168F3AF | SceSysconForDriver_3168F3AF. Gets information about alarm timer. Return value is 1 byte indicating data size then 4 or 5 bytes of data. |
0x13 | 0x2 | 0xBA09F171 | SceSysconForDriver_BA09F171 |
0x14 | ?between 0x1 and 0x4? | 0x93075DD1 | SceSysconForDriver_93075DD1 |
0x15 | 0x4 | 0x3E09A1F4 | sceSysconGetManufacturesStatusForDriver |
0x80 | 0x0 | module_start | ?? Used during SysconInit. Sends 2 bytes (ex: 0x0012) to Syscon. |
0x81 | ? | 0x9B6A6F64 | sceSysconSetClockForDriver. Sends 5 bytes to Syscon: 1 byte for size=5 and 4 bytes of data. |
0x82 | ? | 0x51164951 | SceSysconForDriver_51164951 |
0x83 | ? | 0x373ECF8A | SceSysconForDriver_373ECF8A. Sends 3 bytes to Syscon. |
0x84 | ? | 0x2659535C | SceSysconForDriver_2659535C. Sends 1 byte to Syscon. |
0x85 | ? | 0x4295D497 | SceSysconForDriver_4295D497 |
0x86 | 8 | 0x701535FC | sceSysconGetLogInfoForDriver |
0x87 | 0 | 0x4E55CF5E | sceSysconLogStartForDriver. Sends 1 byte to Syscon: 0. |
0x88 | 0x18 | 0x487D97F3 | sceSysconLogReadDataForDriver. Sends 2 bytes to Syscon: offset. |
0x89 | 0 | 0x9C0B1E61 | sceSysconLogStartWaitingForDriver. Sends 1 byte to Syscon: 0. |
0x90 | ?0x3B? | 0x299B1CE7 | sceSysconReadScratchPadForDriver |
0x91 | ?0x3B? | 0xE26488B9 | sceSysconWriteScratchPadForDriver |
0xA0 | ?0x10 or 0x28? | second_loader | Handshake during boot. See Ernie_Secure#Ernie_Secure_Commands. |
0xB0 | 0 | 0x058941D7 | sceSysconOutputClockForDriver. Sends 2 bytes to Syscon. |
0xB1 | 0 | 0xDF8C6D2D | sceSysconCtrlWirelessPowerDownForDriver |
0xB2 | 0 | 0xDECCB2B4 | sceSysconCtrlHostOutputViaDongleForDriver. Sends 2 bytes to Syscon. |
0xB3 | at least 1 | 0x33B5CDB3 | SceSysconForDriver_33B5CDB3 |
0xB4 | at least 1 | 0xF6D4DDC4 | SceSysconForDriver_F6D4DDC4 |
0xB5 | 0 | 0x00AE3AEB | SceSysconForDriver_00AE3AEB. Probably a control command. Sends 2 bytes to Syscon. |
0xB6 | 0 | 0x0D300158 | SceSysconForDriver_0D300158. Probably a control command. Sends 2 bytes to Syscon. |
0xB7 | at least 1 | 0x91EF4EC3 | SceSysconForDriver_91EF4EC3 |
0xC0 | ?0x3E? | ||
0xC1 | 0 | 0x94AB13CC | sceSysconErnieShutdownForDriver. Sends 2 bytes to Syscon. |
0xD0 | ?0x2A or 0x28? | 0x4D03754A | SceSysconForDriver_4D03754A. Handshake before SNVS RW. See Ernie_Secure#Ernie_Secure_Commands. |
0xD1 | ?0x0 or 0x2? | 0xC14BD637 | SceSysconForDriver_C14BD637 |
0xD2 | ?0x30? | 0xEBDF88B9, second_loader | sceSysconSnvsReadDataForDriver. See Ernie_Secure#Ernie_Secure_Commands. |
0xD3 | ?0x12? | 0x63683B9B | sceSysconSnvsWriteDataForDriver. See Ernie_Secure#Ernie_Secure_Commands. |
0x100 | 0x4 | 0x145F59A4 | sceSysconGetControlsInfoForDriver. Used in SceCtrlVblankHandler in SceCtrl. |
0x101 | 0x8 | sceSysconGetControlsInfo2ForDriver. Used in SceCtrlVblankHandler in SceCtrl. Uses Ernie version and Ernie DL version. | |
0x102 | 0xC | ||
0x103 | 0x4 | 0x1503D6A0 | sceSysconGetMultiCnInfoForDriver |
0x104 | 0xC | sceSysconGetControlsInfo3ForDriver. Used in SceCtrlVblankHandler in SceCtrl. | |
0x105 | ? | Uses string "PS" then "TUV". | |
0x106 | ? | ||
0x107 | ? | ||
0x108 | ? | ||
0x109 | ? | ||
0x110 | ? | ||
0x120 | ? | 0x76272CB9 | SceSysconForDriver_76272CB9 |
0x121 | ? | ||
0x130 | 0x4 | module_start (SysconInit), 0xD6F6D472 | SceSysconForDriver_D6F6D472 |
0x131 | ?0x1? (read) | 0xF99BC858 | SceSysconForDriver_F99BC858. Added on a FW > 3.01 and <= 3.100.081. |
0x140 | ? | ||
0x141 | ? | ||
0x142 | ? | ||
0x143 | ? | ||
0x144 | ? | ||
0x145 | ? | ||
0x146 | ? | ||
0x147 | ? | ||
0x148 | ? | ||
0x150 | ? | ||
0x151 | ? | ||
0x152 | ? | ||
0x153 | ? | ||
0x154 | ? | ||
0x155 | ? | ||
0x156 | ? | ||
0x157 | ? | ||
0x160 | ? | ||
0x161 | ? | ||
0x162 | ? | ||
0x163 | ? | ||
0x168 | ? | ||
0x170 | ? | ||
0x171 | ? | ||
0x172 | ? | ||
0x180 | ? | Set analog sampling. Sends 2 bytes to Syscon: 0 to disable, 1 to enable on Syscon version is < 0x90202, 3 to enable on Syscon version is >= 0x90202. Used in SceCtrlVblankHandler in SceCtrl. | |
0x181 | 0 | 0xCFCEE733 | SceSysconForDriver_CFCEE733. Sends 2 bytes to Syscon. |
0x182 | ? | ||
0x183 | 0x10 | 0xFDB3AE9D | SceSysconForDriver_FDB3AE9D. Gets some information. |
0x184 | ? | ||
0x185 | ? | ||
0x186 | ? | ||
0x187 | ? | ||
0x188 | ? | ||
0x189 | ? | ||
0x18A | ? | ||
0x18B | ? | ||
0x18C | ? | ||
0x18D | ? | ||
0x18E | ? | ||
0x18F | ? | ||
0x190 | 0 | 0x8AAB6308 | sceSysconSetMultiCnPortForDriver. Sends 3 bytes to Syscon. |
0x191 | ? | ||
0x192 | ? | ||
0x1A0 | ? | ||
0x1A1 | ? | ||
0x1B0 | 0 | 0xE7893732 | SceSysconForDriver_E7893732. Sends 3 bytes to Syscon. |
0x1B2 | ? | ||
0x1C0 | ? | ||
0x1C1 | ? | ||
0x1C2 | ? | ||
0x1C3 | ? | ||
0x1C4 | ? | ||
0x1D0 | ? | ||
0x1D1 | ? | ||
0x1D2 | ? | ||
0x1D3 | ? | ||
0x1D4 | ? | ||
0x1D5 | ? | ||
0x1E0 | ? | ||
0x1E1 | ? | ||
0x1E2 | ? | ||
0x1E3 | ? | ||
0x300 | ? | ||
0x301 | ? | ||
0x303 | ? | ||
0x380 | at least 1 | 0xF492E69E | sceSysconGetTouchpanelDeviceInfoForDriver |
0x38A | at least 1 | 0xA1F1B973 | ?? |
0x390 | at least 1 | 0x030D447F | sceSysconGetTouchpanelDeviceInfo2ForDriver |
0x392 | ? | 0x48ED8981, 0x060E55C1 | SceSysconForDriver_48ED8981 / SceSysconForDriver_060E55C1. Sends 2 bytes to Syscon: 0 or 1. |
0x393 | ? | 0x9A28BEEF, 0x8874EF45 | SceSysconForDriver_9A28BEEF / SceSysconForDriver_8874EF45. Sends 2 bytes to Syscon: 0 or 1. Used in SceSblUpdateMgr. |
0x3A0 | ? | ?? | sceSysconTouchStartBlModeForDriver |
0x3A1 | ? | ?? | sceSysconTouchUnlockDeviceForDriver |
0x3A2 | ? | ?? | sceSysconTouchSetProgramDataForDriver |
0x3A3 | ? | ?? | sceSysconTouchExecProgramDataForDriver |
0x3A4 | ? | ?? | sceSysconTouchGetBLStatusForDriver |
0x3A9 | 0 | 0x010F95D9 | SceSysconForDriver_010F95D9. Sends 1 byte to Syscon. |
0x3AB | ? | 0x357CC9D9 | SceSysconForDriver_010F95D9. Sends 3 bytes to Syscon. |
0x3AC | ?between 0x1 and 0x4? | 0x3664E2C0 | SceSysconForDriver_3664E2C0. Gets information. |
0x3AF | ? | 0xB8F4F4E3 | SceSysconForDriver_B8F4F4E3. Sends 2 bytes to Syscon. |
0x3B0 | ? | ?? | sceSysconTouchStartBlModeForDriver |
0x3B1 | ? | ?? | sceSysconTouchUnlockDeviceForDriver |
0x3B2 | ? | ?? | sceSysconTouchSetProgramDataForDriver |
0x3B3 | ? | ?? | sceSysconTouchExecProgramDataForDriver |
0x3B4 | ? | ?? | sceSysconTouchGetBLStatusForDriver |
0x3B9 | ? | 0x42E599AC | SceSysconForDriver_42E599AC. Sends 1 byte to Syscon. |
0x3BB | ? | 0xCCA56A16 | SceSysconForDriver_CCA56A16. Sends 3 bytes to Syscon. |
0x3BC | ?between 0x1 and 0x4? | 0x2E6D97CD | SceSysconForDriver_2E6D97CD. Gets information. |
0x3BF | ? | 0x240A604E | SceSysconForDriver_240A604E. Sends 2 bytes to Syscon. |
0x3C2 | ? | 0x5946B29B, 0x10327C64 | SceSysconForDriver_5946B29B / SceSysconForDriver_10327C64. Sends 2 bytes to Syscon: 0 or 1. Used in SceSblUpdateMgr |
0x400 | ? | 0x270B7B0B | sceSysconMotionGetMeasureDataForDriver |
0x480 | 4 | 0xD01E64FC | sceSysconMotionGetDeviceInfoForDriver |
0x481 | ? | 0x9A7858B6 | SceSysconForDriver_9A7858B6. Sends 3 bytes to Syscon. |
0x800 | ?0x2 or 0x4? | 0xA2FE9BF9 | SceSysconForDriver_A2FE9BF9. ScePower#ScePowerForDriver_8C0D2051 related. |
0x801 | 0x0 | ?? | |
0x802 | ?0x4? | 0xC562AF3A | sceSysconGetBatteryRemainCapForDriver. Replaced by Syscon command 0x900 on Syscon version > 0x70503. |
0x803 | 0x4 | 0x03F11220 | sceSysconGetBatteryVoltForDriver. Replaced by Syscon command 0x901 on Syscon version > 0x70503. |
0x804 | ? | ?? | |
0x805 | 4 | 0xEF810687 | sceSysconGetUsbDetStatusForDriver |
0x806 | ?0x1? | 0xE7F5D3DC | SceSysconForDriver_E7F5D3DC. Reboots PS Vita? |
0x807 | 0x2 | 0x253CC522 | SceSysconForDriver_253CC522. |
0x820 | 0x0 | 0x727F985A | sceSysconCtrlDolceLEDForDriver. Set PS TV LED on. |
0x821 | 0x0 | 0x727F985A | sceSysconCtrlDolceLEDForDriver. Set PS TV LED blink slowly. |
0x822 | 0x0 | 0x727F985A | sceSysconCtrlDolceLEDForDriver. Set PS TV LED blink fast. |
0x840 | ?0x1? | 0x4FEC564C | sceSysconGetManualChargeModeForDriver |
0x841 | ?0x1? | 0x3C3B949C | SceSysconForDriver_3C3B949C |
0x842 | ?0x1? | 0x1C29C00E | SceSysconForDriver_1C29C00E |
0x843 | ?0x1? | 0x730E4725 | SceSysconForDriver_730E4725 |
0x880 | 0x4 | 0xA039B563 | sceSysconGetElmoVersionForDriver |
0x881 | ? | 0x9BF78047 | sceSysconGetCookieVersionForDriver |
0x882 | 0x6 | 0x68E0031E | sceSysconGetBatteryVersionForDriver. Replaced by Syscon command 0x980 on Syscon version > 0x70503. |
0x883 | 0x8 | 0x175CE5A1 | sceSysconGetPowerStatusForDriver |
0x884 | ? | 0x3FDD29D6 | SceSysconForDriver_3FDD29D6. Same usage as command 0x885. Sends 2 bytes to Syscon. |
0x885 | ? | 0x79E6DD8B | SceSysconForDriver_79E6DD8B. Same usage as command 0x884. Sends 2 bytes to Syscon. |
0x886 | ?0x2? | 0x62155962 | sceSysconCtrlHdmiCecPowerForDriver |
0x887 | ? | 0x063425AE | sceSysconCtrlMotionSensorPowerForDriver |
0x888 | ?0x2? | 0xBE1ADE4F | sceSysconCtrlSdPowerForDriver |
0x889 | ?0x2? | 0x8D1D97E8 | sceSysconCtrlAccPowerForDriver |
0x88A | ? | 0x4FBDA504, 0xA2E85DB9 | sceSysconCtrlWirelessPowerForDriver, sceSysconCtrlWirelessPower2ForDriver |
0x88B | ? | 0x5A614349 | SceSysconForDriver_5A614349. Sends 2 bytes to Syscon. |
0x88C | ? | 0xB872E904 | SceSysconForDriver_B872E904. Sends 2 bytes to Syscon. |
0x88D | ? | 0xDD16ABD9 | SceSysconForDriver_DD16ABD9. Sends 2 bytes to Syscon. |
0x88E | 0x0 | 0x7F198FA2 | sceSysconCtrlVoltageForDriver. See Ernie#CMD_0x088E_-_CtrlVoltage. |
0x88F | ?0x2? | 0x40FF3898 | sceSysconCtrlDeviceResetForDriver. ?UsbEtherSmsc and WlanBt related? |
0x890 | ? | 0x285594F8 | SceSysconForDriver_285594F8. Sends 2 bytes to Syscon. |
0x891 | ?0x2? | 0x04EC7579 | sceSysconCtrlLEDForDriver |
0x892 | ?0? | 0x596B17B7 | sceSysconCtrlChargeACForDriver. ScePower related. |
0x893 | ?0? | 0x2A4B0437 | sceSysconCtrlChargeVBUSForDriver. ScePower related. |
0x895 | ? | 0x5BF765BB | sceSysconReadElmoRegForDriver |
0x896 | ? | 0xCCC71C28 | sceSysconWriteElmoRegForDriver |
0x897 | ? | 0x95975DD1 | sceSysconReadCookieRegForDriver |
0x898 | ? | 0xF39300D3 | sceSysconWriteCookieRegForDriver |
0x899 | ?0? | 0x5CDDA14D | ?Guessed name: sceSysconCtrlHpremoteForDriver? SceHpremote related. |
0x89A | ?0? | 0x59DC5938 | sceSysconCtrlUsbStatusForDriver |
0x89B | ?0x2? | 0x710A7CF0 | sceSysconCtrlRMRPowerForDriver |
0x89C | ?0x2? | 0xB1F88B11 | sceSysconCtrlMultiCnPowerForDriver. SceUsbServ related. |
0x89D | ? | 0x6F586D1A | sceSysconCtrlLedPwmBlinkForDriver |
0x89E | ? | 0x9CA6EB70 | sceSysconSetChargeLedCtrlForDriver. Sends 2 bytes to Syscon. ScePower related. |
0x89F | ? | 0xCB41B531 | sceSysconCtrlLedBlinkType2ForDriver. Sends 6 bytes to Syscon. |
0x8A0 | ?0x4? | 0x9070F139 | sceSysconGetBatteryTempForDriver. Replaced by Syscon command 0x981 on Syscon version > 0x70503. |
0x8A1 | ?0x3B or 0x4? | 0x00A65FC1 | sceSysconGetBatteryFullCapForDriver. Replaced by Syscon command 0x982 on Syscon version > 0x70503. ScePower related. |
0x8A2 | 0x2 | 0x0826BA07 | sceSysconGetBatteryElecForDriver. Replaced by Syscon command 0x983 on Syscon version > 0x70503. |
0x8A3 | ?0x4? | 0xB841C141 | sceSysconGetBatteryTTEForDriver. Replaced by Syscon command 0x984 on Syscon version > 0x70503. |
0x8A4 | ?0x4? | 0x91D3B7A3 | sceSysconGetBatterySOHForDriver. Replaced by Syscon command 0x985 on Syscon version > 0x70503. |
0x8A8 | 2 | 0xC2FB5565 | sceSysconReadBatteryRegForDriver. Replaced by Syscon command 0x986 on Syscon version > 0x70503. |
0x8A9 | ? | 0x9B779DB0 | sceSysconWriteBatteryRegForDriver. Replaced by Syscon command 0x987 on Syscon version > 0x70503. |
0x8AA | 2 | 0xA5AB19B1 | SceSysconForDriver_A5AB19B1. Replaced by Syscon command 0x988 on Syscon version > 0x70503. |
0x8B0 | ? | 0x4946538A | sceSysconBatteryStartBLModeForDriver. Replaced by Syscon command 0x9B0 on Syscon version > 0x70503. Since FW 0.940, it is also used by sceSysconEnableHibernateIOForDriver independently of Syscon version. |
0x8B1 | ? | 0xE4AE7852 | sceSysconBatteryStopBLModeForDriver. Replaced by Syscon command 0x9B1 on Syscon version > 0x70503. |
0x8B2 | ? | 0xE4F29744 | sceSysconBatterySetBLCommandForDriver. Replaced by Syscon command 0x9B2 on Syscon version > 0x70503. |
0x8B3 | ? | 0x74B2AB55 | sceSysconBatteryExecBLCommandForDriver. Replaced by Syscon command 0x9B3 on Syscon version > 0x70503. |
0x8B4 | ? | 0x448DAFF1 | sceSysconBatteryReadBLCommandForDriver. Replaced by Syscon command 0x9B4 on Syscon version > 0x70503. |
0x8C0 | ? | 0xC6A2C9EF | sceSysconCtrlManualChargeModeForDriver (accepts 0 / 1 as value) |
0x8C1 | ? | ?? | sceSysconCtrlBatteryChargeForDriver (accepts 0 / 1 as value) |
0x8C2 | ? | ?? | sceSysconCtrlChargingCurrentForDriver (accepts 0x00 - 0x1F as value) |
0x8C3 | ? | ?? | sceSysconCtrlSupplyCurrentAcForDriver (accepts 0x00 - 0x19 as value) |
0x8C4 | ? | ?? | sceSysconCtrlSupplyCurrentUsbForDriver (accepts 0x00 - 0x19 as value) |
0x8C5 | ?0x0 or 0x2? | 0x3274A925 | SceSysconForDriver_3274A925. SceUsbServ and SceUsbEtherSmsc related. |
0x8C6 | ? | 0xDFB024C4 | sceSysconReadCookieStatusForDriver. SceSblUpdateMgr related. |
0x8C7 | ? | 0x87FF8041 | SceSysconForDriver_87FF8041. Sends 2 bytes to Syscon. |
0x8C8 | ? | 0x7BFA95DA | sceSysconCtrlUSBSupplyForDriver. Sends 2 bytes to Syscon. |
0x8C9 | ?0? | 0x451C1662 | SceSysconForDriver_451C1662. Sends 2 bytes to Syscon. |
0x8CA | 1 | 0x79074DE4 | SceSysconForDriver_79074DE4. Sends 0 byte to Syscon. |
0x8CB | 1 | 0x7D25F6D2 | SceSysconForDriver_7D25F6D2. Sends 1 byte to Syscon. |
0x8CC | ?0? | 0xD2ADABCA | SceSysconForDriver_D2ADABCA. Sends 2 bytes to Syscon. |
0x8CE | 0x10 | 0x3B354824 | sceSysconGetTemperatureLogForDriver |
0x8CF | 0 | 0x3843D657 | sceSysconClearTemperatureLogForDriver. Sends 2 bytes to syscon. |
0x8D0 | ? | 0xF87679EE | SceSysconForDriver_F87679EE. Sends 2 bytes to Syscon. |
0x900 | ?0x4? | 0xC562AF3A | sceSysconGetBatteryRemainCapForDriver. Replaces Syscon command 0x802 on Syscon version > 0x70503. |
0x901 | 0x4 | 0x03F11220 | sceSysconGetBatteryVoltForDriver. Replaces Syscon command 0x803 on Syscon version > 0x70503. |
0x902 | ?0x4? | 0xAD0A8275 | sceSysconGetBatteryLifePercentForDriver |
0x903 | 0x2 | 0x26F9D729 | sceSysconGetBatteryRemainLevelForDriver. Added on a FW higher than 2.50 and Syscon version >= 0x1040105. |
0x904 | ? | 0x9ADC9936 | sceSysconGetBatteryCalibDataForDriver |
0x910 | ? | ||
0x911 | ? | ||
0x912 | ? | ||
0x913 | ? | ||
0x914 | ? | ||
0x915 | ? | ||
0x916 | ? | ||
0x917 | ? | ||
0x932 | ? | ||
0x944 | ? | ||
0x945 | ? | ||
0x952 | ? | Uses string "PC" then "TUV". | |
0x953 | ? | ||
0x954 | ? | ||
0x961 | ? | ||
0x962 | ? | ||
0x963 | ? | ||
0x964 | ? | ||
0x965 | ? | ||
0x966 | ? | ||
0x967 | ? | ||
0x968 | ? | ||
0x969 | ? | ||
0x980 | 0x6 | 0x68E0031E | sceSysconGetBatteryVersionForDriver. Replaces Syscon command 0x882 on Syscon version > 0x70503. |
0x981 | ?0x4? | 0x9070F139 | sceSysconGetBatteryTempForDriver. Replaces Syscon command 0x8A0 on Syscon version > 0x70503. |
0x982 | ?0x4? | 0x00A65FC1 | sceSysconGetBatteryFullCapForDriver. Replaces Syscon command 0x8A1 on Syscon version > 0x70503. ScePower related. |
0x983 | 0x2 | 0x0826BA07 | sceSysconGetBatteryElecForDriver. Replaces Syscon command 0x8A2 on Syscon version > 0x70503. |
0x984 | ?0x4? | 0xB841C141 | sceSysconGetBatteryTTEForDriver. Replaces Syscon command 0x8A3 on Syscon version > 0x70503. |
0x985 | ?0x4? | 0x91D3B7A3 | sceSysconGetBatterySOHForDriver. Replaces Syscon command 0x8A4 on Syscon version > 0x70503. |
0x986 | 2 | 0xC2FB5565 | sceSysconReadBatteryRegForDriver. Replaces Syscon command 0x8A8 on Syscon version > 0x70503. |
0x987 | ? | 0x9B779DB0 | sceSysconWriteBatteryRegForDriver. Replaces Syscon command 0x8A9 on Syscon version > 0x70503. |
0x988 | 2 | 0xA5AB19B1 | SceSysconForDriver_A5AB19B1. Replaces Syscon command 0x8AA on Syscon version > 0x70503. |
0x989 | ? | 0x87DA378D | sceSysconBatterySWResetForDriver |
0x98A | ?between 0x2 and 0x4? | 0xF93CF833 | sceSysconGetBatteryFullCapForDriver |
0x98B | ?between 0x2 and 0x4? | 0xECFA7242 / 0xE1885F68 | sceSysconGetBicTempForDriver / sceSysconGetAbbyTempForDriver |
0x98C | ?0x4? | 0xCD73079D | sceSysconGetBatteryCycleCountForDriver |
0x9B0 | ? | 0x2CEF078E / 0x4946538A | sceSysconBatteryStartBLModeForDriver. Replaces Syscon command 0x8B0 on Syscon version > 0x70503. Since FW 0.940, it is also used by sceSysconEnableHibernateIOForDriver independently of Syscon version. |
0x9B1 | ? | 0xE4AE7852 | sceSysconBatteryStopBLModeForDriver. Replaces Syscon command 0x8B1 on Syscon version > 0x70503. |
0x9B2 | ? | 0xE4F29744 | sceSysconBatterySetBLCommandForDriver. Replaces Syscon command 0x8B2 on Syscon version > 0x70503. |
0x9B3 | ? | 0x74B2AB55 | sceSysconBatteryExecBLCommandForDriver. Replaces Syscon command 0x8B3 on Syscon version > 0x70503. |
0x9B4 | ? | 0x448DAFF1 | sceSysconBatteryReadBLCommandForDriver. Replaces Syscon command 0x8B4 on Syscon version > 0x70503. |
0xA00 | 0x0 | ?? | |
0xA82 | ? | 0x7BAFE083 | SceSysconForDriver_7BAFE083. Sends 2 bytes to Syscon. |
0x1080 | ?0x0 or 0x2? | 0x81A6060D | sceSysconNvsSetRunModeForDriver |
0x1081 | ?0x0 or 0x2? | 0x2EC6D55D | sceSysconNvsSetUnkModeForDriver |
0x1082 | ?around 0x20? | 0xACAFA2B8 | sceSysconNvsReadDataForDriver |
0x1083 | ?0x2? | 0x10C9657A | sceSysconNvsWriteDataForDriver |
0x1100 | 0x4 | 0xD2F456DC | sceSysconGetErnieDLVersionForDriver |
0x1101 | 0x4 | ||
0x1180 | ? | 0x9B00BC7F | sceSysconUpdaterSetSegmentForDriver |
0x1181 | ? | 0x356B9696, 0x734544E4 | sceSysconUpdaterSendProgramDataForDriver, sceSysconUpdaterSendProgramData2ForDriver |
0x1182 | ? | 0x69AD76E4 | sceSysconUpdaterExecProgrammingForDriver |
0x1183 | ? | 0xB487C2FB | sceSysconUpdaterSetRunModeForDriver |
0x1184 | ? | 0xC7747A63 | sceSysconUpdaterExecFinalizeForDriver |
0x1185 | ? | 0xCBA836FF | sceSysconUpdaterCheckSignatureForDriver. Sends 0x18 bytes to Syscon. |
0x1300 | 0x8 | 0xCE48E8EB | sceSysconGetConfigStorageInfoForDriver |
0x1310 | 0x1 | 0x351946B0 | SceSysconForDriver_351946B0 |
0x1382 | ? | 0xA4968B8C | sceSysconBeginConfigstorageTransactionForDriver. Sends 1 byte to Syscon: 0. |
0x1383 | ? | 0xFCC3E8EE | sceSysconEndConfigstorageTransactionForDriver. Sends 1 byte to Syscon: 0. |
0x1384 | ? | 0x7B9B3617 | sceSysconCommitConfigstorageTransactionForDriver. Sends 1 byte to Syscon: 0. |
0x1385 | ? | 0x89C5CFD6 | sceSysconLoadConfigstorageScriptForDriver. Sends (3 + script_size) bytes to Syscon: script_size (1 byte), unk, script (variable length). |
0x1386 (called from ARM Kernel but not implemented in Syscon FW) | ? | 0xCC6F90A8 | sceSysconVerifyConfigstorageScriptForDriver. Sends (3 + script_size) bytes to Syscon: script_size (1 byte), unk, script (variable length). |
0x1392 | ?0? | 0xFD65FFCB | SceSysconForDriver_FD65FFCB. Sends 3 bytes to Syscon: 1 byte offset (between 0 and 0xFF), 2 bytes a2 (between 0 and 2). |
0x1393 | ? | 0x02350352 | SceSysconForDriver_02350352. Sends 2 bytes to Syscon: offset (between 0 and 0xFF) |
0x1394 | ? | 0x7DE84CE3 | SceSysconForDriver_7DE84CE3. Sends 2 bytes to Syscon: offset (between 0 and 0xFF) |
0x2080 | ? | 0x44A173F5 | sceSysconJigOpenPortForDriver |
0x2081 | ? | 0x483FAE05 | sceSysconJigClosePortForDriver |
0x2082 | ? | 0xD24BF916 | sceSysconJigSetConfigForDriver |
0x2083 | ? | 0x3C80B529 | receive_pm_sm_jig_msg_from_syscon |
0x2084 | ? | 0xCE346793 | send_pm_sm_jig_short_msg_to_syscon |
0x2085 | ? | 0x7BFBA09E / 0x933D813F | send_pm_sm_jig_msg_to_syscon / send_pm_sm_stop_to_syscon |
Callbacks
All the following exported functions have this function prototype: int sceSysconSet...Callback(void (*func)(int enable, void *argp), void *argp);
.
See also SilverSpring's PSP Syscon callbacks enum and PSPSDK power callbacks enum.