Difference between revisions of "SceCodec"

From Vita Development Wiki
Jump to navigation Jump to search
(Created page with "== Library == === Known NIDs === {| class="wikitable" |- ! Version !! Name !! World !! Privilege !! NID |- | 1.69 || SceCodec || Non-secure || Kernel || 0x4941084B |} == Mod...")
 
m (→‎Module: Typo)
 
(13 intermediate revisions by 6 users not shown)
Line 1: Line 1:
== Library ==
+
Driver for the PS Vita Audio CODEC chip.
 +
 
 +
The original PS Vita models and all PSTV models use a Wolfson Microelectronics WM1803 while late PS Vita Slim models (e.g. a USS-1002 unit from October 2015) use a Conexant CX20902.
 +
 
 +
The WM1803 is potentially derived from the [https://statics.cirrus.com/pubs/proDatasheet/WM8962B_Rev4.3.pdf WM8962B] as the pinout and registers seem to match.
 +
 
 +
== Module ==
 +
 
 +
This module only exists in Non-Secure world.
 +
 
 +
The module can be found in two versions at the following locations:
 +
* <code>os0:kd/codec.skprx</code> / <code>bootimage:codec.skprx</code> for the WM chip.
 +
* <code>bootimage:codec_cx.skprx</code> for the Conexant chip.
 +
 
 +
PSTV always uses the former whilst PS Vita uses the latter if [[SceSysStateMgr]]'s <code>AU_CODEC_IC_CONEXANT</code> check evaluates to true.
  
=== Known NIDs ===
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Version !! Name !! World !! Privilege !! NID
+
! Filename !! Version !! World !! Privilege  
 
|-
 
|-
| 1.69 || SceCodec || Non-secure || Kernel || 0x4941084B
+
| <code>codec.skprx</code> || 0.931-3.65 || Non-secure || Kernel
 +
|-
 +
| <code>codec_cx.skprx</code> || 3.50-3.60 || Non-secure || Kernel
 
|}
 
|}
  
== Modules ==
+
== Libraries ==
  
 
=== Known NIDs ===
 
=== Known NIDs ===
Line 17: Line 32:
 
! Version !! Name !! World !! Visibility !! NID
 
! Version !! Name !! World !! Visibility !! NID
 
|-
 
|-
| 1.69 || [[SceCodec#SceCodecForDriver|SceCodecForDriver]] || Non-secure || Kernel || 0x7697DFB4
+
| 0.931-3.60 || [[SceCodec#SceCodecForDriver|SceCodecForDriver]] || Non-secure || Kernel || 0x7697DFB4
 
|-
 
|-
| 1.69 || [[SceCodec#SceCodec|SceCodec]] || Non-secure || User || 0xD0A994AE
+
| 0.931-1.06 || [[SceCodec#SceCodec|SceCodec]] || Non-secure || User || not present
 +
|-
 +
| 1.50-1.69 || [[SceCodec#SceCodec|SceCodec]] || Non-secure || User || 0xD0A994AE
 +
|-
 +
| 1.80-3.74 || [[SceCodec#SceCodec|SceCodec]] || Non-secure || User || not present. Removed.
 
|}
 
|}
  
 
== SceCodecForDriver ==
 
== SceCodecForDriver ==
 +
 +
=== SceCodecForDriver_22C89CBA ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 1.80 || 0x22C89CBA
 +
|-
 +
| 3.60 || not present
 +
|}
 +
 +
=== SceCodecForDriver_B21F430C ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 1.80 || 0xB21F430C
 +
|-
 +
| 3.60 || not present
 +
|}
 +
 +
=== SceCodecForDriver_EA43A61F ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 1.80 || 0xEA43A61F
 +
|-
 +
| 3.60 || not present
 +
|}
 +
 +
=== SceCodecForDriver_F89C5615 ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 1.80 || 0xF89C5615
 +
|-
 +
| 3.60 || not present
 +
|}
 +
 +
=== sceCodecSetVolumeForDriver ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 1.80-3.60 || 0x8932F886
 +
|}
 +
 +
=== SceCodecForDriver_CCDE1B04 ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 1.80-3.60 || 0xCCDE1B04
 +
|}
 +
 +
=== SceCodecForDriver_23BF8884 ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 1.80-3.60 || 0x23BF8884
 +
|}
 +
 +
=== SceCodecForDriver_41CFFE48 ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 1.80-3.60 || 0x41CFFE48
 +
|}
 +
 +
=== SceCodecForDriver_4FA36937 ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 1.80-3.60 || 0x4FA36937
 +
|}
 +
 +
=== SceCodecForDriver_762BF716 ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 1.80-3.60 || 0x762BF716
 +
|}
 +
 +
