SceHdmi: Difference between revisions
Jump to navigation
Jump to search
Cuevavirus (talk | contribs) (→Types: Add missing field in SceHdmiSetupTxParam) |
No edit summary |
||
(4 intermediate revisions by 3 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 | ||
|} | |} | ||
Line 27: | 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 38: | 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 62: | Line 59: | ||
// 0x70 | // 0x70 | ||
char unk_70[0x84]; | char unk_70[0x84]; | ||
} SceHdmiMonitorInfo; | } SceHdmiMonitorInfo; | ||
</source> | </source> | ||
Line 72: | 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 77: | 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 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); | ||
|- | |- | ||
| 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 sceHdmiUnRegisterEventCallbackForDriver(SceUInt32 slot); Clear callback slot (between 0 and 5). | ||
|- | |- | ||
| 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 || 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 | ||
|- | |- | ||
| 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 || sceHdmiCecRegisterEventCallbackForDriver | ||
|- | |- | ||
| 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 || 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 |