Difference between revisions of "SceHdmi"
Jump to navigation
Jump to search
(→Module) |
CelesteBlue (talk | contribs) |
||
Line 5: | Line 5: | ||
! Version !! World !! Privilege | ! Version !! World !! Privilege | ||
|- | |- | ||
− | | | + | | 0.940-3.740.011 || Non-secure || Kernel |
|} | |} | ||
Line 16: | Line 16: | ||
! Version !! Name !! World !! Visibility !! NID | ! Version !! Name !! World !! Visibility !! NID | ||
|- | |- | ||
− | | | + | | 0.940-3.740.011 || [[SceHdmi#SceHdmiForDriver|SceHdmiForDriver]] || Non-secure || Kernel || 0x58A1A1C5 |
|} | |} | ||
Line 24: | Line 24: | ||
typedef SceUInt16 SceHdmiScreenMode; // internal VIC, translated to VIC defined in CEA861D in sceHdmiSetupTx | typedef SceUInt16 SceHdmiScreenMode; // internal VIC, translated to VIC defined in CEA861D in sceHdmiSetupTx | ||
− | typedef struct SceHdmiSetupTxParam { // size is 0x10 on FW 3. | + | typedef struct SceHdmiSetupTxParam { // size is 0x10 on FW 3.600.011 |
SceHdmiScreenMode screenMode; | SceHdmiScreenMode screenMode; | ||
SceUInt16 unk_2; | SceUInt16 unk_2; | ||
Line 35: | Line 35: | ||
} SceHdmiSetupTxParam; | } SceHdmiSetupTxParam; | ||
− | typedef struct SceHdmiMonitorInfo { | + | typedef struct SceHdmiMonitorInfo { // size is 0xF4 on FW 3.600.011 |
// 0x0 | // 0x0 | ||
short manufacturer_id; | short manufacturer_id; | ||
Line 59: | Line 59: | ||
// 0x70 | // 0x70 | ||
char unk_70[0x84]; | char unk_70[0x84]; | ||
− | } SceHdmiMonitorInfo; | + | } SceHdmiMonitorInfo; |
</source> | </source> | ||
Line 69: | Line 69: | ||
HdmiSetResolution | HdmiSetResolution | ||
</pre> | </pre> | ||
+ | |||
+ | Note that 3.010.031 FW has not be looked into but seems interesting. | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 74: | Line 76: | ||
! Version !! NID !! Name | ! Version !! NID !! Name | ||
|- | |- | ||
− | | 3. | + | | 0.940-3.010.031 || 0x11CDF06E || sceHdmiCmdSetTMDSCtrlForDriver |
|- | |- | ||
− | | 0.940-3. | + | | 0.940-3.010.031 || 0xB2CD590E || Not implemented on FW 0.940. |
|- | |- | ||
− | | 0.940-3. | + | | 0.940-3.010.031 || 0xCB0D8AF5 || Not implemented on FW 0.940. |
|- | |- | ||
− | | 0.940-3. | + | | 0.940-3.010.031 || 0x6478E8B6 || Not implemented on FW 0.940. |
|- | |- | ||
− | | 0.940 || | + | | 0.940-3.010.031 || 0xD9D29A67 || Not implemented on FW 0.940. |
|- | |- | ||
− | | 3. | + | | 0.940-3.010.031 || 0xFBE18ADE || Not implemented on FW 0.940. |
|- | |- | ||
− | | 3. | + | | 0.940-3.740.011 || 0x08AFFB03 || sceHdmiCmdSetAudioMuteForDriver |
|- | |- | ||
− | | 3. | + | | 0.940-3.740.011 || 0x0F12364A || int sceHdmiRegisterSomeCallbackForDriver(SceUInt32 slot, (void*)(void) fptr); Sets a callback slot (between 0 and 5). This is a guessed name. |
|- | |- | ||
− | | 3. | + | | 0.940-3.740.011 || 0x5A212BB3 || int sceHdmiSetupTxForDriver(SceHdmiSetupTxParam *pParam); |
|- | |- | ||
− | | 3. | + | | 0.940-3.740.011 || 0x7AD0F6C9 || int sceHdmiGetChipIdForDriver(void *pBuf, SceSize inBufSize, SceSize *pOutBufSize); |
|- | |- | ||
− | | 0.940-3. | + | | 0.940-3.740.011 || 0x854EEB78 || Gets VIC and Audio Config and setups memory. |
|- | |- | ||
− | | 0.940 || | + | | 0.940-3.740.011 || 0x99A3CABE || sceHdmiCmdSetVideoMuteForDriver. Black image functionality. |
|- | |- | ||
− | | 3. | + | | 0.940-3.740.011 || 0xE331EC90 || int sceHdmiUnregisterSomeCallbackForDriver(SceUInt32 slot); Clear callback slot (between 0 and 5). This is a guessed name. |
|- | |- | ||
− | | 0.940-3. | + | | 0.940-3.740.011 || 0xE66D5A4D || sceHdmiCmdSetAvMuteForDriver Temp name was sceHdmiSetTxMuteForDriver. |
|- | |- | ||
− | | 0.940-3. | + | | 0.940-3.740.011 || 0x0686FBD6 || sceHdmiSetHdcpModeForDriver_0 This is a guessed name. |
|- | |- | ||
− | | 3. | + | | 0.940-3.740.011 || 0xFAB3A2E9 || sceHdmiSetHdcpModeForDriver_1 This is a guessed name. |
|- | |- | ||
− | | 3. | + | | 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. | + | | 0.990.000-3.740.011 || 0xF20529CC || int sceHdmiCmdSetEdidModeForDriver(SceBool mode); // mode: 0: Pass, 1: On |
|- | |- | ||
− | | 3. | + | | 0.990.000-3.740.011 || 0xFF5546D8 || |
|- | |- | ||
− | | | + | | 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 |
|- | |- | ||
− | | 3. | + | | 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 |
|- | |- | ||
− | | 3. | + | | 2.500.071-3.740.011 || 0x3126A070 || Registers a callback. |
|- | |- | ||
− | | 3. | + | | 2.500.071-3.740.011 || 0x47894820 || Used to init? |
|- | |- | ||
− | | 3. | + | | 2.500.071-3.740.011 || 0x05174BC2 || |
|- | |- | ||
− | | | + | | 2.500.071-3.740.011 || 0xD929E4E5 || |
|- | |- | ||
− | | | + | | 2.500.071-3.740.011 || 0xEA486A37 || |
|- | |- | ||
− | | 3. | + | | 3.100.081-3.740.011 || 0xB04F5B6A || |
|} | |} | ||
Revision as of 21:12, 30 December 2022
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 sceHdmiRegisterSomeCallbackForDriver(SceUInt32 slot, (void*)(void) fptr); Sets a callback slot (between 0 and 5). This is a guessed name. |
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 sceHdmiUnregisterSomeCallbackForDriver(SceUInt32 slot); Clear callback slot (between 0 and 5). This is a guessed name. |
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 | |
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 | Registers a callback. |
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 |