![]() |
vitasdk
Documentation of the vitasdk
|
Exports for Kernel. More...
Data Structures | |
| struct | SceSysconPacket |
| struct | SceSysconDebugHandlers |
| A set of debug handlers for syscon, that you can set in ksceSysconSetDebugHandlers(). More... | |
| struct | SceKernelTouchpanelDeviceInfo |
| Touch-panel vendor IDs and firmware revisions returned by ksceSysconGetTouchpanelDeviceInfo. More... | |
Macros | |
| #define | SCE_SYSCON_PACKET_TX_CMD_LO 0 |
| #define | SCE_SYSCON_PACKET_TX_CMD_HI 1 |
| #define | SCE_SYSCON_PACKET_TX_LENGTH 2 |
| #define | SCE_SYSCON_PACKET_TX_DATA(i) (3 + (i)) |
| #define | SCE_SYSCON_PACKET_RX_STATUS_LO 0 |
| #define | SCE_SYSCON_PACKET_RX_STATUS_HI 1 |
| #define | SCE_SYSCON_PACKET_RX_LENGTH 2 |
| #define | SCE_SYSCON_PACKET_RX_RESULT 3 |
| #define | SCE_SYSCON_PACKET_RX_DATA(i) (4 + (i)) |
| #define | SCE_SYSCON_BATTERY_BL_MAX_TRANSFER_SIZE 0x10 |
| #define | SCE_SYSCON_NVS_SIZE 0xB60 |
| #define | SCE_SYSCON_UPDATER_DIGEST_SIZE 0x14 |
Typedefs | |
| typedef int(* | SceSysconCmdExecAsyncCallback) (SceSysconPacket *packet, void *argp) |
| typedef void(* | SceSysconCallback) (int enable, void *argp) |
Enumerations | |
| enum | SceSysconCmd { SCE_SYSCON_CMD_RESET_DEVICE = 0x0C } |
| enum | SceSysconResetType { SCE_SYSCON_RESET_TYPE_POWEROFF = 0x00 , SCE_SYSCON_RESET_TYPE_SUSPEND = 0x01 , SCE_SYSCON_RESET_TYPE_COLD_RESET = 0x02 , SCE_SYSCON_RESET_TYPE_SOFT_RESET = 0x11 } |
| 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 } |
Functions | |
| VITASDK_BUILD_ASSERT_EQ (0x80, SceSysconPacket) | |
| VITASDK_BUILD_ASSERT_EQ (0xC, SceSysconDebugHandlers) | |
| int | ksceSysconWaitInitialized (void) |
| Waits until the syscon is initialized. | |
| int | ksceSysconCmdExec (SceSysconPacket *packet, unsigned int flags) |
| Execute synchronously a syscon packet. | |
| int | ksceSysconCmdExecAsync (SceSysconPacket *packet, unsigned int flags, SceSysconCmdExecAsyncCallback cb, void *argp) |
| Execute asynchronously a syscon packet. | |
| int | ksceSysconCmdSync (SceSysconPacket *packet, int noWait) |
| Wait for the currently queued syscon packets to be executed, or check if any are in the queue. | |
| int | ksceSysconSetPowerMode (int type, int mode) |
| Reset the device. | |
| int | ksceSysconReadCommand (unsigned short cmd, void *buffer, SceSize size) |
| int | ksceSysconSendCommand (unsigned short cmd, const void *buffer, SceSize size) |
| int | ksceSysconSetDebugHandlers (const SceSysconDebugHandlers *handlers) |
| Set the debug handlers. | |
| int | ksceSysconCtrlLED (int led, int enable) |
| Turn a LED on or off. | |
| int | ksceSysconCtrlRMRPower (int power) |
| Set the memory stick power. | |
| int | ksceSysconCtrlSdPower (int power) |
| Set the SD power. | |
| int | ksceSysconCtrlHdmiCecPower (int power) |
| Set the ADV7533 HDMI CEC power. | |
| int | ksceSysconCtrlManualChargeMode (int) |
| int | ksceSysconEnableHibernateIO (int) |
| int | ksceSysconIduModeClear (void) |
| int | ksceSysconIduModeSet (void) |
| int | ksceSysconIsDownLoaderMode (void) |
| int | ksceSysconLogStart (void) |
| int | ksceSysconLogStartWaiting (void) |
| int | ksceSysconLogReadData (unsigned short, void *buff, SceSize size) |
| int | ksceSysconShowModeClear (void) |
| int | ksceSysconShowModeSet (void) |
| int | ksceSysconGetBaryonVersion (void) |
| Get the baryon version. | |
| unsigned long long | ksceSysconGetBaryonTimestamp () |
| Get the baryon timestamp. | |
| int | ksceSysconGetBatteryCalibData (int *, int *, int *, int *) |
| int | ksceSysconGetHardwareInfo (void) |
| int | ksceSysconGetHardwareInfo2 (int *, int *, int *) |
| int | ksceSysconGetLogInfo (int *) |
| int | ksceSysconGetManualChargeMode (int *) |
| int | ksceSysconGetManufacturesStatus (int *) |
| int | ksceSysconGetTemperatureLog (int *) |
| int | ksceSysconGetUsbDetStatus (int *) |
| int | ksceSysconClearTemperatureLog (int) |
| int | ksceSysconBeginConfigstorageTransaction (void) |
| int | ksceSysconCommitConfigstorageTransaction (void) |
| int | ksceSysconEndConfigstorageTransaction (void) |
| int | ksceSysconLoadConfigstorageScript (unsigned short, const void *buff, SceSize size) |
| int | ksceSysconVerifyConfigstorageScript (unsigned short, const void *buff, SceSize size) |
| int | ksceSysconSetAlarmCallback (SceSysconCallback callback, void *argp) |
| Set the alarm callback, that will be ran when the alarm timer is passed. | |
| int | ksceSysconSetLowBatteryCallback (SceSysconCallback callback, void *argp) |
| Set the low battery callback, that will be ran when the battery is low. | |
| int | ksceSysconSetThermalAlertCallback (SceSysconCallback callback, void *argp) |
| Set the thermal alert callback, that will be ran when the temperature reaches a critical point. | |
| int | ksceSysconGetControlsInfo (SceUInt32 *ctrl) |
| Get physics button control info. | |
| VITASDK_BUILD_ASSERT_EQ (0x8, SceKernelTouchpanelDeviceInfo) | |
| int | ksceSysconBatteryExecBLCommand (SceUInt16 command_context) |
| Execute the current battery-bootloader command context. | |
| int | ksceSysconBatteryReadBLCommand (SceUInt16 command_context, SceUInt8 request0, SceUInt8 request1, void *dst, SceUInt8 size) |
| Read data from a battery-bootloader command response. | |
| int | ksceSysconBatterySWReset (void) |
| Request a battery-controller software reset. | |
| int | ksceSysconBatterySetBLCommand (SceUInt16 command_context, SceUInt8 offset, const void *src, SceUInt8 size) |
| Write one chunk of battery-bootloader command data. | |
| int | ksceSysconBatteryStartBLMode (void) |
| Enter battery-bootloader mode. | |
| int | ksceSysconBatteryStopBLMode (void) |
| Leave battery-bootloader mode. | |
| int | ksceSysconCtrlAccPower (SceBool enable) |
| Control accessory-port power with Syscon command 0x0889. | |
| int | ksceSysconCtrlDevKitUsbPower (SceBool enable) |
| Control DevKit USB power with Syscon command 0x089C. | |
| int | ksceSysconCtrlDolceUsbPower (SceBool enable) |
| Control PSTV/Dolce USB power with Syscon command 0x08C5. | |
| int | ksceSysconCtrlHostOutputViaDongle (SceBool enable) |
| Control host diagnostic output through the Jig dongle. | |
| int | ksceSysconGetBatteryVersion (SceUInt32 *hardware_version, SceUInt32 *firmware_version, SceUInt32 *data_flash_version) |
| Get the battery hardware, firmware, and data-flash versions. | |
| int | ksceSysconGetMicroUsbInfo (SceUInt32 *info) |
| Get the cached raw Micro-USB connector information. | |
| int | ksceSysconGetMultiCnInfo (SceUInt32 *info) |
| Get the cached multi-connector information, with the mappings below. | |
| int | ksceSysconGetTouchpanelDeviceInfo (SceKernelTouchpanelDeviceInfo *info) |
| Get the front and rear touch-panel vendor IDs and firmware revisions. | |
| int | ksceSysconJigClosePort (void) |
| Close the Jig port. | |
| int | ksceSysconJigOpenPort (void) |
| Open the Jig port. | |
| int | ksceSysconJigSetConfig (SceUInt8 config0, SceUInt8 config1) |
| Set the two raw Jig configuration bytes. | |
| int | ksceSysconNvsReadData (SceUInt32 offset, void *buffer, SceSize size) |
| Read one aligned block from Syscon NVS. | |
| int | ksceSysconNvsSetRunMode (int mode) |
| Set the Syscon NVS run mode. | |
| int | ksceSysconNvsWriteData (SceUInt32 offset, const void *buffer, SceSize size) |
| Write one aligned block to Syscon NVS. | |
| int | ksceSysconSetMultiCnPort (int port) |
| Select the multi-connector port routing with Syscon command 0x0190. | |
| int | ksceSysconUpdaterCalcChecksum (const void *segment, SceSize segment_size, SceUInt32 *checksum) |
| Calculate the checksum of a Syscon updater firmware segment. | |
| int | ksceSysconUpdaterExecFinalize (const void *digest, SceSize size) |
| Finalize Syscon firmware programming. | |
| int | ksceSysconUpdaterExecProgramming (SceUInt32 checksum) |
| Program the selected Syscon firmware segment. | |
| int | ksceSysconUpdaterSetRunMode (int mode) |
| Set the Syscon updater run mode. | |
| int | ksceSysconUpdaterSetSegment (SceUInt32 segment_no) |
| Select a Syscon updater firmware segment. | |
Exports for Kernel.
Include the header file in your project:
Link the library to the executable:
| struct SceSysconPacket |
| struct SceSysconDebugHandlers |
A set of debug handlers for syscon, that you can set in ksceSysconSetDebugHandlers().
Data Fields | |
| int | size |
| Structure size (probably, unused). | |
| void(* | start )(SceSysconPacket *packet) |
| Callback ran right before running a packet, with a pointer to it passed as the first argument. | |
| void(* | end )(SceSysconPacket *packet) |
| Callback ran right after finishing running a packet, with a pointer to it passed as the first argument. | |
| struct SceKernelTouchpanelDeviceInfo |
Touch-panel vendor IDs and firmware revisions returned by ksceSysconGetTouchpanelDeviceInfo.
| Data Fields | ||
|---|---|---|
| SceUInt16 | front_vendor_id | Front touch-panel vendor ID. |
| SceUInt16 | front_firmware_rev | Front touch-panel firmware revision. |
| SceUInt16 | rear_vendor_id | Rear touch-panel vendor ID. |
| SceUInt16 | rear_firmware_rev | Rear touch-panel firmware revision. |
| #define SCE_SYSCON_PACKET_TX_CMD_LO 0 |
| #define SCE_SYSCON_PACKET_TX_CMD_HI 1 |
| #define SCE_SYSCON_PACKET_TX_LENGTH 2 |
| #define SCE_SYSCON_PACKET_TX_DATA | ( | i | ) | (3 + (i)) |
| #define SCE_SYSCON_PACKET_RX_STATUS_LO 0 |
| #define SCE_SYSCON_PACKET_RX_STATUS_HI 1 |
| #define SCE_SYSCON_PACKET_RX_LENGTH 2 |
| #define SCE_SYSCON_PACKET_RX_RESULT 3 |
| #define SCE_SYSCON_PACKET_RX_DATA | ( | i | ) | (4 + (i)) |
| #define SCE_SYSCON_BATTERY_BL_MAX_TRANSFER_SIZE 0x10 |
| #define SCE_SYSCON_NVS_SIZE 0xB60 |
| #define SCE_SYSCON_UPDATER_DIGEST_SIZE 0x14 |
| typedef int(* SceSysconCmdExecAsyncCallback) (SceSysconPacket *packet, void *argp) |
| typedef void(* SceSysconCallback) (int enable, void *argp) |
| enum SceSysconCmd |
| enum SceSysconResetType |
| enum SceSysconControl |
| VITASDK_BUILD_ASSERT_EQ | ( | 0x80 | , |
| SceSysconPacket | |||
| ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 0xC | , |
| SceSysconDebugHandlers | |||
| ) |
| int ksceSysconWaitInitialized | ( | void | ) |
Waits until the syscon is initialized.
| int ksceSysconCmdExec | ( | SceSysconPacket * | packet, |
| unsigned int | flags | ||
| ) |
Execute synchronously a syscon packet.
| packet | The packet to execute. Its tx member needs to be initialized. |
| flags | The packet flags. Check SceSysconPacketFlags. |
| int ksceSysconCmdExecAsync | ( | SceSysconPacket * | packet, |
| unsigned int | flags, | ||
| SceSysconCmdExecAsyncCallback | cb, | ||
| void * | argp | ||
| ) |
Execute asynchronously a syscon packet.
| packet | The packet to execute. Its tx member needs to be initialized. |
| flags | The packet flags. Check SceSysconPacketFlags. |
| cb | The packet callback. Check the callback member of SceSysconPacket. |
| argp | The second argument that will be passed to the callback when executed. |
| int ksceSysconCmdSync | ( | SceSysconPacket * | packet, |
| int | noWait | ||
| ) |
Wait for the currently queued syscon packets to be executed, or check if any are in the queue.
| packet | The packet you want to check or wait for, or NULL if you want to check or wait for all the currently running packets. |
| noWait | Set to 1 if you just want to check the packet status, or 0 if you want the function to return only when the packet queue is empty. |
| int ksceSysconSetPowerMode | ( | int | type, |
| int | mode | ||
| ) |
Reset the device.
| type | The reset type value, one of SceSysconResetType. |
| mode | The resetting mode (?). |
| int ksceSysconReadCommand | ( | unsigned short | cmd, |
| void * | buffer, | ||
| SceSize | size | ||
| ) |
| int ksceSysconSendCommand | ( | unsigned short | cmd, |
| const void * | buffer, | ||
| SceSize | size | ||
| ) |
| int ksceSysconSetDebugHandlers | ( | const SceSysconDebugHandlers * | handlers | ) |
Set the debug handlers.
| int ksceSysconCtrlLED | ( | int | led, |
| int | enable | ||
| ) |
Turn a LED on or off.
| led | The LED id. |
| enable | Set this value to 1 if you want the LED to turn on, or 0 if you want it to turn off. |
| int ksceSysconCtrlRMRPower | ( | int | power | ) |
Set the memory stick power.
| power | The new power value. |
| int ksceSysconCtrlSdPower | ( | int | power | ) |
Set the SD power.
| power | The new power value. |
| int ksceSysconCtrlHdmiCecPower | ( | int | power | ) |
Set the ADV7533 HDMI CEC power.
| power | The new power value. |
| int ksceSysconCtrlManualChargeMode | ( | int | ) |
| int ksceSysconEnableHibernateIO | ( | int | ) |
| int ksceSysconIduModeClear | ( | void | ) |
| int ksceSysconIduModeSet | ( | void | ) |
| int ksceSysconIsDownLoaderMode | ( | void | ) |
| int ksceSysconLogStart | ( | void | ) |
| int ksceSysconLogStartWaiting | ( | void | ) |
| int ksceSysconLogReadData | ( | unsigned short | , |
| void * | buff, | ||
| SceSize | size | ||
| ) |
| int ksceSysconShowModeClear | ( | void | ) |
| int ksceSysconShowModeSet | ( | void | ) |
| int ksceSysconGetBaryonVersion | ( | void | ) |
Get the baryon version.
| unsigned long long ksceSysconGetBaryonTimestamp | ( | ) |
Get the baryon timestamp.
| int ksceSysconGetBatteryCalibData | ( | int * | , |
| int * | , | ||
| int * | , | ||
| int * | |||
| ) |
| int ksceSysconGetHardwareInfo | ( | void | ) |
| int ksceSysconGetHardwareInfo2 | ( | int * | , |
| int * | , | ||
| int * | |||
| ) |
| int ksceSysconGetLogInfo | ( | int * | ) |
| int ksceSysconGetManualChargeMode | ( | int * | ) |
| int ksceSysconGetManufacturesStatus | ( | int * | ) |
| int ksceSysconGetTemperatureLog | ( | int * | ) |
| int ksceSysconGetUsbDetStatus | ( | int * | ) |
| int ksceSysconClearTemperatureLog | ( | int | ) |
| int ksceSysconBeginConfigstorageTransaction | ( | void | ) |
| int ksceSysconCommitConfigstorageTransaction | ( | void | ) |
| int ksceSysconEndConfigstorageTransaction | ( | void | ) |
| int ksceSysconLoadConfigstorageScript | ( | unsigned short | , |
| const void * | buff, | ||
| SceSize | size | ||
| ) |
| int ksceSysconVerifyConfigstorageScript | ( | unsigned short | , |
| const void * | buff, | ||
| SceSize | size | ||
| ) |
| int ksceSysconSetAlarmCallback | ( | SceSysconCallback | callback, |
| void * | argp | ||
| ) |
Set the alarm callback, that will be ran when the alarm timer is passed.
| callback | The callback function. |
| argp | The second argument that will be passed to the callback. |
| int ksceSysconSetLowBatteryCallback | ( | SceSysconCallback | callback, |
| void * | argp | ||
| ) |
Set the low battery callback, that will be ran when the battery is low.
| callback | The callback function. |
| argp | The second argument that will be passed to the callback. |
| int ksceSysconSetThermalAlertCallback | ( | SceSysconCallback | callback, |
| void * | argp | ||
| ) |
Set the thermal alert callback, that will be ran when the temperature reaches a critical point.
| callback | The callback function. |
| argp | The second argument that will be passed to the callback. |
| int ksceSysconGetControlsInfo | ( | SceUInt32 * | ctrl | ) |
Get physics button control info.
| [out] | ctrl | - The pointer of physics button control info output |
| VITASDK_BUILD_ASSERT_EQ | ( | 0x8 | , |
| SceKernelTouchpanelDeviceInfo | |||
| ) |
| int ksceSysconBatteryExecBLCommand | ( | SceUInt16 | command_context | ) |
Execute the current battery-bootloader command context.
FW 3.60 uses Syscon command 0x09B3. On Baryon versions through 0x00070503 it uses the legacy command 0x08B3. SceSblUpdateMgr numbers script records starting at 1 and uses each record's number as the command context.
| [in] | command_context | Battery-bootloader command context. |
| int ksceSysconBatteryReadBLCommand | ( | SceUInt16 | command_context, |
| SceUInt8 | request0, | ||
| SceUInt8 | request1, | ||
| void * | dst, | ||
| SceUInt8 | size | ||
| ) |
Read data from a battery-bootloader command response.
FW 3.60 uses Syscon command 0x09B4, or legacy command 0x08B4 on Baryon versions through 0x00070503. The two request bytes are transmitted independently and unmodified; their individual purposes are unknown.
| [in] | command_context | Battery-bootloader command context. |
| [in] | request0 | First raw request byte. |
| [in] | request1 | Second raw request byte. |
| [out] | dst | Required buffer that receives size bytes. |
| [in] | size | Number of bytes to read, from 1 through SCE_SYSCON_BATTERY_BL_MAX_TRANSFER_SIZE. |
| int ksceSysconBatterySWReset | ( | void | ) |
Request a battery-controller software reset.
FW 3.60 uses Syscon command 0x0989. Baryon versions through 0x00070503 do not support this operation and return 0x8025023F without sending a command.
| int ksceSysconBatterySetBLCommand | ( | SceUInt16 | command_context, |
| SceUInt8 | offset, | ||
| const void * | src, | ||
| SceUInt8 | size | ||
| ) |
Write one chunk of battery-bootloader command data.
FW 3.60 uses Syscon command 0x09B2, or legacy command 0x08B2 on Baryon versions through 0x00070503. SceSblUpdateMgr uses offset as the byte offset of this chunk within the current script record.
| [in] | command_context | Battery-bootloader command context. |
| [in] | offset | Byte offset of the chunk within the command data. |
| [in] | src | Required source buffer. |
| [in] | size | Number of bytes to write, from 1 through SCE_SYSCON_BATTERY_BL_MAX_TRANSFER_SIZE. |
| int ksceSysconBatteryStartBLMode | ( | void | ) |
Enter battery-bootloader mode.
Uses Syscon command 0x09B0, or legacy command 0x08B0 on Baryon versions through 0x00070503.
| int ksceSysconBatteryStopBLMode | ( | void | ) |
Leave battery-bootloader mode.
Uses Syscon command 0x09B1, or legacy command 0x08B1 on Baryon versions through 0x00070503.
| int ksceSysconCtrlAccPower | ( | SceBool | enable | ) |
| int ksceSysconCtrlDevKitUsbPower | ( | SceBool | enable | ) |
| int ksceSysconCtrlDolceUsbPower | ( | SceBool | enable | ) |
| int ksceSysconCtrlHostOutputViaDongle | ( | SceBool | enable | ) |
Control host diagnostic output through the Jig dongle.
Syscon command 0x00B2 receives the low 16 bits without validation. The PostSs manager disables this output while it owns the Jig port and restores it afterward on newer hardware.
| [in] | enable | Requested host-output state. |
| int ksceSysconGetBatteryVersion | ( | SceUInt32 * | hardware_version, |
| SceUInt32 * | firmware_version, | ||
| SceUInt32 * | data_flash_version | ||
| ) |
Get the battery hardware, firmware, and data-flash versions.
Each output may be NULL. For each non-NULL output, FW 3.60 stores the 16-bit response value in a 32-bit word with the upper 16 bits set to zero. It uses command 0x0980, or legacy command 0x0882 on Baryon versions through 0x00070503.
| [out] | hardware_version | Battery hardware version, or NULL. |
| [out] | firmware_version | Battery firmware version, or NULL. |
| [out] | data_flash_version | Battery data-flash version, or NULL. |
| int ksceSysconGetMicroUsbInfo | ( | SceUInt32 * | info | ) |
Get the cached raw Micro-USB connector information.
Bits 8 through 15 contain the connector code. SceUsbServ treats code 0x02 as permitting USB device mode on FW 3.60.
| [out] | info | Optional output for the 32-bit information value. |
| int ksceSysconGetMultiCnInfo | ( | SceUInt32 * | info | ) |
Get the cached multi-connector information, with the mappings below.
Bits 8 through 15 contain the connector code. On hardware versions below 0x00400000, FW 3.60 maps the raw codes 0x60, 0x51, 0x65, and 0x55 to 0x00, 0x02, 0x04, and 0x05 respectively, and maps every other raw code to 0xFF. A genuine PSTV receives code 0x00 regardless of the cached value.
SceUsbServ treats codes 0x00 and 0x04 as permitting USB device mode on the older multi-connector hardware. SceHpremote identifies code 0x03 as an audio-output dock.
| [out] | info | Optional output for the 32-bit information value after mapping. |
| int ksceSysconGetTouchpanelDeviceInfo | ( | SceKernelTouchpanelDeviceInfo * | info | ) |
Get the front and rear touch-panel vendor IDs and firmware revisions.
Uses Syscon command 0x0380.
| [out] | info | Required 8-byte output structure. |
| int ksceSysconJigClosePort | ( | void | ) |
Close the Jig port.
FW 3.60 holds an internal mutex during the operation and uses Syscon command 0x2081. Closing an already-closed port returns 0x80250001.
| int ksceSysconJigOpenPort | ( | void | ) |
Open the Jig port.
FW 3.60 holds an internal mutex during the operation and uses Syscon command 0x2080. Opening an already-open port returns 0x80250001.
Set the two raw Jig configuration bytes.
The port must be open. Syscon command 0x2082 receives the two bytes followed by two zero bytes. Their individual purposes are unknown; the only observed FW 3.60 caller passes zero for both.
| [in] | config0 | First raw configuration byte. |
| [in] | config1 | Second raw configuration byte. |
Read one aligned block from Syscon NVS.
Uses Syscon command 0x1082. Valid transfer sizes are 1, 2, 4, 8, and 16 bytes. offset must be aligned to size, and the transfer must remain within SCE_SYSCON_NVS_SIZE bytes.
| [in] | offset | Byte offset in NVS. |
| [out] | buffer | Required destination buffer. |
| [in] | size | Transfer size in bytes. |
| int ksceSysconNvsSetRunMode | ( | int | mode | ) |
Set the Syscon NVS run mode.
Syscon command 0x1080 receives the low 16 bits without validation. Observed FW 3.60 callers pass zero before NVS reads and writes.
| [in] | mode | Raw NVS run-mode value. |
Write one aligned block to Syscon NVS.
Uses Syscon command 0x1083. Valid transfer sizes are 1, 2, 4, 8, and 16 bytes. offset must be aligned to size, and the transfer must remain within SCE_SYSCON_NVS_SIZE bytes.
| [in] | offset | Byte offset in NVS. |
| [in] | buffer | Required source buffer. |
| [in] | size | Transfer size in bytes. |
| int ksceSysconSetMultiCnPort | ( | int | port | ) |
Select the multi-connector port routing with Syscon command 0x0190.
Only the low 24 bits are transmitted and the value is not validated. The PostSs manager uses 0 for Jig routing and 0x10000 for normal routing.
| [in] | port | Raw routing value. |
| int ksceSysconUpdaterCalcChecksum | ( | const void * | segment, |
| SceSize | segment_size, | ||
| SceUInt32 * | checksum | ||
| ) |
Calculate the checksum of a Syscon updater firmware segment.
This function does not contact Syscon. It adds the unsigned bytes modulo 2^32 and writes the bitwise complement of the sum to checksum.
| [in] | segment | Segment data. Must not be NULL. |
| [in] | segment_size | Number of bytes. Must not be zero. |
| [out] | checksum | Receives the complemented 32-bit byte sum. Must not be NULL. |
| int ksceSysconUpdaterExecFinalize | ( | const void * | digest, |
| SceSize | size | ||
| ) |
Finalize Syscon firmware programming.
Syscon command 0x1184 receives the 20-byte digest. SceSblUpdateMgr supplies the digest from the type-0x20 updater record.
| [in] | digest | Digest data. Must not be NULL. |
| [in] | size | Digest size in bytes. Must be exactly SCE_SYSCON_UPDATER_DIGEST_SIZE. |
| int ksceSysconUpdaterExecProgramming | ( | SceUInt32 | checksum | ) |
Program the selected Syscon firmware segment.
Syscon command 0x1182 receives the checksum produced by ksceSysconUpdaterCalcChecksum.
| [in] | checksum | Complemented 32-bit segment checksum. |
| int ksceSysconUpdaterSetRunMode | ( | int | mode | ) |
Set the Syscon updater run mode.
FW 3.60 accepts only 0x152E, 0x3665, 0x72BA, 0x9A54, and 0xC5E7. Command 0x1183 receives the 16-bit value. SceSblUpdateMgr begins updates in modes 0, 2, and 3 with 0x9A54, 0x3665, and 0xC5E7 respectively. It ends updates in modes 2 and 3 with 0x72BA. It does not use 0x152E.
| [in] | mode | Updater run-mode value. |
| int ksceSysconUpdaterSetSegment | ( | SceUInt32 | segment_no | ) |
Select a Syscon updater firmware segment.
Syscon command 0x1180 receives only the low eight bits of segment_no; the value is not range-checked.
| [in] | segment_no | Segment number. |
| struct SceSysconPacket* SceSysconPacket::next |
| unsigned int SceSysconPacket::status |
| SceUID SceSysconPacket::semaId |
| unsigned int SceSysconPacket::unk |
| unsigned char SceSysconPacket::tx[32] |
| unsigned char SceSysconPacket::rx[32] |
| unsigned int SceSysconPacket::unk1[4] |
| int(* SceSysconPacket::callback) (struct SceSysconPacket *packet, void *argp) |
| void* SceSysconPacket::argp |
| unsigned int SceSysconPacket::time |
| unsigned int SceSysconPacket::unk2[5] |
| int SceSysconDebugHandlers::size |
Structure size (probably, unused).
| void(* SceSysconDebugHandlers::start) (SceSysconPacket *packet) |
Callback ran right before running a packet, with a pointer to it passed as the first argument.
| void(* SceSysconDebugHandlers::end) (SceSysconPacket *packet) |
Callback ran right after finishing running a packet, with a pointer to it passed as the first argument.
| SceUInt16 SceKernelTouchpanelDeviceInfo::front_vendor_id |
Front touch-panel vendor ID.
| SceUInt16 SceKernelTouchpanelDeviceInfo::front_firmware_rev |
Front touch-panel firmware revision.
| SceUInt16 SceKernelTouchpanelDeviceInfo::rear_vendor_id |
Rear touch-panel vendor ID.
| SceUInt16 SceKernelTouchpanelDeviceInfo::rear_firmware_rev |
Rear touch-panel firmware revision.