SceHdmi: Difference between revisions
Jump to navigation
Jump to search
Devnoname120 (talk | contribs) (Swapped Module <-> Library, see revision 1.1 under "Revision History" of "Vita SDK specifications" (https://wiki.henkaku.xyz/vita/File:Vita_SDK_specifications.pdf)) |
No edit summary |
||
(26 intermediate revisions by 6 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 17: | 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" | |||
|- | |||
! 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 | |||
|} | |||
[[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 |