SceDisplay: Difference between revisions

From Vita Development Wiki
Jump to navigation Jump to search
Line 176: Line 176:
== SceDisplay ==
== SceDisplay ==


=== sceDisplayWaitVblankStartMultiCB ===
=== _sceDisplayGetFrameBufInternal ===
{| class="wikitable"
{| class="wikitable"
|-
|-
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0x5F27764
| 1.69 || 0x86A8E436
|-
| 3.60 || 0x86A8E436
|}
|}
=== sceDisplayWaitSetFrameBufMultiCB ===
 
=== _sceDisplayGetFrameBuf ===
{| class="wikitable"
{| class="wikitable"
|-
|-
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0x3E796EF5
| 1.69 || 0xA753B0CA
|-
| 3.60 || 0xA753B0CA
|}
|}
=== sceDisplayWaitVblankStart ===
 
<source lang="C">int _sceDisplayGetFrameBuf(SceDisplayFrameBuf *pParam, int sync, SceSize *size);</source>
 
=== _sceDisplayGetMaximumFrameBufResolution ===
{| class="wikitable"
{| class="wikitable"
|-
|-
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0x5795E898
| 3.60 || 0x2EBFC7CB
|}
|}
=== sceDisplayRegisterVblankStartCallback ===
=== _sceDisplayGetResolutionInfoInternal ===
{| class="wikitable"
{| class="wikitable"
|-
|-
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0x6BDF4C4D
| 3.60 || 0xFEFEB240
|}
|}
=== sceDisplayWaitVblankStartCB ===
=== _sceDisplaySetFrameBufForCompat ===
{| class="wikitable"
{| class="wikitable"
|-
|-
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0x78B41B92
| 3.60 || 0x45BCB941
|}
|}
=== _sceDisplaySetFrameBufInternal ===
=== _sceDisplaySetFrameBufInternal ===
{| class="wikitable"
{| class="wikitable"
Line 217: Line 228:
|-
|-
| 1.69 || 0x7A8CB78E
| 1.69 || 0x7A8CB78E
|-
| 3.60 || 0x7A8CB78E
|}
|}
<source lang="C">int ksceDisplaySetFrameBufInternal(unsigned int head, unsigned int index, const SceDisplayFrameBuf *pParam, int sync)</source>
<source lang="C">int _sceDisplaySetFrameBufInternal(unsigned int head, unsigned int index, const SceDisplayFrameBuf *pParam, int sync)</source>
 
<source lang="C" inline>head</source>: Use 0 for OLED/LCD and 1 for HDMI
<source lang="C" inline>head</source>: Use 0 for OLED/LCD and 1 for HDMI


<source lang="C" inline>index</source>: Use 0 for game/apps and 1 for LiveArea (including HOME and PS overlays)
<source lang="C" inline>index</source>: Use 0 for game/apps and 1 for LiveArea (including HOME and PS overlays)


=== sceDisplayWaitSetFrameBufMulti ===
=== _sceDisplaySetFrameBuf ===
{| class="wikitable"
|-
! Version !! NID
|-
| 1.69 || 0xF51523CB
|-
| 3.60 || 0xF51523CB
|}
 
<source lang="C">int _sceDisplaySetFrameBuf(const SceDisplayFrameBuf *pParam, int sync, SceSize *size);</source>
 
=== sceDisplayGetPrimaryHead ===
{| class="wikitable"
{| class="wikitable"
|-
|-
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0x7D9864A8
| 3.60 || 0x7178FADA
|}
|}
=== sceDisplayWaitSetFrameBufCB ===
 
=== sceDisplayGetRefreshRate ===
{| class="wikitable"
{| class="wikitable"
|-
|-
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0x814C90AF
| 1.69 || 0xA08CA60D
|-
| 3.60 || 0xA08CA60D
|}
|}
=== _sceDisplayGetFrameBufInternal ===
 
=== sceDisplayGetVcountInternal ===
{| class="wikitable"
{| class="wikitable"
|-
|-
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0x86A8E436
| 1.69 || 0x9686859E
|-
| 3.60 || 0x9686859E
|}
|}
=== sceDisplayWaitSetFrameBuf ===
 
=== sceDisplayGetVcount ===
{| class="wikitable"
{| class="wikitable"
|-
|-
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0x9423560C
| 1.69 || 0xB6FDE0BA
|-
| 3.60 || 0xB6FDE0BA
|}
|}
=== sceDisplayGetVcountInternal ===
 