=== SceCodecForDriver_C1DB7BAF ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 1.80-3.60 || 0xC1DB7BAF
 +
|}
 +
 +
=== SceCodecForDriver_CF398D8A ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 1.80-3.60 || 0xCF398D8A
 +
|}
 +
 +
=== SceCodecForDriver_E483B663 ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 1.80-3.60 || 0xE483B663
 +
|}
  
 
== SceCodec ==
 
== SceCodec ==
  
[[Category:Libraries]]
+
=== SceCodec_8FA4193D ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 1.50-1.69 || 0x8FA4193D
 +
|-
 +
| 1.80-3.74 || not present
 +
|}
 +
 
 +
Alias of [[#SceCodecForDriver_CCDE1B04]].
 +
 
 +
[[Category:ARM]]
 
[[Category:Kernel]]
 
[[Category:Kernel]]
 +
[[Category:Modules]]
 +
[[Category:Library]]

Latest revision as of 07:19, 24 May 2023

Driver for the PS Vita Audio CODEC chip.

The original PS Vita models and all PSTV models use a Wolfson Microelectronics WM1803 while late PS Vita Slim models (e.g. a USS-1002 unit from October 2015) use a Conexant CX20902.

The WM1803 is potentially derived from the WM8962B as the pinout and registers seem to match.

Module

This module only exists in Non-Secure world.

The module can be found in two versions at the following locations:

  • os0:kd/codec.skprx / bootimage:codec.skprx for the WM chip.
  • bootimage:codec_cx.skprx for the Conexant chip.

PSTV always uses the former whilst PS Vita uses the latter if SceSysStateMgr's AU_CODEC_IC_CONEXANT check evaluates to true.

Filename Version World Privilege
codec.skprx 0.931-3.65 Non-secure Kernel
codec_cx.skprx 3.50-3.60 Non-secure Kernel

Libraries

Known NIDs

Version Name World Visibility NID
0.931-3.60 SceCodecForDriver Non-secure Kernel 0x7697DFB4
0.931-1.06 SceCodec Non-secure User not present
1.50-1.69 SceCodec Non-secure User 0xD0A994AE
1.80-3.74 SceCodec Non-secure User not present. Removed.

SceCodecForDriver

SceCodecForDriver_22C89CBA

Version NID
1.80 0x22C89CBA
3.60 not present

SceCodecForDriver_B21F430C

Version NID
1.80 0xB21F430C
3.60 not present

SceCodecForDriver_EA43A61F

Version NID
1.80 0xEA43A61F
3.60 not present

SceCodecForDriver_F89C5615

Version NID
1.80 0xF89C5615
3.60 not present

sceCodecSetVolumeForDriver

Version NID
1.80-3.60 0x8932F886

SceCodecForDriver_CCDE1B04

Version NID
1.80-3.60 0xCCDE1B04

SceCodecForDriver_23BF8884

Version NID
1.80-3.60 0x23BF8884

SceCodecForDriver_41CFFE48

Version NID
1.80-3.60 0x41CFFE48

SceCodecForDriver_4FA36937

Version NID
1.80-3.60 0x4FA36937

SceCodecForDriver_762BF716

Version NID
1.80-3.60 0x762BF716

SceCodecForDriver_C1DB7BAF

Version NID
1.80-3.60 0xC1DB7BAF

SceCodecForDriver_CF398D8A

Version NID
1.80-3.60 0xCF398D8A

SceCodecForDriver_E483B663

Version NID
1.80-3.60 0xE483B663

SceCodec

SceCodec_8FA4193D

Version NID
1.50-1.69 0x8FA4193D
1.80-3.74 not present

Alias of #SceCodecForDriver_CCDE1B04.