Difference between revisions of "SceHdmi"
Jump to navigation
Jump to search
CelesteBlue (talk | contribs) |
|||
(19 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
== Module == | == Module == | ||
− | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | ! Version | + | ! Version !! World !! Privilege |
|- | |- | ||
− | | | + | | 0.940-3.740.011 || Non-secure || Kernel |
− | |||
− | |||
|} | |} | ||
Line 19: | Line 16: | ||
! Version !! Name !! World !! Visibility !! NID | ! Version !! Name !! World !! Visibility !! NID | ||
|- | |- | ||
− | | | + | | 0.940-3.740.011 || [[SceHdmi#SceHdmiForDriver|SceHdmiForDriver]] || Non-secure || Kernel || 0x58A1A1C5 |
|} | |} | ||
+ | |||
+ | == Types == | ||
+ | |||
+ | <source lang="C"> | ||
+ | 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; | ||
+ | </source> | ||
== SceHdmiForDriver == | == SceHdmiForDriver == | ||
+ | |||
+ | To find: | ||
+ | <pre> | ||
+ | HdmiSetRgbRangeMode | ||
+ | HdmiSetResolution | ||
+ | </pre> | ||
+ | |||
+ | Note that 3.010.031 FW has not be looked into but seems interesting. | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 28: | Line 76: | ||
! Version !! NID !! Name | ! Version !! NID !! Name | ||
|- | |- | ||
− | | 3. | + | | 0.940-3.010.031 || 0x11CDF06E || sceHdmiCmdSetTMDSCtrlForDriver |
|- | |- | ||
− | | 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. |
|- | |- | ||
− | | 3. | + | | 0.940-3.010.031 || 0x6478E8B6 || Not implemented on FW 0.940. |
|- | |- | ||
− | | 3. | + | | 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 sceHdmiRegisterEventCallbackForDriver(SceUInt32 slot, (void*)(void) fptr); Sets a callback slot (between 0 and 5). |
|- | |- | ||
− | | 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); |
|- | |- | ||
− | | 3. | + | | 0.940-3.740.011 || 0x854EEB78 || Gets VIC and Audio Config and setups memory. |
|- | |- | ||
− | | 3. | + | | 0.940-3.740.011 || 0x99A3CABE || sceHdmiCmdSetVideoMuteForDriver. Black image functionality. |
|- | |- | ||
− | | 3. | + | | 0.940-3.740.011 || 0xE331EC90 || int sceHdmiUnRegisterEventCallbackForDriver(SceUInt32 slot); Clear callback slot (between 0 and 5). |
|- | |- | ||
− | | 3. | + | | 0.940-3.740.011 || 0xE66D5A4D || sceHdmiCmdSetAvMuteForDriver Temp name was sceHdmiSetTxMuteForDriver. |
|- | |- | ||
− | | 3. | + | | 0.940-3.740.011 || 0x0686FBD6 || sceHdmiSetHdcpModeForDriver_0 This is a guessed name. |
|- | |- | ||
− | | 0.940-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. |
|- | |- | ||
− | | 3. | + | | 0.990.000-3.740.011 || 0xF20529CC || int sceHdmiCmdSetEdidModeForDriver(SceBool mode); // mode: 0: Pass, 1: On |
|- | |- | ||
− | | 3. | + | | 0.990.000-3.740.011 || 0xFF5546D8 || sceHdmiCheckAksvForDriver This is a guessed name. |
|- | |- | ||
− | | 3. | + | | 2.100.081-3.740.011 || 0x4C31F5E8 || int sceHdmiCecCmdOneTouchPlayForDriver(SceUInt32 cmd); // cmd can be 0, 1 or 2 |
|- | |- | ||
− | | 3. | + | | 2.100.081-3.740.011 || 0x6D2D10D8 || sceHdmiCecCmdForcedPollingMsgForDriver |
|- | |- | ||
− | | 3. | + | | 2.500.071-3.740.011 || 0xFA30ACFC || int sceHdmiCecEnableForDriver(void); |
|- | |- | ||
− | | 3. | + | | 2.500.071-3.740.011 || 0x291F000B || int sceHdmiCecDisableForDriver(void); |
|- | |- | ||
− | | 3. | + | | 2.500.071-3.740.011 || 0x47B753EB || int sceHdmiClearCecInfoForDriver(void); |
|- | |- | ||
− | | 3.60 || | + | | 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 | ||
|} | |} | ||
− | + | [[Category:ARM]] | |
+ | [[Category:Kernel]] | ||
[[Category:Modules]] | [[Category:Modules]] | ||
− | [[Category: | + | [[Category:Library]] |
Latest revision as of 21:03, 1 May 2023
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 |