System controller
Module
Known NIDs
Version |
Name |
World |
Privilege |
NID
|
1.69 |
SceSyscon |
Non-secure |
Kernel |
0x250E65E7
|
3.60 |
SceSyscon |
Non-secure |
Kernel |
0x5358BA05
|
Libraries
Known NIDs
Version |
Name |
World |
Visibility |
NID
|
1.69-3.60 |
SceSysconForDriver |
Non-secure |
Kernel |
0x60A35F64
|
Types
typedef struct SceSysconPacket {
struct SceSysconPacket *next;
u32 status;
SceUID semaId;
u32 unk;
u8 tx[32]; // tx[0..1] = cmd, tx[2] = size, tx[3..6] = some_integer, tx[7..31] = cmd_data
u8 rx[32]; // rx[0..1] = cmd?, rx[2] = size?
u32 unk1[4];
int (*callback)(SceSysconPacket *packet, void *argp);
void *argp;
u32 time;
u32 unk2[5];
} SceSysconPacket; /* size 0x80 */
SceSysconForDriver
sceSysconErnieShutdownForDriver
Version |
NID
|
0.931-3.60 |
0x94AB13CC
|
#define ERNIE_SHUTDOWN_SHUTDOWN 0
#define ERNIE_SHUTDOWN_REBOOT 1
int sceSysconErnieShutdownForDriver(int mode);
sceSysconPowerCtrlKermitResetForDriver
Version |
NID
|
0.931-3.60 |
0x14B99945
|
int sceSysconPowerCtrlKermitResetForDriver(void);
sceSysconBatteryExecBLCommandForDriver
Version |
NID
|
0.990-3.60 |
0x74B2AB55
|
int sceSysconBatteryExecBLCommandForDriver(int ctx);
sceSysconBatteryReadBLCommandForDriver
Version |
NID
|
0.990-3.60 |
0x448DAFF1
|
int sceSysconBatteryReadBLCommandForDriver(int ctx, int unk1, int unk2, void *buf, SceSize size);
sceSysconBatterySetBLCommandForDriver
Version |
NID
|
0.990-3.60 |
0xE4F29744
|
int sceSysconBatterySetBLCommandForDriver(int ctx, int unk, void *src, SceSize size);
sceSysconBatteryStartBLModeForDriver
Version |
NID
|
0.990-3.60 |
0x2CEF078E
|
int sceSysconBatteryStartBLModeForDriver(void);
sceSysconBatteryStopBLModeForDriver
Version |
NID
|
0.990-3.60 |
0xE4AE7852
|
int sceSysconBatteryStopBLModeForDriver(void);
sceSysconBatterySWResetForDriver
Version |
NID
|
0.990-3.60 |
0x87DA378D
|
int sceSysconBatterySWResetForDriver(void);
SceSysconForDriver_ACEE1C70
Version |
NID
|
3.60 |
0xACEE1C70
|
related to battery, called by ScePowerForDriver_0D56C601.
SceSysconForDriver_4A184B7C
Version |
NID
|
3.60 |
0x4A184B7C
|
related to battery, called by ScePowerForDriver_627A89C6.
sceSysconIsLowBatteryInhibitUpdateRebootForDriver
Version |
NID
|
3.60 |
0x1A0C140F
|
used by scePowerIsLowBatteryInhibitUpdateReboot
int sceSysconIsLowBatteryInhibitUpdateRebootForDriver(unk);
sceSysconIsLowBatteryInhibitUpdateDownloadForDriver
Version |
NID
|
3.60 |
0x1E3130EE
|
used by scePowerIsLowBatteryInhibitUpdateDownload
int sceSysconIsLowBatteryInhibitUpdateDownloadForDriver(unk);
sceSysconGetManualChargeModeForDriver
Version |
NID
|
3.60 |
0x4FEC564C
|
sceSysconCtrlManualChargeModeForDriver
Version |
NID
|
3.60 |
0xC6A2C9EF
|
int sceSysconCtrlManualChargeModeForDriver(int mode);
sceSysconGetLogInfoForDriver
Version |
NID
|
3.60 |
0x701535FC
|
sceSysconLogStartForDriver
Version |
NID
|
3.60 |
0x4E55CF5E
|
sceSysconLogStartWaitingForDriver
Version |
NID
|
3.60 |
0x9C0B1E61
|
sceSysconLogReadDataForDriver
Version |
NID
|
3.60 |
0x487D97F3
|
sceSysconGetTemperatureLogForDriver
Version |
NID
|
3.60 |
0x3B354824
|
sceSysconClearTemperatureLogForDriver
Version |
NID
|
3.60 |
0x3843D657
|
sceSysconGetUsbDetStatusForDriver
Version |
NID
|
3.60 |
0xEF810687
|
sceSysconCmdReadForDriver
Version |
NID
|
3.60 |
0x299B1CE7
|
used by SceRtc
int sceSysconCmdReadForDriver(uint32_t id, void *buffer, int size);
sceSysconGetBaryonTimestampForDriver
Version |
NID
|
3.60 |
0x4D588A0A
|
A temp name was sceSysconGetTimeStampForDriver.
int sceSysconGetBaryonTimestampForDriver(char timeStamp[16]);
sceSysconWaitInitializedForDriver
Version |
NID
|
3.60 |
0x55DF1C9B
|
int sceSysconWaitInitializedForDriver(void);
sceSysconCtrlHdmiCecPowerForDriver
Version |
NID
|
0.940-3.60 |
0x62155962
|
Sets the pin CDC Hot Plug Detect (HPD) state of the HDMI bridge (AD80244 / ADV7533).
int sceSysconCtrlHdmiCecPowerForDriver(SceBool enable_HDMI_CDC_HPD_pin);
sceSysconCmdSyncForDriver
Version |
NID
|
3.60 |
0x6E517D22
|
int sceSysconCmdSyncForDriver(SceSysconPacket *packet, int noWait);
sceSysconCtrlRMRPowerForDriver
Version |
NID
|
3.60 |
0x710A7CF0
|
Temp name was sceSysconCtrlMsPowerForDriver.
int sceSysconCtrlRMRPowerForDriver(int enable_power);
sceSysconSetPowerModeForDriver
Version |
NID
|
0.940-3.60 |
0x8A95D35C
|
Temp name was sceSysconResetDeviceForDriver.
int sceSysconSetPowerModeForDriver(int type, int mode);
It issues SMC #0
with r12 = 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 define names are like: "SCE_SYSCON_POWERMODE_MODE_STANDBY".
Type |
Description |
Syscon command
|
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 |
Cold reset |
{0x01, 8, 1, 0}
|
3 |
?Reset to update mode? |
{0xC1, 0, 2, 0}
|
4 |
?Reset to update mode? |
{0xC1, 0, 2, 1}
|
5 |
Hibernate |
{0xC2, 0, 2, 0x5A}
|
16 |
?? |
{0xC0, 0, 5, type, (~mode) & 0xFF, (~mode >> 8) & 0xFF, (mode >> 16) & 0xFF}
|
17 |
Soft reset (suspend and immediately resume) |
{0xC0, 0, 5, type, (~mode) & 0xFF, (~mode >> 8) & 0xFF, (mode >> 16) & 0xFF}
|
sceSysconEnableHibernateIOForDriver
Version |
NID
|
0.990-3.60 |
0x4946538A
|
sceSysconCmdExecForDriver
Version |
NID
|
0.990-3.60 |
0x9ADDCA4A
|
int sceSysconCmdExecForDriver(SceSysconPacket *packet, unsigned int flags);
sceSysconCtrlSdPowerForDriver
Version |
NID
|
3.60 |
0xBE1ADE4F
|
int sceSysconCtrlSdPowerForDriver(int enable_power);
sceSysconCtrlWirelessPowerForDriver
Version |
NID
|
0.990 |
0x4FBDA504
|
3.60 |
unk
|
sceSysconCtrlWirelessPowerDownForDriver
Version |
NID
|
0.990 |
0xDF8C6D2D
|
3.60 |
unk
|
sceSysconCmdExecAsyncForDriver
Version |
NID
|
3.60 |
0xC2224E82
|
int sceSysconCmdExecAsyncForDriver(SceSysconPacket *packet, u32 flags, int (*callback)(SceSysconPacket *, void *), void *argp);
sceSysconCmdSendForDriver
Version |
NID
|
0.996-3.60 |
0xE26488B9
|
Temp name was sceSysconSendCommandForDriver.
Used by SceRtc and ScePower.
int sceSysconCmdSendForDriver(SceUInt32 id, void *args, SceSize size);
sceSysconVerifyConfigstorageScriptForDriver
Version |
NID
|
3.60 |
0xCC6F90A8
|
sceSysconLoadConfigstorageScriptForDriver
Version |
NID
|
3.60 |
0x89C5CFD6
|
sceSysconBeginConfigstorageTransactionForDriver
Version |
NID
|
0.990-3.60 |
0xA4968B8C
|
int sceSysconBeginConfigstorageTransactionForDriver(void);
sceSysconCommitConfigstorageTransactionForDriver
Version |
NID
|
0.990-3.60 |
0x7B9B3617
|
int sceSysconCommitConfigstorageTransactionForDriver(void);
sceSysconEndConfigstorageTransactionForDriver
Version |
NID
|
0.990-3.60 |
0xFCC3E8EE
|
int sceSysconEndConfigstorageTransactionForDriver(void);
sceSysconSetDebugHandlersForDriver
Version |
NID
|
0.990-3.60 |
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
|
3.60 |
0x9ADC9936
|
sceSysconGetTouchpanelDeviceInfoForDriver
Version |
NID
|
0.990-3.60 |
0xF492E69E
|
typedef struct SceKernelTouchpanelDeviceInfo {
uint16_t FrontVendorID;
uint16_t FrontFwVersion;
uint16_t BackVendorID;
uint16_t BackFwVersion;
} SceKernelTouchpanelDeviceInfo;
int sceSysconGetTouchpanelDeviceInfoForDriver(SceKernelTouchpanelDeviceInfo *pInfo);
sceSysconGetHardwareInfoForDriver
Version |
NID
|
0.931-3.60 |
0xCBD6D8BC
|
Return Ernie HW info. Hardcoded value seen: 0x102400.
int sceSysconGetHardwareInfoForDriver(void);
sceSysconGetHardwareInfo2ForDriver
Version |
NID
|
3.60 |
0x965C68C3
|
//"hwinfo = 0x%08x, id = 0x%llx, hwtype = 0x%08x"
typedef struct SceKernelHardwareInfo2 {
int hwinfo;
uint64_t id; // unsure
int hwtype; // unsure
} SceKernelHardwareInfo2;
int sceSysconGetHardwareInfo2ForDriver(SceKernelHardwareInfo2 *pInfo);
sceSysconGetBaryonVersionForDriver
Version |
NID
|
0.931-3.60 |
0xFF86F4C5
|
On PSVita it is Ernie Version not Baryon Version.
int sceSysconGetBaryonVersionForDriver(void);
SceSysconForDriver_0D0B6D25
Version |
NID
|
3.60 |
0x0D0B6D25
|
SceSysconForDriver_4BC63A40
Version |
NID
|
3.60 |
0x4BC63A40
|
SceSysconForDriver_EBE3262C
Version |
NID
|
1.03-3.60 |
0xEBE3262C
|
In SceSblPostSsMgr, used just after sceSysconGetBaryonVersionForDriver.
Return some Syscon Mode information. Bit 6 (from right) is Syscon DownLoader Mode flag. Bit 3 (from right) is some flag.
int SceSysconForDriver_EBE3262C(void);
sceSysconGetErnieDLVersionForDriver
Version |
NID
|
0.990-3.60 |
0xD2F456DC
|
void sceSysconGetErnieDLVersionForDriver(int *result);
sceSysconGetBatteryVersionForDriver
Version |
NID
|
0.931-3.60 |
0x68E0031E
|
Battery IC name: if HWinfo > 7 "Abby" else "Bert".
int sceSysconGetBatteryVersionForDriver(int *HWinfo, int *FWinfo, int *DFinfo);
sceSysconGetManufacturesStatusForDriver
Version |
NID
|
3.60 |
0x3E09A1F4
|
Unverified name.
SceSysconForDriver_9DA2A5AB
Version |
NID
|
3.60 |
0x9DA2A5AB
|
Used by scePowerGetBatteryLifeTime and other ScePower functions.
int SceSysconForDriver_9DA2A5AB(void);
sceSysconNvsSetRunModeForDriver
Version |
NID
|
0.931-3.60 |
0x81A6060D
|
Used by sceSblNvsReadDataForKernel and sceSblNvsWriteDataForKernel.
// mode: 0 before read/write
int sceSysconNvsSetRunModeForDriver(int mode);
sceSysconNvsSetUnkModeForDriver
Version |
NID
|
0.931-3.60 |
0x2EC6D55D
|
// mode: unk
int sceSysconNvsSetUnkModeForDriver(int mode);
sceSysconNvsReadDataForDriver
Version |
NID
|
0.931-3.60 |
0xACAFA2B8
|
Used by sceSblSsNvsReadDataForKernel and sceSblSsGetNvsDataForDriver.
int sceSysconNvsReadDataForDriver(int offset, char *buffer, int size);
sceSysconNvsWriteDataForDriver
Version |
NID
|
0.931-3.60 |
0x10C9657A
|
Used by sceSblSsNvsWriteDataForKernel and sceSblSsSetNvsDataForDriver.
int sceSysconNvsWriteDataForDriver(int offset, char *buffer, int size);
sceSysconGetMultiCnInfoForDriver
Version |
NID
|
3.60 |
0x1503D6A0
|
sceSysconSetMultiCnPortForDriver
Version |
NID
|
0.940-3.60 |
0x8AAB6308
|
// port: 0: for JIG mode, 0x10000: for normal mode
int sceSysconSetMultiCnPortForDriver(int port);
sceSysconCtrlLEDForDriver
Version |
NID
|
0.931-3.60 |
0x04EC7579
|
#define STATE_ON 1
#define STATE_OFF 0
#define DEVICE_UNK 0x40 // maybe PS button or CP power LED
int sceSysconCtrlLEDForDriver(int device, SceBool state);
?sceSysconConfigLEDForDriver?
Version |
NID
|
3.60 |
0x6F586D1A
|
sceSysconCtrlAccPowerForDriver
Version |
NID
|
0.940-3.60 |
0x8D1D97E8
|
int sceSysconCtrlAccPowerForDriver(SceBool enable);
sceSysconCtrlDeviceResetForDriver
Version |
NID
|
0.990-3.60 |
0x40FF3898
|
sceSysconJigOpenPortForDriver
Version |
NID
|
0.940-3.60 |
0x44A173F5
|
int sceSysconJigOpenPortForDriver(void);
sceSysconJigClosePortForDriver
Version |
NID
|
0.940-3.60 |
0x483FAE05
|
int sceSysconJigClosePortForDriver(void);
sceSysconJigSetConfigForDriver
Version |
NID
|
0.940-3.60 |
0xD24BF916
|
int sceSysconJigSetConfigForDriver(char a1, char a2);
sceSysconCtrlHostOutputViaDongleForDriver
Version |
NID
|
0.990-3.60 |
0xDECCB2B4
|
Connect / disconnect PSVita SLIM Jig Host.
int sceSysconCtrlHostOutputViaDongleForDriver(SceBool enable);
receive_pm_sm_jig_msg_from_syscon
Version |
NID
|
0.940-3.60 |
0x3C80B529
|
int receive_pm_sm_jig_msg_from_syscon(unsigned int offset, unsigned int size, char *buf);
send_pm_sm_jig_msg_to_syscon
Version |
NID
|
0.940-3.60 |
0x7BFBA09E
|
send_pm_sm_stop_to_syscon
Version |
NID
|
0.990-3.60 |
0x933D813F
|
Used just after send_pm_sm_jig_msg_to_syscon or when it fails before.
int send_pm_sm_stop_to_syscon(int a1, int a2, int a3);
sceSysconIduModeSetForDriver
Version |
NID
|
3.60 |
0x956D07CB
|
sceSysconIduModeClearForDriver
Version |
NID
|
3.60 |
0x34574496
|
sceSysconShowModeSetForDriver
Version |
NID
|
3.60 |
0x6D65B70F
|
sceSysconShowModeClearForDriver
Version |
NID
|
3.60 |
0x8D7724C0
|
sceSysconIsDownLoaderModeForDriver
Version |
NID
|
3.60 |
0x9ADD60D2
|
sceSysconIsDealDownLoaderModeForDriver
Version |
NID
|
0.990-3.60 |
0xB7BCC638
|
sceSysconSetAlarmCallbackForDriver
Version |
NID
|
3.60 |
0x32418370
|
sceSysconSetWlanCallbackForDriver
Version |
NID
|
0.990 |
0x4DEB8712
|
3.60 |
not present
|
This is a guessed name.
Looks like sceSysconSetAlarmCallbackForDriver.
sceSysconSetLowBatteryCallbackForDriver
Version |
NID
|
3.60 |
0x3F0DB7C0
|
sceSysconSetThermalAlertCallbackForDriver
Version |
NID
|
3.60 |
0x773B8126
|
sceSysconUpdaterCalcChecksumForDriver
Version |
NID
|
0.990-3.60 |
0xD27C3D80
|
int sceSysconUpdaterCalcChecksumForDriver(void *segment, SceSize segment_size, int *checksum);
sceSysconUpdaterExecFinalizeForDriver
Version |
NID
|
0.990-3.60 |
0xC7747A63
|
// size is usually 0x14
int sceSysconUpdaterExecFinalizeForDriver(void *buf, SceSize size);
sceSysconUpdaterExecProgrammingForDriver
Version |
NID
|
0.990-3.60 |
0x69AD76E4
|
int sceSysconUpdaterExecProgrammingForDriver(int checksum);
sceSysconUpdaterSetRunModeForDriver
Version |
NID
|
0.990-3.60 |
0xB487C2FB
|
// mode: 0x3665, 0xc5e7, 0x9a54
int sceSysconUpdaterSetRunModeForDriver(int mode);
SceSysconForDriver_CBA836FF
Version |
NID
|
3.60 |
0xCBA836FF
|
int SceSysconForDriver_CBA836FF(void *buf, SceSize size);
sceSysconUpdaterSetSegmentForDriver
Version |
NID
|
0.990-3.60 |
0x9B00BC7F
|
int sceSysconUpdaterSetSegmentForDriver(SceUInt32 segment_no);
nvs_read_special
Version |
NID
|
1.03-3.60 |
0xEBDF88B9
|
Used in SceSblPostSsMgr to read data from NVS with pm_sm command 8. Also used in update_mgr with update_service_sm commands 0xB0002 and 0xC0002.
// in_size: 0x10
// out_size: 0x30
int nvs_read_special(void *in_buf, SceSize in_size, void *out_buf, SceSize out_size);
nvs_write_special
Version |
NID
|
1.03-3.60 |
0x63683B9B
|
Used in SceSblPostSsMgr to write data to NVS with pm_sm service 8. Also used in update_mgr with update_service_sm commands 0xB0002 and 0xC0002.
int nvs_write_special(void *in_buf, SceSize in_size, void *out_buf, SceSize out_size);
syscon_update_command_d2
Version |
NID
|
3.60 |
0x4D03754A
|
Used in update_mgr with update_service_sm command 0xD0002.
int syscon_update_command_d2(void *in_buf, SceSize in_size, void *out_buf, SceSize out_size);
SceSysconForDriver_D7F5A797
Version |
NID
|
0.996-3.60 |
0x4D03754A
|
int SceSysconForDriver_D7F5A797(void);
Commands used by function
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.
Commands used
|
NID
|
Description
|
0x1
|
0x270B7B0B and module_start
|
?? used during SysconInit
|
0x3
|
module_start
|
?? used during SysconInit
|
0x10
|
0xCF5B2F2F
|
??
|
0x11
|
0xD7BEFF8B
|
??
|
0x13
|
0xBA09F171
|
??
|
0x14
|
0x93075DD1
|
??
|
0x15
|
0x3E09A1F4
|
sceSysconGetManufacturesStatusForDriver
|
0x80
|
module_start
|
?? used at SysconInit
|
0xB0
|
0x058941D7
|
??
|
0xB2
|
0xDECCB2B4
|
sceSysconCtrlHostOutputViaDongleForDriver
|
0xB3
|
0x33B5CDB3
|
??
|
0xB4
|
0xF6D4DDC4
|
??
|
0xB7
|
0x91EF4EC3
|
??
|
0x100
|
0x145F59A4
|
??
|
0x120
|
0x76272CB9
|
??
|
0x130
|
module_start
|
?? used during SysconInit
|
0x131
|
0xF99BC858
|
??
|
0x190
|
0x8AAB6308
|
sceSysconSetMultiCnPortForDriver
|
0x38A
|
0xA1F1B973
|
??
|
0x3AC
|
0x3664E2C0
|
??
|
0x3BC
|
0x2E6D97CD
|
??
|
0x480
|
0xD01E64FC
|
??
|
0x800
|
0xA2FE9BF9
|
?? related to Ernie#CMD_0x0800
|
0x805
|
0xEF810687
|
sceSysconGetUsbDetStatusForDriver
|
0x806
|
0xE7F5D3DC
|
Reboots Vita?
|
0x807
|
0x253CC522
|
??
|
0x820
|
0x727F985A
|
??
|
0x840
|
0x4FEC564C
|
sceSysconGetManualChargeModeForDriver
|
0x841
|
0x3C3B949C
|
??
|
0x842
|
0x1C29C00E
|
??
|
0x843
|
0x730E4725
|
??
|
0x880
|
0xA039B563
|
??
|
0x881
|
0x9BF78047
|
??
|
0x884
|
0x3FDD29D6
|
??
|
0x885
|
0x79E6DD8B
|
??
|
0x886
|
0x62155962
|
sceSysconCtrlHdmiCecPowerForDriver
|
0x887
|
0x063425AE
|
??
|
0x888
|
0xBE1ADE4F
|
sceSysconCtrlSdPowerForDriver
|
0x889
|
0x8D1D97E8
|
sceSysconCtrlAccPowerForDriver. ?F00D and USB related?
|
0x88A
|
0xA2E85DB9
|
Wlan/Bluetooth related
|
0x88B
|
0x5A614349
|
??
|
0x88C
|
0xB872E904
|
??
|
0x88D
|
0xDD16ABD9
|
??
|
0x88E
|
0x7F198FA2
|
?? related to Ernie#CMD_0x088E
|
0x88F
|
0x40FF3898
|
sceSysconCtrlDeviceResetForDriver ?UsbEtherSmsc and WlanBt related?
|
0x890
|
0x285594F8
|
??
|
0x891
|
0x04EC7579
|
sceSysconCtrlLEDForDriver
|
0x892
|
0x596B17B7
|
ScePower related
|
0x893
|
0x2A4B0437
|
ScePower related
|
0x899
|
0x5CDDA14D
|
SceHpremote related
|
0x89A
|
0x59DC5938
|
SceUdcd and ScePower related
|
0x89B
|
0x710A7CF0
|
sceSysconCtrlRMRPowerForDriver
|
0x89C
|
0xB1F88B11
|
SceUsbServ related
|
0x89D
|
0x6F586D1A
|
?sceSysconConfigLEDForDriver?
|
0x89E
|
0x9CA6EB70
|
ScePower related
|
0x89F
|
0xCB41B531
|
??
|
0x8A0
|
0x9070F139
|
ScePower related
|
0x8A1
|
0x00A65FC1
|
??
|
0x8A2
|
0x0826BA07
|
??
|
0x8C0
|
|
sceSysconCtrlManualChargeModeForDriver
|
0x8C5
|
0x3274A925
|
SceUsbServ and SceUsbEtherSmsc related
|
0x8C6
|
0xDFB024C4
|
SceSblUpdateMgr related
|
0x8C7
|
0x87FF8041
|
??
|
0x8C8
|
0x7BFA95DA
|
??
|
0x8C9
|
0x451C1662
|
??
|
0x8CA
|
0x79074DE4
|
??
|
0x8CB
|
0x7D25F6D2
|
??
|
0x8CC
|
0xD2ADABCA
|
??
|
0x8CE
|
0x3B354824
|
sceSysconGetTemperatureLog
|
0x8CF
|
0x3843D657
|
sceSysconClearTemperatureLog
|
0x8D0
|
0xF87679EE
|
??
|
0x900, 0x802
|
0xC562AF3A
|
??
|
0x901, 0x803
|
0x03F11220
|
??
|
0x902
|
0xAD0A8275
|
??
|
0x903
|
0x26F9D729
|
??
|
0x981
|
0x9070F139
|
??
|
0x982
|
0x00A65FC1
|
??
|
0x983
|
0x0826BA07
|
??
|
0x984
|
0xB841C141
|
??
|
0x985
|
0x91D3B7A3
|
??
|
0x98A
|
0xF93CF833
|
??
|
0x98B
|
0xE1885F68
|
??
|
0x98C
|
0xCD73079D
|
??
|
0x9B0
|
|
sceSysconBatteryStartBLModeForDriver
|
0x9B1
|
|
sceSysconBatteryStopBLModeForDriver
|
0xA82
|
0x7BAFE083
|
??
|
0x1080
|
0x81A6060D
|
sceSysconNvsSetRunModeForDriver
|
0x1081
|
0x2EC6D55D
|
sceSysconNvsSetUnkModeForDriver
|
0x1082
|
|
sceSysconNvsReadForDriver
|
0x1083
|
|
sceSysconNvsWriteForDriver
|
0x1183
|
|
sceSysconUpdaterSetRunModeForDriver
|
0x1310
|
0x351946B0
|
??
|
0x1382
|
0xA4968B8C
|
sceSysconBeginConfigstorageTransactionForDriver
|
0x1383
|
0xFCC3E8EE
|
sceSysconEndConfigstorageTransactionForDriver
|
0x1384
|
0x7B9B3617
|
sceSysconCommitConfigstorageTransactionForDriver
|
0x1392
|
0xFD65FFCB
|
??
|
0x1393
|
0x02350352
|
??
|
0x1394
|
0x7DE84CE3
|
??
|
Callbacks
All the following exports have this function prototype: int sceSysconSet*Callback(void (*func)(int enable, void *argp), void *argp);
.
Maybe we will find more same as on PSP: SilverSpring's PSP Syscon callbacks enum.
NID |
Function |
Description
|
0x129EA022 |
?? |
??
|
0x14730196 |
??
|
??
|
0x2D471528 |
?? |
??
|
0x32418370 |
sceSysconSetAlarmCallbackForDriver |
SYSCON_CB_ALARM
|
0x3F0DB7C0 |
sceSysconSetLowBatteryCallbackForDriver |
SYSCON_CB_LOW_BATTERY
|
0x773B8126 |
sceSysconSetThermalAlertCallbackForDriver |
SYSCON_CB_THERMAL_ALERT
|
0x80D6E061 |
?? |
??
|
0x9F8340FF |
?? |
??
|