Module
Known NIDs
Version |
Name |
World |
Privilege |
NID
|
1.69 |
SceLowio |
Non-secure |
Kernel |
0x19E0E42F
|
3.65 |
SceLowio |
Non-secure |
Kernel |
0xEE520DFD
|
Libraries
Known NIDs
ScePervasiveForDriver
?get_kermit_revision?
Version |
NID
|
0.990-3.60 |
0x714EEFB7
|
Returns <= 0 if Kermit revision is below 2.0.
int get_kermit_revision(void);
scePervasiveCecClockOutEnableForDriver
Version |
NID
|
0.940-3.60 |
0x26B51075
|
scePervasiveCecClockOutDisableForDriver
Version |
NID
|
0.940-3.60 |
0xD185D235
|
scePervasiveCameraBusClockSelectForDriver
Version |
NID
|
0.940-3.60 |
0x589D0291
|
// bus_clock can be either 2 (DOWN) or 5 (UP)
int scePervasiveCameraBusClockSelectForDriver(int bus_clock);
ScePervasiveForDriver_18DD8043
Version |
NID
|
3.60 |
0x18DD8043
|
Turns off the clock (&= ~mask) of the device (UART) at offset 0x120 + 4 * device
with mask = 1.
int ScePervasiveForDriver_18DD8043(int uart_bus);
ScePervasiveForDriver_243D0E78
Version |
NID
|
3.60 |
0x243D0E78
|
int ScePervasiveForDriver_243D0E78_get_dsi_clock_info(int pixelclock, int info0[2], int info1[2]);
scePervasiveIftuDsiClkGateDisableForDriver
Version |
NID
|
0.940-3.60 |
0x25AE181E
|
Temp name was ScePervasiveForDriver_25AE181E_dsi_clock_disable.
int scePervasiveIftuDsiClkGateDisableForDriver(int bus, int value);
ScePervasiveForDriver_2F195C97
Version |
NID
|
3.60 |
0x2F195C97
|
Turns on the clock (|= mask) of the device (GPIO) at offset 0x100
with mask = 1.
int ScePervasiveForDriver_2F195C97(void);
scePervasiveRemovableMemoryGetCardInsertStateForDriver
Version |
NID
|
3.60 |
0x551EEE82
|
int scePervasiveRemovableMemoryGetCardInsertStateForDriver(void);
ScePervasiveForDriver_64ABE589
Version |
NID
|
3.60 |
0x64ABE589
|
int ScePervasiveForDriver_64ABE589_msif_clock(int clock);
ScePervasiveForDriver_731A097D
Version |
NID
|
3.60 |
0x731A097D
|
Puts the device (GPIO) at offset 0x100
in reset (|= mask) with mask = 1.
int ScePervasiveForDriver_731A097D(void);
ScePervasiveForDriver_788B6C61
Version |
NID
|
3.60 |
0x788B6C61
|
Puts the device (UART) at offset 0x120 + 4 * device
in reset (|= mask) with mask = 1.
int ScePervasiveForDriver_788B6C61(int uart_bus);
ScePervasiveForDriver_78C34032
Version |
NID
|
3.60 |
0x78C34032
|
Puts the device at offset 0x100
(GPIO) out of reset (&= ~mask) with mask = 1.
int ScePervasiveForDriver_78C34032(void);
ScePervasiveForDriver_7B16F900
Version |
NID
|
3.60 |
0x7B16F900
|
Puts the device (SPI) at offset 0x104 + 4 * device
in reset (|= mask) with mask = 1.
int ScePervasiveForDriver_7B16F900(int device);
ScePervasiveForDriver_81A155F1
Version |
NID
|
3.60 |
0x81A155F1
|
Returns the SceLowio's mapped ScePervasiveMisc virtual address.
void *ScePervasiveForDriver_81A155F1(void);
ScePervasiveForDriver_8BAB45F8
Version |
NID
|
3.60 |
0x8BAB45F8
|
Changes UART baudrate. (There are 7 UART devices). Check SceUartClkgenReg. for more info.
int ScePervasiveForDriver_8BAB45F8(int uart_device, int baudrate);
ScePervasiveForDriver_91C80C41
Version |
NID
|
3.60 |
0x91C80C41
|
int ScePervasiveForDriver_91C80C41_set_dsi_bus_pixelclock(int bus, int pixelclock);
ScePervasiveForDriver_8A85E36B
Version |
NID
|
3.60 |
0x8A85E36B
|
Puts the device at offset 0x10
(? GpuEs4 related (Secure)) out of reset (&= ~mask) with mask = 1.
int ScePervasiveForDriver_8A85E36B(void);
ScePervasiveForDriver_A7CE7DCC
Version |
NID
|
3.60 |
0xA7CE7DCC
|
Puts the device (UART) at offset 0x120 + 4 * device
out of reset (&= ~mask) with mask = 1.
int ScePervasiveForDriver_A7CE7DCC(int uart_bus);
ScePervasiveForDriver_A7E64C6F
Version |
NID
|
3.60 |
0xA7E64C6F
|
Puts the device at offset 0x30
(Venezia) out of reset (&= ~mask) with mask = 1.
int ScePervasiveForDriver_A7E64C6F(void);
ScePervasiveForDriver_A85BF98A
Version |
NID
|
3.60 |
0xA85BF98A
|
Turns off the clock (&= ~mask) of the device (SPI) at offset 0x120 + 4 * device
with mask = 1.
int ScePervasiveForDriver_A85BF98A(int device);
scePervasiveIftuDsiClkGateEnableForDriver
Version |
NID
|
0.940-3.60 |
0xBC42C72F
|
Temp name was scePervasiveDsiClockEnableForDriver.
int scePervasiveIftuDsiClkGateEnableForDriver(int bus, int value);
ScePervasiveForDriver_DFD96BFC
Version |
NID
|
3.60 |
0xDFD96BFC
|
Turns on the clock (|= mask) of the device (SPI) at offset 0x104 + 4 * device
with mask = 1.
int ScePervasiveForDriver_DFD96BFC(int device);
scePervasiveIftuDsiResetEnableForDriver
Version |
NID
|
0.940-3.60 |
0xE3FC1C8D
|
Temp name was ScePervasiveForDriver_E3FC1C8D_dsi_reset_enter.
int scePervasiveIftuDsiResetEnableForDriver(int bus, int value);
ScePervasiveForDriver_E4B145AE
Version |
NID
|
3.60 |
0xE4B145AE
|
Puts the device (SPI) at offset 0x104 + 4 * device
out of reset (&= ~mask) with mask = 1.
int ScePervasiveForDriver_E4B145AE(int device);
ScePervasiveForDriver_EB176898
Version |
NID
|
3.60 |
0xEB176898
|
Turns off the clock (&= ~mask) of the device (GPIO) at offset 0x100
with mask = 1.
int ScePervasiveForDriver_EB176898(void);
ScePervasiveForDriver_EFD084D8
Version |
NID
|
3.60 |
0xEFD084D8
|
Turns on the clock (|= mask) of the device (UART) at offset 0x120 + 4 * device
with mask = 1.
int ScePervasiveForDriver_EFD084D8(int uart_bus);
scePervasiveIftuDsiResetDisableForDriver
Version |
NID
|
0.940-3.60 |
0xFFB43AC2
|
Temp name was scePervasiveDsiResetDisableForDriver.
int scePervasiveIftuDsiResetDisableForDriver(int bus, int value);
SceGpioForDriver
If bus
is 0
, the SceGpio0Reg
registers are used, and if bus
is 1
, the SceGpio1Reg
registers are used.
sceGpioQueryIntrForDriver
Version |
NID
|
3.60 |
0x010DC295
|
int sceGpioQueryIntrForDriver(int bus, int port);
sceGpioSetPortModeForDriver
Version |
NID
|
3.60 |
0x372022A4
|
int sceGpioSetPortModeForDriver(int bus, int port, int mode);
sceGpioSetIntrModeForDriver
Version |
NID
|
3.60 |
0xBBEA1DDC
|
int sceGpioSetIntrModeForDriver(int bus, int intr, int mode);
sceGpioPortSetForDriver
Version |
NID
|
0.990-3.60 |
0xD454A584
|
int sceGpioPortSetForDriver(int bus, int port);
sceGpioPortClearForDriver
Version |
NID
|
0.990-3.60 |
0xF6310435
|
int sceGpioPortClearForDriver(int bus, int port);
sceGpioAcquireIntrForDriver
Version |
NID
|
3.60 |
0x35AAD77A
|
int sceGpioAcquireIntrForDriver(int bus, int intr);
ScePwmForDriver
ScePwmForDriver_0374213C: 0x0374213C
ScePwmForDriver_13161CCC: 0x13161CCC
ScePwmForDriver_22C17D24: 0x22C17D24
ScePwmForDriver_514773B1: 0x514773B1
ScePwmForDriver_99911920: 0x99911920
SceI2cForDriver
Types
typedef struct SceI2cDebugHandlers {
unsigned int size;
void (*write_start)(int bus, int device, unsigned char *buffer, int size);
void (*write_error)(int bus, int error, int result);
void (*read_start)(int bus, int device, unsigned char *buffer, int size);
void (*read_error)(int bus, int error, int result);
void (*write_read_start)(int bus, int write_device, unsigned char *write_buffer, int write_size);
void (*write_read_error)(int bus, int error, int result);
} SceI2cDebugHandlers;
Version |
NID |
Name
|
3.60 |
0x0A40B7BF |
int sceI2cTransferWriteRead(int bus, unsigned int write_dev_id, const void *write_buffer, int write_size, unsigned int read_dev_id, void *read_buffer, int read_size);
|
3.60 |
0x30CF9469 |
|
3.60 |
0x76D277AB |
sceI2cReset(int bus);
|
3.60 |
0x9CF8F3D6 |
sceI2cInit(int bus);
|
3.60 |
0xA2C7CE62 |
int sceI2cSetDebugHandlers(int bus, SceI2cDebugHandlers *debug_handlers)
|
3.60 |
0xCA94A759 |
int sceI2cTransferWrite(int bus, unsigned int device_address, const void *buffer, unsigned int size);
|
3.60 |
0xD1D0A9A4 |
int sceI2cTransferRead(int bus, unsigned int device_address, void *buffer, unsigned int size);
|
3.60 |
0xE449AC6E |
|
SceGrabForDriver
SceGrabForDriver_072B8D93: 0x072B8D93
SceGrabForDriver_188BBCC8: 0x188BBCC8
SceGrabForDriver_1F292554: 0x1F292554
SceGrabForDriver_379130B2: 0x379130B2
SceGrabForDriver_5F36ABC4: 0x5F36ABC4
SceGrabForDriver_B22EE8BC: 0xB22EE8BC
SceGrabForDriver_E9C25A28: 0xE9C25A28
SceGrabForDriver_F13C63DD: 0xF13C63DD
SceCdramForDriver
SceCdramForDriver_0657FC1B: 0x0657FC1B
SceCdramForDriver_2D728EBF: 0x2D728EBF
SceCdramForDriver_3EFA7540: 0x3EFA7540
SceDsiForDriver
sceDsiStopMasterForDriver
Version |
NID
|
0.940-3.60 |
0x114D1413
|
Temp name was sceDsiDisableHeadForDriver.
int sceDsiStopMasterForDriver(int master);
sceDsiDcsReadForDriver
Version |
NID
|
3.60 |
0x3FB0DF1F
|
int sceDsiDcsReadForDriver(SceDisplayHead head, unsigned short param, void *buff, unsigned int size);
MIPI DSI DCS Read (0x06)
sceDsiGetPixelClockForDriver
Version |
NID
|
3.60 |
0x4DF9E924
|
int sceDsiGetPixelClockForDriver(SceDisplayHead head);
sceDsiStartMasterForDriver
Version |
NID
|
0.940-3.60 |
0x5BE5AA9B
|
Temp name was sceDsiEnableHeadForDriver.
int sceDsiStartMasterForDriver(int master);
SceDsiForDriver_6F8029A1
Version |
NID
|
3.60 |
0x6F8029A1
|
int SceDsiForDriver_6F8029A1(SceDisplayHead head);
Returns the current Vcount, read from ((*(u32 *)(SceDsiReg + 0x4C) >> 16) & 0x1FFF) - 1
.
sceDsiStopDisplayForDriver
Version |
NID
|
0.940-3.60 |
0x7640F607
|
int sceDsiStopDisplayForDriver(int head);
sceDsiSetDisplayModeForDriver
Version |
NID
|
3.60 |
0x78E6E3CF
|
Temp name was sceDsiSetLanesAndPixelSizeForDriver.
For head
== SCE_DISPLAY_HEAD_MAIN_LCD_OLED, lanes
must be 2 and pixelsize
24.
For head
== SCE_DISPLAY_HEAD_HDMI, lanes
can be 2 or 3 and pixelsize
can be 24 or 30.
int sceDsiSetDisplayModeForDriver(SceDisplayHead head, int lanes, int pixelsize);
SceDsiForDriver_8610B795
Version |
NID
|
3.60 |
0x8610B795
|
Sets internal struct member struct[head].unk1C = mul * struct[head].unk18 / div
.
int SceDsiForDriver_8610B795(SceDisplayHead head, int mul, int div);
sceDsiGenericShortWriteForDriver
Version |
NID
|
3.60 |
0x89C00D2F
|
Performs a MIPI DSI Generic Short Write, no parameters (0x03), MIPI DSI Generic Short Write, 1 parameter (0x13) or MIPI DSI Generic Short Write, 2 parameters (0x23) depending on the whether parami
is negative or not (bit 31 set).
int int sceDsiGenericShortWriteForDriver(SceDisplayHead head, int param0, int param1, int param2);
sceDsiSetVicForDriver
Version |
NID
|
3.60 |
0x97BFEA76
|
int sceDsiSetVicForDriver(SceDisplayHead head, int vic);
sceDsiGenericReadRequestForDriver
Version |
NID
|
3.60 |
0x98120684
|
Performs a MIPI DSI Generic Read Request, no parameters (0x04), or MIPI DSI Generic Read Request, 1 parameter (0x14) depending on the whether param
is negative or not (bit 31 set).
int sceDsiGenericReadRequestForDriver(SceDisplayHead head, int param, void *buff, SceSize size);
sceDsiGetVicResolutionForDriver
Version |
NID
|
3.60 |
0xB3A70C05
|
int sceDsiGetVicResolutionForDriver(int vic, int *width, int *height);
sceDsiDcsShortWriteForDriver
Version |
NID
|
3.60 |
0xBA6BC89F
|
If param1
is negative (bit 31 set), MIPI DSI DCS Short Write, no parameters (0x05) is performed. MIPI DSI DCS Short Write, 1 parameter (0x15) is performed otherwise.
int sceDsiDcsShortWriteForDriver(SceDisplayHead head, unsigned short param0, int param1);
sceDsiStartDisplayForDriver
Version |
NID
|
0.940-3.60 |
0xC2E85919
|
int sceDsiStartDisplayForDriver(int master, unsigned int control);
SceDsiForDriver_F2921E29
Version |
NID
|
3.60 |
0xF2921E29
|
int SceDsiForDriver_F2921E29(SceDisplayHead head, unsigned int unk);
sceDsiQeuryResolutionSizeForDriver
Version |
NID
|
0.940-3.60 |
0xFA9E2DC5
|
// After return, pResSize should take values: 0x8500, 0x8580
int sceDsiQeuryResolutionSizeForDriver(SceSize *pResSize);
SceIftuForDriver
typedef struct SceIftuFrameBuf {
unsigned int pixelformat;
unsigned int width; /* Aligned to 16 */
unsigned int height; /* Aligned to 8 */
unsigned int leftover_stride; /* (pitch - aligned_w) * bpp */
unsigned int leftover_align; /* if YCbCr: (width >> 1) & 0xF [chroma align?] */
unsigned int paddr0;
unsigned int paddr1;
unsigned int paddr2;
} SceIftuFrameBuf; /* size = 0x20 */
typedef struct SceIftuPlaneState {
SceIftuFrameBuf fb;
unsigned int unk20; // always 0?
unsigned int src_x; // in (0x10000 / 960) multiples ?
unsigned int src_y; // in (0x10000 / 544) multiples ?
unsigned int src_w; // seems to be width downscale in fixed point 16.16: (src_width * 0x10000) / dst_width
unsigned int src_h; // seems to be height downscale in fixed point 16.16: (src_height * 0x10000) / dst_height
unsigned int dst_x;
unsigned int dst_y;
unsigned int dst_w;
unsigned int dst_h;
unsigned int vtop_padding;
unsigned int vbot_padding; /* h - aligned_h */
unsigned int hleft_padding;
unsigned int hright_padding; /* w - aligned_w */
} SceIftuPlaneState; /* size = 0x54 */
typedef struct SceIftuCscParams {
unsigned int post_add_0; /* 10-bit integer */
unsigned int post_add_1_2; /* 10-bit integer */
unsigned int post_clamp_max_0; /* 10-bit integer */
unsigned int post_clamp_min_0; /* 10-bit integer */
unsigned int post_clamp_max_1_2; /* 10-bit integer */
unsigned int post_clamp_min_1_2; /* 10-bit integer */
unsigned int ctm[3][3]; /* S3.9 fixed point format */
} SceIftuCscParams; /* size = 0x3C */
typedef struct SceIftuConvParams {
unsigned int size;
unsigned int unk04;
SceIftuCscParams *csc_params1; // +0x08
SceIftuCscParams *csc_params2; // +0x0C
unsigned int csc_control; // +0x10
unsigned int unk14;
unsigned int unk18;
unsigned int unk1C;
unsigned int alpha;
unsigned int unk24;
} SceIftuConvParams; /* size = 0x28 */
sceIftuEnableForDriver
Version |
NID
|
0.940-3.60 |
0x0D7C02F7
|
Temp name was SceIftuForDriver_0D7C02F7_plane_enable.
int sceIftuEnableForDriver(unsigned int plane);
SceIftuForDriver_0FCBF457
Version |
NID
|
3.60 |
0x0FCBF457
|
Set plane CSC (Color Space Conversion) information.
int SceIftuForDriver_0FCBF457_set_plane_csc2(unsigned int plane, SceIftuCscParams *param);
SceIftuForDriver_357EAE24
Version |
NID
|
3.60 |
0x357EAE24
|
Sets plane alpha value. Only planes 1 and 3 support alpha blending. Supported alpha values are 0-0x100 where 0x100 is no transparency (alpha blending disable).
int SceIftuForDriver_357EAE24_set_plane_alpha(unsigned int plane, int alpha);
sceIftuSetInputFrameBufferForDriver
Version |
NID
|
0.940-3.60 |
0x7CE0C4DA
|
Setups a plane or fb?
int sceIftuSetInputFrameBufferForDriver(unsigned int index, SceIftuPlaneState *plane_state, int flags, int sync);
sceIftuConvertForDriver
Version |
NID
|
0.940-3.60 |
0x67E37EFC
|
Temp name was sceIftuCscForDriver.
Performs colorspace conversion (by using SceIftu2Reg).
int sceIftuConvertForDriver(SceIftuFrameBuf *dst_fb, SceIftuPlaneState *src_plane_state, SceIftuConvParams *conv_params);
sceIftuSetMergeSettingForDriver
Version |
NID
|
0.940-3.60 |
0xAF19FD85
|
Temp name was SceIftuForDriver_AF19FD85_set_global_blending_control.
int sceIftuSetMergeSettingForDriver(unsigned int plane, int control);
sceIftuDisableForDriver
Version |
NID
|
0.940-3.60 |
0xC11F30B3
|
Temp name was SceIftuForDriver_C11F30B3_plane_disable.
int sceIftuDisableForDriver(unsigned int plane);
SceIftuForDriver_D64F4C6B
Version |
NID
|
3.60 |
0xD64F4C6B
|
Set plane CSC (Color Space Conversion) information.
int SceIftuForDriver_D64F4C6B_set_plane_csc(unsigned int plane, SceIftuCscParams *param);
sceIftuSetOutputFormatForDriver
Version |
NID
|
0.940-3.60 |
0xE6EE2C6B
|
Set plane SRC_WIDTH and SRC_HEIGHT values (in fixed point 16.16).
int sceIftuSetOutputFormatForDriver(unsigned int plane, int src_width_hi, unsigned int src_height_hi, int src_width_lo, int src_height_lo);
SceCsiForDriver
SceCsiForDriver_10545393: 0x10545393
SceCsiForDriver_2AFEA1B0: 0x2AFEA1B0
SceCsiForDriver_4AE39F26: 0x4AE39F26
SceCsiForDriver_A1D1805D: 0xA1D1805D
SceCsiForDriver_B508822B: 0xB508822B
SceCsiForDriver_FC165297: 0xFC165297