Communication Processor Update Package

From Vita Development Wiki
Revision as of 11:49, 24 October 2018 by Mathieulh (talk | contribs) (Initial draft regarding the Vita CP updates.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Updates to the communication processor are stored within a special CPUP package contained within Development kit (DEM or PDEL) PUP files. In firmware .940 and .945 (and their subsets) exclusively, the CPUP are embedded within encrypted Update packages.

Each CPUP shares a common header.

Offset Size Description
0x0 0x4 MAGIC (CpUp in Little Endian)
0x4 0x4 Version (in Little Endian)
0x13 0x1 Unknown, always 0x01
0x14 0x4 Full CPUP Size (in Little Endian)
0x18 0x1 Unknown, always 0x20
0x1C 0x4 Extracted/Decrypted CPUP size (in Little Endian)

Every CP updates below version 1000 (found in firmware 1.00) are divided in 2 parts (2 separate CPUP files set to the same version value), every version after version 1000 is only comprised of a single part.

The communication processor is updated through the use of the SceDeci4pCpup module.

Here are the different CP versions identified as of today:

CPUP Header Version Firmware
00060004 0604 0.902
00080508 0858 0.931
00090100 0910 0.940
00090203 0923 0.945
00090501 0951 0.990
00090600 0960 0.995.000
00090700 0970 0.995.070
00090708 0978 0.996
01000000 1000 1.000
01000001 1001 1.030
01000002 1002 1.040
01000106 1016 1.500
01000300 1030 1.600
01000800 1080 1.800
01010000 1100 2.000
01010702 1172 2.120
01010904 1194 2.500
01020001 1201 3.000
01030001 1301 3.100

The Kernel Boot Loader outputs the current CP version in the console, this follows the below standard:

Board.id ver.version

for example "bid.4 ver.1301" stands for board id 4 CP version 1301 DEM-3000H uses the CP board id 3 PDEL-1001 uses the CP board id 4