Difference between revisions of "SceDeci4pCpup"

From Vita Development Wiki
Jump to navigation Jump to search
(28 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
 +
CP : Communication Processor
 +
 
== Module ==
 
== Module ==
  
Line 5: Line 8:
 
|-
 
|-
 
! Version !! Name !! World !! NID
 
! Version !! Name !! World !! NID
 +
|-
 +
| 1.69 || SceDeci4pCpup || Non-secure || 0x02FAACFD
 
|-
 
|-
 
| 3.60 || SceDeci4pCpup || Non-secure || ?
 
| 3.60 || SceDeci4pCpup || Non-secure || ?
Line 17: Line 22:
 
! Version !! Name !! World !! NID
 
! Version !! Name !! World !! NID
 
|-
 
|-
| 3.60 || SceDeci4pCpupForDriver || Non-secure || 0x5E323A42
+
| 1.69 - 3.60 || SceDeci4pCpupForDriver || Non-secure || 0x5E323A42
 
|}
 
|}
  
 
== SceDeci4pCpupForDriver ==
 
== SceDeci4pCpupForDriver ==
  
=== sceDeci4pCpupInitForDriver ===
+
=== SceDeci4pCpupForDriver_02CDA82C ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 1.69 || 0x02CDA82C
 +
|}
 +
 
 +
<source lang="C">
 +
int SceDeci4pCpupForDriver_02CDA82C(int a1);
 +
</source>
 +
 
 +
=== SceDeci4pCpupForDriver_2bad7b39 ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 0.990-1.69 || 0x2bad7b39
 +
|}
 +
 
 +
Start update.
 +
 
 +
<source lang="C">int SceDeci4pCpupForDriver_2bad7b39(int ctx);</source>
 +
 
 +
=== SceDeci4pCpupForDriver_765F7234 ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 1.69 || 0x765F7234
 +
|}
 +
 
 +
<source lang="C">
 +
int SceDeci4pCpupForDriver_765F7234(int a1, int a2, int a3, int a4);
 +
</source>
 +
 
 +
=== sceDeci4pCpupSetRtcForDriver ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0xC0AB956B
+
| 0.931-1.69 || 0xDAC4F630
 
|}
 
|}
 +
 +
<source lang="C">int sceDeci4pCpupSetRtcForDriver(int a1, int a2);</source>
 +
 +
=== sceDeci4pCpupInquireVersionForDriver ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 0.931-3.60 || 0xC0AB956B
 +
|}
 +
 +
<source lang="C">
 +
// proto_ver is the CPUP protocol version (ex: 0x1000300)
 +
int sceDeci4pCpupInquireVersionForDriver(int *proto_ver, int *pkg_ver, int *board_ver);
 +
</source>
  
 
=== sceDeci4pCpupGetCpSerialIdForDriver ===
 
=== sceDeci4pCpupGetCpSerialIdForDriver ===
Line 40: Line 96:
 
Reads 0x80 bytes (or 4 bytes at offset 0x80).
 
Reads 0x80 bytes (or 4 bytes at offset 0x80).
  
=== unk_4939DA45 ===
+
<source lang="C">
 +
// buf_size must be 0x80
 +
int sceDeci4pCpupGetCpSerialIdForDriver(char *buf, int buf_size);
 +
</source>
 +
 
 +
=== SceDeci4pCpup_0x4939DA45 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 53: Line 114:
 
// a2 = 0, = 1
 
// a2 = 0, = 1
 
// a3 = activation_key, = 0
 
// a3 = activation_key, = 0
int unk_4939DA45(int a1, int a2, int a3);
+
int SceDeci4pCpup_0x4939DA45(int a1, int a2, int a3);
 
</source>
 
</source>
  
Line 61: Line 122:
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 0.940 || 0x2015C7CB
+
| 0.940 - 1.69 || 0x2015C7CB
 
|}
 
|}
  
=== exec_command ===
+
<source lang="C">
 +
int sceDeci4pCpupGetRtcForDriver(int a1, int a2);
 +
</source>
 +
 
 +
=== sceDeci4pCpupExecCommand ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 79: Line 144:
 
// 4: reboot target and CP without CP update
 
// 4: reboot target and CP without CP update
 
// 5: shutdown target and CP with CP update
 
// 5: shutdown target and CP with CP update
int exec_command(cmd_id);
+
int sceDeci4pCpupExecCommand(uint32_t cmd_id);
 +
</source>
 +
 
 +
=== sceDeci4pCpupStartUpdateForDriver ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 0.990-3.60 || 0xDE07478F
 +