=== sceDisplayRegisterVblankStartCallback ===
{| class="wikitable"
{| class="wikitable"
|-
|-
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0x9686859E
| 1.69 || 0x6BDF4C4D
|-
| 3.60 || 0x6BDF4C4D
|}
|}
=== sceDisplayUnregisterVblankStartCallback ===
=== sceDisplayUnregisterVblankStartCallback ===
{| class="wikitable"
{| class="wikitable"
Line 264: Line 303:
|-
|-
| 1.69 || 0x98436A80
| 1.69 || 0x98436A80
|-
| 3.60 || 0x98436A80
|}
|}
=== sceDisplayGetRefreshRate ===
 
=== sceDisplayWaitSetFrameBufCB ===
{| class="wikitable"
|-
! Version !! NID
|-
| 1.69 || 0x814C90AF
|-
| 3.60 || 0x814C90AF
|}
 
=== sceDisplayWaitSetFrameBufMultiCB ===
{| class="wikitable"
|-
! Version !! NID
|-
| 1.69 || 0x3E796EF5
|-
| 3.60 || 0x3E796EF5
|}
 
=== sceDisplayWaitSetFrameBufMulti ===
{| class="wikitable"
{| class="wikitable"
|-
|-
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0xA08CA60D
| 1.69 || 0x7D9864A8
|-
| 3.60 || 0x7D9864A8
|}
|}
=== _sceDisplayGetFrameBuf ===
 
=== sceDisplayWaitSetFrameBuf ===
{| class="wikitable"
{| class="wikitable"
|-
|-
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0xA753B0CA
| 1.69 || 0x9423560C
|-
| 3.60 || 0x9423560C
|}
|}


<source lang="C">int _sceDisplayGetFrameBuf(SceDisplayFrameBuf *pParam, int sync, SceSize *size);</source>
=== sceDisplayWaitVblankStartCB ===
{| class="wikitable"
|-
! Version !! NID
|-
| 1.69 || 0x78B41B92
|-
| 3.60 || 0x78B41B92
|}


=== sceDisplayGetVcount ===
=== sceDisplayWaitVblankStartMultiCB ===
{| class="wikitable"
{| class="wikitable"
|-
|-
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0xB6FDE0BA
| 1.69 || 0x05F27764
|-
| 3.60 || 0x05F27764
|}
|}
=== sceDisplayWaitVblankStartMulti ===
=== sceDisplayWaitVblankStartMulti ===
{| class="wikitable"
{| class="wikitable"
Line 295: Line 373:
|-
|-
| 1.69 || 0xDD0A13B8
| 1.69 || 0xDD0A13B8
|-
| 3.60 || 0xDD0A13B8
|}
|}
=== _sceDisplaySetFrameBuf ===
 
=== sceDisplayWaitVblankStart ===
{| class="wikitable"
{| class="wikitable"
|-
|-
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0xF51523CB
| 1.69 || 0x5795E898
|-
| 3.60 || 0x5795E898
|}
|}
<source lang="C">int _sceDisplaySetFrameBuf(const SceDisplayFrameBuf *pParam, int sync, SceSize *size);</source>


[[Category:Modules]]
[[Category:Modules]]
[[Category:Kernel]]
[[Category:Kernel]]

Revision as of 16:18, 28 January 2018

This module handles management of the framebuffers. It uses various display drivers (OLED, HDMI, LCD) as well as drivers to control DMA and other low level details. Embedded in this module is also the boot logo (the PS logo seen on boot) which is gzipped. On module_start, after setting up the drivers, it gunzips the logo into the SceCamera SRAM (which is unused at this time since camera is not enabled yet). Then it sets the framebuffer to the camera SRAM and turns the brightness up in incremental levels.

Module

Nids in this module are calculated as sha1 so they can be bruteforced.

Known NIDs

Version Name World Privilege NID
1.69 SceDisplay Non-secure Kernel 0xA7D4F77A

Libraries

Known NIDs

Version Name World Visibility NID
1.69 SceDisplayForDriver Non-secure Kernel 0x9FED47AC
1.69 SceDisplay Non-secure User 0x5ED8F994

SceDisplayForDriver

sceDisplaySetFrameBufInternalForDriver

Version NID
3.60 0x16466675
int sceDisplaySetFrameBufInternalForDriver(const SceDisplayFrameBuf *pParam, int sync)

sceDisplaySetInvertColorsForDriver

Version NID
3.60 0x19140ACD

sceDisplayGetFrameBufInternalForDriver

Version NID
3.60 0x19F94C63
int sceDisplayGetFrameBufInternalForDriver(SceDisplayFrameBuf *pParam, int sync)

sceDisplaySetFrameBufForDriver

