Talk:Resource Container (RCO): Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
mNo edit summary
Line 1: Line 1:


=RCO versioning=
=RCO versioning=
All RCO files contains a version number, the version increases with bigger firmwares but not always and is not directly associated with it. The same versioning sequence is used with rco's for PSP and PS3
All RCO files contains a version number, the version increases with bigger firmwares but not for every firmware and is not directly associated with it. The same versioning sequence is used in PSP and PS3 RCO's


It seems all the rco's of the same firmware shares the same version (speculative, not verifyed in all firmwares). Initially seems to be the version of the "rco set" or the version of the tool used to compile the whole "rco set" for a specific firmware
It seems all the RCO's of a specific firmware shares the same version (speculative, not verifyed in all firmwares). It seems to be the version of the "rco set", or the version of the "rco tool" used to compile the whole "rco set"


Is posible to create a correspondecy between the rco versions and the firmwares versions where it was used. RCOmage v1.1.1 (latest stable) identifyes the version based in a table with hardcoded values associated with a "system firmware version". The list was made for PSP and later was added the value 0x107 for PS3 (from an old ps3 firmware, newer firmwares has bigger versions)
Is posible to create a correspondecy between the "rco set" version and the firmwares versions where a specific "rco set" version was used. RCOmage v1.1.1 (latest stable) identifyes the version with a list of hardcoded values associated with a "system firmware version"


{{Boxcode|content=<syntaxhighlight lang="c">
{{Boxcode|content=<syntaxhighlight lang="c">
Line 20: Line 20:
</syntaxhighlight>}}
</syntaxhighlight>}}


After extracting the contents of the RCO with RCOmage, the version is stored for rebuilding purposes in the [[RCOXML Structure|RCOXML]] descriptor file as '''minFirmwareVer'''
After extracting the contents of the RCO with RCOmage, the "rco set" version is stored for rebuilding purposes in the [[RCOXML Structure|RCOXML]] descriptor file as an attribute with the name '''minFirmwareVer'''


If the version is unknown, the version is stored as '''<nowiki>unknownId0x%x</nowiki>''' using '''unknownId''' to specify the fact that is unknown + the real value '''<nowiki>0x%x</nowiki>''' in hex
If the version is unknown is stored as '''<nowiki>unknownId0x%x</nowiki>''' using '''unknownId''' to specify the fact that is unknown + the real hex value '''<nowiki>0x%x</nowiki>'''


Example... sysconf_plugin.rco from PS3 firmware 2.00 using version 0x106
Example... sysconf_plugin.rco from PS3 firmware 2.00 with "rco set" version 0x106
{{Boxcode|content=<syntaxhighlight lang="xml">
{{Boxcode|content=<syntaxhighlight lang="xml">
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml version="1.0" encoding="iso-8859-1"?>
Line 38: Line 38:


'''Speculation'''
'''Speculation'''
 
There is no known formula to make a direct conversion from the hex value to the system firmware... speculative ideas post here
There is some formula to make a direct conversion from the hex value to the system firmware ?. I dont see it --[[User:Sandungas|Sandungas]] ([[User talk:Sandungas|talk]]) 15:19, 17 April 2015 (UTC)


=PS3 RCO versions=
=PS3 RCO versions=
If there is no formula, the only thing we can do is to make a list with the versions used in the "rco sets" from all PS3 firmwares. Probably this list will be included in the next version of rcomage to improve PS3 compatibility so please help completing the collection
If there is no formula, the only thing we can do is to make a list with the versions used in the "rco set" from all PS3 firmwares. Probably this list will be included in the next version of rcomage to improve PS3 compatibility so please help completing the collection


<!-- noobfriendlly table by now, every firmware version uses a row, even if they shares the same "RCO set" version with other correlative firmwares -->
<!-- noobfriendlly tables by now, every firmware version uses a row, even if they shares the same "RCO set" version with other correlative firmwares -->
{| class="wikitable"
{| class="wikitable"
|-
|-
! Console !! "RCO set" version !! System firmware version
! Console !! System firmware version !! "RCO set" version
|+PSP
| PSP || 1.0 || 0x70
|-
|-
| PSP || 0x70 || 1.0
| PSP || 1.5 || 0x71
|-
|-
| PSP || 0x71 || 1.5
| PSP || 2.6 || 0x90
|-
|-
| PSP || 0x90 || 2.6
| PSP || 2.7 || 0x95
|-
|-
| PSP || 0x95 || 2.7
| PSP || 2.8 || 0x96
|-
|-
| PSP || 0x96 || 2.8
| PSP || 3.5 || 0x100
|-
|}
| PSP || 0x100 || 3.5
 
{| class="wikitable"
|+PS3
! Console !! System firmware version !! "RCO set" version
|-
|-
| PS3 || 0x106 || 2.00
| PS3 || 2.00 || 0x106
|-
|-
| PS3 || 0x107 || ?
| PS3 || ? || 0x107
|-
|-
| PS3 || 0x110 || 3.41
| PS3 || 3.41 || 0x110
|-
|-
| PS3 || 0x110 || 3.55
| PS3 || 3.55 || 0x110
|-
|-
| PS3 || 0x120 || 4.21
| PS3 || 4.21 || 0x120
|-
|-
| PS3 || 0x130 || 4.46
| PS3 || 4.46 || 0x130
|-
|-
| PS3 || 0x130 || 4.70
| PS3 || 4.70 || 0x130
|}
|}

Revision as of 19:14, 17 April 2015

RCO versioning

All RCO files contains a version number, the version increases with bigger firmwares but not for every firmware and is not directly associated with it. The same versioning sequence is used in PSP and PS3 RCO's

It seems all the RCO's of a specific firmware shares the same version (speculative, not verifyed in all firmwares). It seems to be the version of the "rco set", or the version of the "rco tool" used to compile the whole "rco set"

Is posible to create a correspondecy between the "rco set" version and the firmwares versions where a specific "rco set" version was used. RCOmage v1.1.1 (latest stable) identifyes the version with a list of hardcoded values associated with a "system firmware version"

Code Sample

After extracting the contents of the RCO with RCOmage, the "rco set" version is stored for rebuilding purposes in the RCOXML descriptor file as an attribute with the name minFirmwareVer

If the version is unknown is stored as unknownId0x%x using unknownId to specify the fact that is unknown + the real hex value 0x%x

Example... sysconf_plugin.rco from PS3 firmware 2.00 with "rco set" version 0x106

Code Sample

Speculation There is no known formula to make a direct conversion from the hex value to the system firmware... speculative ideas post here

PS3 RCO versions

If there is no formula, the only thing we can do is to make a list with the versions used in the "rco set" from all PS3 firmwares. Probably this list will be included in the next version of rcomage to improve PS3 compatibility so please help completing the collection

Console System firmware version "RCO set" version
PSP
PSP 1.0 0x70
PSP 1.5 0x71
PSP 2.6 0x90
PSP 2.7 0x95
PSP 2.8 0x96
PSP 3.5 0x100
PS3
Console System firmware version "RCO set" version
PS3 2.00 0x106
PS3 ? 0x107
PS3 3.41 0x110
PS3 3.55 0x110
PS3 4.21 0x120
PS3 4.46 0x130
PS3 4.70 0x130