SceHdmi

From Vita Development Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Module

Version World Privilege
0.940-3.740.011 Non-secure Kernel

Libraries

Known NIDs

Version Name World Visibility NID
0.940-3.740.011 SceHdmiForDriver Non-secure Kernel 0x58A1A1C5

Types

typedef SceUInt16 SceHdmiScreenMode; // internal VIC, translated to VIC defined in CEA861D in sceHdmiSetupTx

typedef struct SceHdmiSetupTxParam { // size is 0x10 on FW 3.600.011
    SceHdmiScreenMode screenMode;
    SceUInt16 unk_2;
    SceUInt16 unk_4;
    SceUInt16 unk_6;
    SceUInt16 unk_8;
    SceUInt16 unk_A;
    SceUInt16 unk_C;
    SceUInt16 unk_E;
} SceHdmiSetupTxParam;

typedef struct SceHdmiMonitorInfo { // size is 0xF4 on FW 3.600.011
// 0x0
	short manufacturer_id;
	short product_code;
	int serial_number;
	char manufacture_week;
	char manufacture_year;
	char unk_a;
	char name[0x10];
	char pad_1b;
	int flags_1c;
// 0x20
	int unk_20;
	int flags_24;
	char unk_28[0x38];
// 0x60
	int unk_60;
	int unk_64;
	short unk_68;
	char screen_width;               // in centimetre
	char screen_height;              // in centimetre
	int unk_6c;
// 0x70
	char unk_70[0x84];
} SceHdmiMonitorInfo;

SceHdmiForDriver

To find:

HdmiSetRgbRangeMode
HdmiSetResolution

Note that 3.010.031 FW has not be looked into but seems interesting.

Version NID Name
0.940-3.010.031 0x11CDF06E sceHdmiCmdSetTMDSCtrlForDriver
0.940-3.010.031 0xB2CD590E Not implemented on FW 0.940.
0.940-3.010.031 0xCB0D8AF5 Not implemented on FW 0.940.
0.940-3.010.031 0x6478E8B6 Not implemented on FW 0.940.
0.940-3.010.031 0xD9D29A67 Not implemented on FW 0.940.
0.940-3.010.031 0xFBE18ADE Not implemented on FW 0.940.
0.940-3.740.011 0x08AFFB03 sceHdmiCmdSetAudioMuteForDriver
0.940-3.740.011 0x0F12364A int sceHdmiRegisterEventCallbackForDriver(SceUInt32 slot, (void*)(void) fptr); Sets a callback slot (between 0 and 5).
0.940-3.740.011 0x5A212BB3 int sceHdmiSetupTxForDriver(SceHdmiSetupTxParam *pParam);
0.940-3.740.011 0x7AD0F6C9 int sceHdmiGetChipIdForDriver(void *pBuf, SceSize inBufSize, SceSize *pOutBufSize);
0.940-3.740.011 0x854EEB78 Gets VIC and Audio Config and setups memory.
0.940-3.740.011 0x99A3CABE sceHdmiCmdSetVideoMuteForDriver. Black image functionality.
0.940-3.740.011 0xE331EC90 int sceHdmiUnRegisterEventCallbackForDriver(SceUInt32 slot); Clear callback slot (between 0 and 5).
0.940-3.740.011 0xE66D5A4D sceHdmiCmdSetAvMuteForDriver Temp name was sceHdmiSetTxMuteForDriver.
0.940-3.740.011 0x0686FBD6 sceHdmiSetHdcpModeForDriver_0 This is a guessed name.
0.940-3.740.011 0xFAB3A2E9 sceHdmiSetHdcpModeForDriver_1 This is a guessed name.
0.990.000-3.740.011 0x8EB0FD9C int sceHdmiGetMonitorInfoForDriver(void *pBuf); Gets 0xF4 bytes of data for the active id (between 0 and 6). Data is derived from the EDID.
0.990.000-3.740.011 0xF20529CC int sceHdmiCmdSetEdidModeForDriver(SceBool mode); // mode: 0: Pass, 1: On
0.990.000-3.740.011 0xFF5546D8 sceHdmiCheckAksvForDriver This is a guessed name.
2.100.081-3.740.011 0x4C31F5E8 int sceHdmiCecCmdOneTouchPlayForDriver(SceUInt32 cmd); // cmd can be 0, 1 or 2
2.100.081-3.740.011 0x6D2D10D8 sceHdmiCecCmdForcedPollingMsgForDriver
2.500.071-3.740.011 0xFA30ACFC int sceHdmiCecEnableForDriver(void);
2.500.071-3.740.011 0x291F000B int sceHdmiCecDisableForDriver(void);
2.500.071-3.740.011 0x47B753EB int sceHdmiClearCecInfoForDriver(void);
2.500.071-3.740.011 0x93AA48AC int sceHdmiGetCecInfoForDriver(SceHdmiCecInfo *pCecInfo); // SceHdmiCecInfo is 0x20 bytes on FW 3.60
2.500.071-3.740.011 0x3126A070 sceHdmiCecRegisterEventCallbackForDriver
2.500.071-3.740.011 0x47894820 Used to init?
2.500.071-3.740.011 0x05174BC2
2.500.071-3.740.011 0xD929E4E5
2.500.071-3.740.011 0xEA486A37
3.100.081-3.740.011 0xB04F5B6A sceHdmiEnableHPDForDriver This is a guessed name