SceHdmi: Difference between revisions

From Vita Development Wiki
Jump to navigation Jump to search
(→‎SceHdmiForDriver: add sceHdmiGetMonitorInfo)
Line 25: Line 25:


<source lang="C">
<source lang="C">
typedef SceUInt16 SceHdmiScreenMode;
typedef SceUInt16 SceHdmiScreenMode; // internal VIC, translated to VIC defined in CEA861D in sceHdmiSetupTx


typedef struct SceHdmiSetupTxParam { // size is 0x10 on FW 3.60
typedef struct SceHdmiSetupTxParam { // size is 0x10 on FW 3.60
     SceHdmiScreenMode screenMode;
     SceHdmiScreenMode screenMode; // internal VIC translated to
     SceUInt16 unk_4;
     SceUInt16 unk_4;
     SceUInt16 unk_6;
     SceUInt16 unk_6;

Revision as of 00:22, 12 April 2020

Module

Known NIDs

Version Name World Privilege NID
1.69 SceHdmi Non-secure Kernel 0x930015D0
3.65 SceHdmi Non-secure Kernel 0x7C2BF963

Libraries

Known NIDs

Version Name World Visibility NID
1.69-3.60 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.60
    SceHdmiScreenMode screenMode; // internal VIC translated to 
    SceUInt16 unk_4;
    SceUInt16 unk_6;
    SceUInt16 unk_8;
    SceUInt16 unk_A;
    SceUInt16 unk_C;
    SceUInt16 unk_E;
} SceHdmiSetupTxParam;

SceHdmiForDriver

To find:

HdmiSetRgbRangeMode
HdmiClearCecInfo
HdmiGetCecInfo
HdmiSetResolution
HdmiCecEnable
HdmiCecDisable
HdmiEnableCec
HdmiDisableCec
HdmiCecCmdForcedPollingMsg
Version NID Name
3.60 0x05174BC2
0.940-3.60 0x0686FBD6 sceHdmiSetHdcpModeForDriver_0
0.940-3.60 0x08AFFB03 sceHdmiCmdSetAudioMuteForDriver
0.940-3.60 0x0F12364A int SceHdmiForDriver_0F12364A(SceUInt32 some_id, SceUInt32 value); Sets a global variable to value according to the id (between 0 and 5)
0.940 0x11CDF06E sceHdmiCmdSetTMDSCtrlForDriver
3.60 0x291F000B int sceHdmiCecDisableForDriver(void);
3.60 0x3126A070 Registers a callback
3.60 0x47894820 Used to init ?
3.60 0x47B753EB int sceHdmiClearCecInfo(void);
3.60 0x4C31F5E8 int sceHdmiCecCmdOneTouchPlayForDriver(SceUInt32 cmd); // cmd can be 0, 1 or 2
0.940-3.60 0x5A212BB3 int sceHdmiSetupTxForDriver(SceHdmiSetupTxParam *pParam);
0.940 0x6478E8B6 not implemented on FW 0.940
3.60 0x6D2D10D8 sceHdmiCecCmdForcedPollingMsgForDriver
0.940-3.60 0x7AD0F6C9 int sceHdmiGetChipIdForDriver(void *pBuf, SceSize inBufSize, SceSize *pOutBufSize);
0.940-3.60 0x854EEB78 gets VIC and Audio Config and setups memory
3.60 0x8EB0FD9C int sceHdmiGetMonitorInfo(void *pBuf); Gets 0xF4 bytes of data for the active id (between 0 and 6), data is derived from the EDID.
3.60 0x93AA48AC int sceHdmiGetCecInfoForDriver(SceHdmiCecInfo *pCecInfo); // SceHdmiCecInfo is 0x20 bytes on FW 3.60
0.940-3.60 0x99A3CABE sceHdmiCmdSetVideoMuteForDriver. Black image functionality.
3.60 0xB04F5B6A
0.940 0xB2CD590E not implemented on FW 0.940
0.940 0xCB0D8AF5 not implemented on FW 0.940
3.60 0xD929E4E5
0.940 0xD9D29A67 not implemented on FW 0.940
0.940-3.60 0xE331EC90 int SceHdmiForDriver_E331EC90(SceUInt32 some_id); Sets a global variable to 0 according to the id (between 0 and 5)
0.940-3.60 0xE66D5A4D sceHdmiCmdSetAvMuteForDriver (temp name was sceHdmiSetTxMuteForDriver)
3.60 0xEA486A37
3.60 0xF20529CC int sceHdmiCmdSetEdidMode(SceBool mode); // mode: 0: Pass, 1: On
3.60 0xFA30ACFC int sceHdmiCecEnableForDriver(void);
0.940-3.60 0xFAB3A2E9 sceHdmiSetHdcpModeForDriver_1
0.940 0xFBE18ADE not implemented on FW 0.940
3.60 0xFF5546D8