|}
 +
 
 +
<source lang="C">int sceDeci4pCpupStartUpdateForDriver(int a1, int a2, int *ctx);</source>
 +
 
 +
=== sceDeci4pCpupTriggerUpdateForDriver ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 0.990-3.60 || 0xD78403C8
 +
|}
 +
 
 +
<source lang="C">int sceDeci4pCpupTriggerUpdateForDriver(int ctx);</source>
 +
 
 +
=== sceDeci4pCpupGetProgressForDriver ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 0.990-3.60 || 0x7998FFD8
 +
|}
 +
 
 +
<source lang="C">
 +
// res becomes 0 on CP update success, <0 on CP update failure
 +
 
 +
int sceDeci4pCpupGetProgressForDriver(int ctx, int *res, int a3, int a4);
 
</source>
 
</source>
 +
 +
=== sceDeci4pCpupTransferUpdatePackageForDriver ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 0.990-3.60 || 0x90339379
 +
|}
 +
 +
<source lang="C">int sceDeci4pCpupTransferUpdatePackageForDriver(int ctx, int a2, int a3, int a4);</source>

Revision as of 02:34, 9 June 2020

CP : Communication Processor

Module

Known NIDs

Version Name World NID
1.69 SceDeci4pCpup Non-secure 0x02FAACFD
3.60 SceDeci4pCpup Non-secure ?

Libraries

Known NIDs

Version Name World NID
1.69 - 3.60 SceDeci4pCpupForDriver Non-secure 0x5E323A42

SceDeci4pCpupForDriver

SceDeci4pCpupForDriver_02CDA82C

Version NID
1.69 0x02CDA82C
int SceDeci4pCpupForDriver_02CDA82C(int a1);

SceDeci4pCpupForDriver_2bad7b39

Version NID
0.990-1.69 0x2bad7b39

Start update.

int SceDeci4pCpupForDriver_2bad7b39(int ctx);

SceDeci4pCpupForDriver_765F7234

Version NID
1.69 0x765F7234
int SceDeci4pCpupForDriver_765F7234(int a1, int a2, int a3, int a4);

sceDeci4pCpupSetRtcForDriver

Version NID
0.931-1.69 0xDAC4F630
int sceDeci4pCpupSetRtcForDriver(int a1, int a2);

sceDeci4pCpupInquireVersionForDriver

Version NID
0.931-3.60 0xC0AB956B
// proto_ver is the CPUP protocol version (ex: 0x1000300)
int sceDeci4pCpupInquireVersionForDriver(int *proto_ver, int *pkg_ver, int *board_ver);

sceDeci4pCpupGetCpSerialIdForDriver

Version NID
3.60 0x8139AD4E

Reads 0x80 bytes (or 4 bytes at offset 0x80).

// buf_size must be 0x80
int sceDeci4pCpupGetCpSerialIdForDriver(char *buf, int buf_size);

SceDeci4pCpup_0x4939DA45

Version NID
0.940 0x4939DA45
// values seen:
// a1 = CP RTC
// a2 = 0, = 1
// a3 = activation_key, = 0
int SceDeci4pCpup_0x4939DA45(int a1, int a2, int a3);

sceDeci4pCpupGetRtcForDriver

Version NID
0.940 - 1.69 0x2015C7CB
int sceDeci4pCpupGetRtcForDriver(int a1, int a2);

sceDeci4pCpupExecCommand

Version NID
0.990-3.60 0xBBB991CD
// cmd ids:
// 0: unk
// 1: unk
// 2: prepare safe shutdown
// 4: reboot target and CP without CP update
// 5: shutdown target and CP with CP update
int sceDeci4pCpupExecCommand(uint32_t cmd_id);

sceDeci4pCpupStartUpdateForDriver

Version NID
0.990-3.60 0xDE07478F
int sceDeci4pCpupStartUpdateForDriver(int a1, int a2, int *ctx);

sceDeci4pCpupTriggerUpdateForDriver

Version NID
0.990-3.60 0xD78403C8
int sceDeci4pCpupTriggerUpdateForDriver(int ctx);

sceDeci4pCpupGetProgressForDriver

Version NID
0.990-3.60 0x7998FFD8
// res becomes 0 on CP update success, <0 on CP update failure

int sceDeci4pCpupGetProgressForDriver(int ctx, int *res, int a3, int a4);

sceDeci4pCpupTransferUpdatePackageForDriver

Version NID
0.990-3.60 0x90339379
int sceDeci4pCpupTransferUpdatePackageForDriver(int ctx, int a2, int a3, int a4);