Talk:Resource Container (RCO): Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
(moved to languages page)
(Please help completing the list of RCO versions !)
Line 1: Line 1:


=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
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
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)
{{Boxcode|content=<syntaxhighlight lang="c">
switch(rco->verId) {
case 0x70: fputs("1.0", fp); break;
case 0x71: fputs("1.5", fp); break;
case 0x90: fputs("2.6", fp); break;
case 0x95: fputs("2.7", fp); break;
case 0x96: fputs("2.8", fp); break;
case 0x100: fputs("3.5", fp); break;
//case 0x107: fputs("ps3", fp); break;
default: fprintf(fp, "unknownId0x%x", rco->verId);
}
</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'''
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
Example... sysconf_plugin.rco from PS3 firmware 2.00 using version 0x106
{{Boxcode|content=<syntaxhighlight lang="xml">
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- This XML representation of an RCO structure was generated by Rcomage v1.1.1 -->
<RcoFile UMDFlag="0" rcomageXmlVer="1.1" type="ps3" minFirmwareVer="unknownId0x106">
<MainTree name="sysconf_plugin">
<ImageTree>
<Image name="tex_sysconf_icon" src="Images\tex_sysconf_icon.png" format="gim" compression="zlib" unknownByte="0" />
<Image ...
<Image ..
<Image .
</syntaxhighlight>}}
'''Speculation'''
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=
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
<!-- noobfriendlly table by now, every firmware version uses a row, even if they shares the same "RCO set" version with other correlative firmwares -->
{| class="wikitable"
|-
! Console !! "RCO set" version !! System firmware version
|-
| PSP || 0x70 || 1.0
|-
| PSP || 0x71 || 1.5
|-
| PSP || 0x90 || 2.6
|-
| PSP || 0x95 || 2.7
|-
| PSP || 0x96 || 2.8
|-
| PSP || 0x100 || 3.5
|-
| PS3 || 0x106 || 2.00
|-
| PS3 || 0x107 || ?
|-
| PS3 || 0x120 || ?
|-
| PS3 || 0x130 || 4.70
|}

Revision as of 16:19, 17 April 2015

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

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

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)

Code Sample

After extracting the contents of the RCO with RCOmage, the version is stored for rebuilding purposes in the RCOXML descriptor file as minFirmwareVer

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

Example... sysconf_plugin.rco from PS3 firmware 2.00 using version 0x106

Code Sample

Speculation

There is some formula to make a direct conversion from the hex value to the system firmware ?. I dont see it --Sandungas (talk) 15:19, 17 April 2015 (UTC)

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

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