Version NID
3.60 0x289D82FE
int sceDisplaySetFrameBufForDriver(const SceDisplayFrameBuf *pParam, int sync)

sceDisplayGetActualViewportConfForDriver

Version NID
3.60 0x40ACFE51

sceDisplayWaitVblankStartMultiForDriver

Version NID
3.60 0x40F1469C

sceDisplayWaitVblankStartCBForDriver

Version NID
3.60 0x46F186C3

sceDisplayRegisterVblankStartCallbackToDisplayForDriver

Version NID
3.60 0x4AE2A2B1

sceDisplayGetFrameBufDimensionsForDriver

Version NID
3.60 0x5AFE6CD3
int sceDisplayGetFrameBufDimensionsForDriver(int *width, int *height)

sceDisplayWaitVblankStartMultiCBForDriver

Version NID
3.60 0x77ED8B3A

sceDisplayRegisterVblankStartCallbackForDriver

Version NID
3.60 0x7FB0BD28

sceDisplaySetDisplayColorSpaceModeForDriver

Version NID
3.60 0x8D79D187

sceDisplayWaitVblankStartForDriver

Version NID
3.60 0x984C27E7

sceDisplayUnregisterVblankStartCallbackForDriver

Version NID
3.60 0xB027433E

sceDisplayGetResolutionInfoInternalForDriver

Version NID
3.60 0xB3C6D647

sceDisplaySetViewportConfForDriver

Version NID
3.60 0xEE5EB52D

sceDisplayGetFrameBufForDriver

Version NID
3.60 0xEEDA2E54
int sceDisplayGetFrameBufForDriver(SceDisplayFrameBuf *pParam, int sync)

SceDisplay

_sceDisplayGetFrameBufInternal

Version NID
1.69 0x86A8E436
3.60 0x86A8E436

_sceDisplayGetFrameBuf

Version NID
1.69 0xA753B0CA
3.60 0xA753B0CA
int _sceDisplayGetFrameBuf(SceDisplayFrameBuf *pParam, int sync, SceSize *size);

_sceDisplayGetMaximumFrameBufResolution

Version NID
3.60 0x2EBFC7CB

_sceDisplayGetResolutionInfoInternal

Version NID
3.60 0xFEFEB240

_sceDisplaySetFrameBufForCompat

Version NID
3.60 0x45BCB941

_sceDisplaySetFrameBufInternal

Version NID
1.69 0x7A8CB78E
3.60 0x7A8CB78E
int _sceDisplaySetFrameBufInternal(unsigned int head, unsigned int index, const SceDisplayFrameBuf *pParam, int sync)

head: Use 0 for OLED/LCD and 1 for HDMI

index: Use 0 for game/apps and 1 for LiveArea (including HOME and PS overlays)

_sceDisplaySetFrameBuf

Version NID
1.69 0xF51523CB
3.60 0xF51523CB
int _sceDisplaySetFrameBuf(const SceDisplayFrameBuf *pParam, int sync, SceSize *size);

sceDisplayGetPrimaryHead

Version NID
3.60 0x7178FADA

sceDisplayGetRefreshRate

Version NID
1.69 0xA08CA60D
3.60 0xA08CA60D

sceDisplayGetVcountInternal

Version NID
1.69 0x9686859E
3.60 0x9686859E

sceDisplayGetVcount

Version NID
1.69 0xB6FDE0BA
3.60 0xB6FDE0BA

sceDisplayRegisterVblankStartCallback

Version NID
1.69 0x6BDF4C4D
3.60 0x6BDF4C4D

sceDisplayUnregisterVblankStartCallback

Version NID
1.69 0x98436A80
3.60 0x98436A80

sceDisplayWaitSetFrameBufCB

Version NID
1.69 0x814C90AF
3.60 0x814C90AF

sceDisplayWaitSetFrameBufMultiCB

Version NID
1.69 0x3E796EF5
3.60 0x3E796EF5

sceDisplayWaitSetFrameBufMulti

Version NID
1.69 0x7D9864A8
3.60 0x7D9864A8

sceDisplayWaitSetFrameBuf

Version NID
1.69 0x9423560C
3.60 0x9423560C

sceDisplayWaitVblankStartCB

Version NID
1.69 0x78B41B92
3.60 0x78B41B92

sceDisplayWaitVblankStartMultiCB

Version NID
1.69 0x05F27764
3.60 0x05F27764

sceDisplayWaitVblankStartMulti

Version NID
1.69 0xDD0A13B8
3.60 0xDD0A13B8

sceDisplayWaitVblankStart

Version NID
1.69 0x5795E898
3.60 0x5795E898