XMB Layouts: Difference between revisions
(→Example: renamed attributes using the same names than RCOXML Objects page) |
|||
(20 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{wikify}} | {{wikify}} | ||
=Description= | =Description= | ||
This files contains a list of | This files contains a list of values that defines the global coordinates of the <abbr title="The full lists has not been scanned and identifyed completly, but so far only was found positions and sizes">positions and sizes</abbr> loaded by some [[RCOXML Objects]]. Are divided in 4 [http://manuals.playstation.net/document/en/ps3/current/settings/videooutput.html video resolution modes] by its heigths: ('''1080''', '''720''', '''480''', '''272'''), and its types: ('''grid''', and '''factor''')<br> | ||
The values inside the '''grid''' tables contains the positions and sizes, while the '''factor''' tables contains multiplyers that are applyed to the '''grid''' values<br> | |||
Everytime a [[RCOXML Objects|RCOXML Object]] loads a value from the '''grid''' table is also loading another value from the '''factor''' table associated with it, then is applyed a math formula to calculate the resulting positions and sizes<br> | |||
This design is intended to reconfigure the position and sizes of all [[RCOXML Objects]] dinamically for the 4 different screen resolutions supported by [[XMB]] | |||
{{XMB Layout Tables}} | {{XMB Layout Tables}} | ||
=Versions= | =Versions= | ||
Line 19: | Line 19: | ||
==Factor== | ==Factor== | ||
{{layout_factor_tables}} | {{layout_factor_tables}} | ||
*Speculation | |||
**Lines 4, 5 are the screen resolution (width * height) | |||
**Lines 6,7, 8 seems to be a general scale factor (a multiplyer that allows decimals used to scale sizes), and maybe related with X,Y,Z axis scales | |||
=RCO override attributes= | =RCO override attributes= | ||
'''All "Override" attributes are pointers to a value stored in a line of [[XMB Layouts]] .txt files, the override indicates the line number in the .txt and the value in that line is loaded by the .rco | '''All "Override" attributes are pointers to a value stored in a line of [[XMB Layouts]] .txt files, the override indicates the line number in the .txt and the value in that line is loaded by the .rco | ||
**Some values used by [[RCOXML Objects]] are loaded externally to be able to scale the whole XMB interface for different screen resolution modes. Sony was adding more stuff in the XMB along the different firmware versions, and some of this "new" items used this same method, the result is more "override" values was added to the [[XMB Layouts]] .txt files, and as a consequence some of the other "old" values was "displaced" a few lines down in the [[XMB Layouts]] .txt files. This is the reason why in the changelog of custom_render_plugin.rco (and i bet most of the others .rco's using overrides) the value increases just a few units for every new version of the .rco (that units are a few lines that was added for that firmware in the .txt) | **Some values used by [[RCOXML Objects]] and [[RCOXML Animations]] are loaded externally to be able to scale the whole XMB interface for different screen resolution modes. Sony was adding more stuff in the XMB along the different firmware versions, and some of this "new" items used this same method, the result is more "override" values was added to the [[XMB Layouts]] .txt files, and as a consequence some of the other "old" values was "displaced" a few lines down in the [[XMB Layouts]] .txt files. This is the reason why in the changelog of custom_render_plugin.rco (and i bet most of the others .rco's using overrides) the value increases just a few units for every new version of the .rco (that units are a few lines that was added for that firmware in the .txt) | ||
**The reason why the new values added in the .txt displaces the old values... is because the list of values inside the .txt are ordered "by rco ownership". First are stored all the values for rco nº1... then all the values for rco nº2... and so on... obviouslly custom_render_plugin is not at top of the list because it stores his values around line 500. It has other values from other rco's before it and when that others had some addition this made the values of custom_render_plugins to be displaced some lines down in the list | **The reason why the new values added in the .txt displaces the old values... is because the list of values inside the .txt are ordered "by rco ownership". First are stored all the values for rco nº1... then all the values for rco nº2... and so on... obviouslly custom_render_plugin is not at top of the list because it stores his values around line 500. It has other values from other rco's before it and when that others had some addition this made the values of custom_render_plugins to be displaced some lines down in the list | ||
***I have no idea wich position in the [[XMB Layouts]] .txt files uses every .rco probably are ordered by using one of the lists from a .sprx or vsh.self... or maybe the order depends of the compilation enviroment sony uses for the official firmware | ***I have no idea wich position in the [[XMB Layouts]] .txt files uses every .rco probably are ordered by using one of the lists from a .sprx or vsh.self... or maybe the order depends of the compilation enviroment sony uses for the official firmware | ||
*Usually the override values from a specific .rco file are stored consecutivelly in the [[XMB Layouts]] files | |||
*But other values can be loaded by several .rco files. As example, the "plane" object "ps3logo" (children of "page" object "page_gameboot") is defined inside custom_render_plugin.rco and inside gamelib_plugin.rco both uses overrides to scale the playstation logo in size and the overrides of both are pointing to the same line number in the [[XMB Layouts]] files | |||
*There are 122 .rco files in firmware 4.76, the order of how are stored here the groups of values for every .rco is not clear, some posible options: | |||
**Based in a identifyer from the associated module.srpx | |||
**Based on a list in vsh.self | |||
**Alphabetical order | |||
**Based on a "messed up because suffered lot of changes" script used in the official compilation enviroment for PS3 firmware. In other words, the firmware doesnt cares and doesnt knows about the order and simply loads individual values after reading the position from the .rco file | |||
{{custom_render_plugin.rco changelog}} | {{custom_render_plugin.rco changelog}} | ||
**It seems the values stored in the [[XMB Layouts]] .txt files for custom_render_plugin.rco never changed (verifyed only in 2.00, 3.55, 4.46, 4.70), below are the real values, taken from layout_grid_table_1080.txt (for other resolutions the values are different) | **It seems the values stored in the [[XMB Layouts]] .txt files for custom_render_plugin.rco never changed (verifyed only in 2.00, 3.55, 4.46, 4.70), below are the real values, taken from layout_grid_table_1080.txt (for other resolutions the values are different) | ||
Line 37: | Line 51: | ||
==Example== | ==Example== | ||
In firmware 4.76 custom_render_plugin.rco contains 3 '''plane''' [[RCOXML Objects]] using the 21 standard attributes and 2 specific attributes: | |||
*Page object '''page_coldboot''' - is the old/classic coldboot from firmware 1.00 used when the console boots | |||
**Plane object '''scelogo''' - is an image of 1024x64 pixels size. Uses grid pointers | |||
*Page object '''page_coldboot2''' - is the new coldboot introduced in firmware 2.70 | |||
**Plane object '''coldboot_ps3logo''' - is a placeholder for the [[coldboot.raf]] animation. Doesnt uses grid pointers | |||
*Page object '''page_gameboot''' - used when a game boots | |||
**Plane object '''ps3logo''' - is an image of 1200x128 pixels size. Uses grid pointers | |||
{{Boxcode| | {{Boxcode|title=custom_render_plugin.rco.xml (cropped)|code=<syntaxhighlight lang="xml"> | ||
<RcoFile> | <RcoFile> | ||
<MainTree> | <MainTree> | ||
Line 53: | Line 67: | ||
</Page> | </Page> | ||
<Page name="page_coldboot2" pageMode="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing"> | <Page name="page_coldboot2" pageMode="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing"> | ||
<Plane name="coldboot_ps3logo" stdPositionX="0" stdPositionY="0" stdPositionZ="0" stdColorScaleR="1" stdColorScaleG="1" stdColorScaleB="1" stdColorScaleA="1" stdSizeX="0" | <Plane name="coldboot_ps3logo" stdPositionX="0" stdPositionY="0" stdPositionZ="0" stdColorScaleR="1" stdColorScaleG="1" stdColorScaleB="1" stdColorScaleA="1" stdSizeX="0" stdSizeY="0" stdSizeZ="0" stdSizeScaleX="1" stdSizeScaleY="1" stdSizeScaleZ="1" stdAnchorPointMode="0x0" stdOnInit="nothing" stdOverridePositionX="0x0" stdOverridePositionY="0x0" stdOverridePositionZ="0x0" stdOverrideSizeX="0x100" stdOverrideSizeY="0x100" stdOverrideSizeZ="0x100" planeImage="nothing" planeResizeMode="0x0"></Plane> | ||
</Page> | </Page> | ||
<Page name="page_gameboot" pageMode="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing"> | <Page name="page_gameboot" pageMode="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing"> | ||
Line 62: | Line 76: | ||
</RcoFile> | </RcoFile> | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
{{Boxcode|title=This is the same code, using linefeeds and tabs for a better overview of the attributes|code=<syntaxhighlight lang="xml"> | |||
<RcoFile> | <RcoFile> | ||
<MainTree> | <MainTree> | ||
<ObjectTree> | <ObjectTree> | ||
<Page name="page_coldboot" pageMode="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing"> | <Page name="page_coldboot" pageMode="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing"> | ||
<Plane | <Plane name="scelogo" | ||
stdPositionX="0" stdPositionY="0" stdPositionZ="0" | stdPositionX="0" stdPositionY="0" stdPositionZ="0" | ||
stdColorScaleR="1" stdColorScaleG="1" stdColorScaleB="1" stdColorScaleA="1" | stdColorScaleR="1" stdColorScaleG="1" stdColorScaleB="1" stdColorScaleA="1" | ||
Line 78: | Line 91: | ||
stdOverridePositionX="0x98020000" stdOverridePositionY="0x99020000" stdOverridePositionZ="0x0" | stdOverridePositionX="0x98020000" stdOverridePositionY="0x99020000" stdOverridePositionZ="0x0" | ||
stdOverrideSizeX="0x9a020100" stdOverrideSizeY="0x9b020100" stdOverrideSizeZ="0x100" | stdOverrideSizeX="0x9a020100" stdOverrideSizeY="0x9b020100" stdOverrideSizeZ="0x100" | ||
planeImage="image:tex_scelogo" | planeImage="image:tex_scelogo" | ||
planeResizeMode="0x0" | planeResizeMode="0x0" | ||
Line 84: | Line 98: | ||
</Page> | </Page> | ||
<Page name="page_coldboot2" pageMode="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing"> | <Page name="page_coldboot2" pageMode="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing"> | ||
<Plane | <Plane name="coldboot_ps3logo" | ||
stdPositionX="0" stdPositionY="0" stdPositionZ="0" | stdPositionX="0" stdPositionY="0" stdPositionZ="0" | ||
stdColorScaleR="1" stdColorScaleG="1" stdColorScaleB="1" stdColorScaleA="1" | stdColorScaleR="1" stdColorScaleG="1" stdColorScaleB="1" stdColorScaleA="1" | ||
stdSizeX="0" | stdSizeX="0" stdSizeY="0" stdSizeZ="0" | ||
stdSizeScaleX="1" stdSizeScaleY="1" stdSizeScaleZ="1" | stdSizeScaleX="1" stdSizeScaleY="1" stdSizeScaleZ="1" | ||
stdAnchorPointMode="0x0" | stdAnchorPointMode="0x0" | ||
Line 94: | Line 107: | ||
stdOverridePositionX="0x0" stdOverridePositionY="0x0" stdOverridePositionZ="0x0" | stdOverridePositionX="0x0" stdOverridePositionY="0x0" stdOverridePositionZ="0x0" | ||
stdOverrideSizeX="0x100" stdOverrideSizeY="0x100" stdOverrideSizeZ="0x100" | stdOverrideSizeX="0x100" stdOverrideSizeY="0x100" stdOverrideSizeZ="0x100" | ||
planeImage="nothing" | planeImage="nothing" | ||
planeResizeMode="0x0" | planeResizeMode="0x0" | ||
Line 100: | Line 114: | ||
</Page> | </Page> | ||
<Page name="page_gameboot" pageMode="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing"> | <Page name="page_gameboot" pageMode="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing"> | ||
<Plane | <Plane name="ps3logo" | ||
stdPositionX="0" stdPositionY="0" stdPositionZ="0" | stdPositionX="0" stdPositionY="0" stdPositionZ="0" | ||
stdColorScaleR="1" stdColorScaleG="1" stdColorScaleB="1" stdColorScaleA="1" | stdColorScaleR="1" stdColorScaleG="1" stdColorScaleB="1" stdColorScaleA="1" | ||
Line 110: | Line 123: | ||
stdOverridePositionX="0x0" stdOverridePositionY="0x0" stdOverridePositionZ="0x0" | stdOverridePositionX="0x0" stdOverridePositionY="0x0" stdOverridePositionZ="0x0" | ||
stdOverrideSizeX="0x9c020100" stdOverrideSizeY="0x9d020100" stdOverrideSizeZ="0x100" | stdOverrideSizeX="0x9c020100" stdOverrideSizeY="0x9d020100" stdOverrideSizeZ="0x100" | ||
planeImage="image:tex_ps3logo" | planeImage="image:tex_ps3logo" | ||
planeResizeMode="0x0" | planeResizeMode="0x0" | ||
Line 123: | Line 137: | ||
*'''page_coldboot''' | *'''page_coldboot''' | ||
**'''scelogo''' | **'''scelogo''' | ||
***stdPositionX="0" stdPositionY="0" stdPositionZ="0" <--------------------------------------------------------------- | ***stdPositionX="0" stdPositionY="0" stdPositionZ="0" <------------------------------------------------------------------------ positions are empty ! | ||
***stdSizeX="0" stdSizeY="0" stdSizeZ="0" <------------------------------------------------------------ | ***stdSizeX="0" stdSizeY="0" stdSizeZ="0" <-------------------------------------------------------------------------------------- sizes are empty ! | ||
***stdOverridePositionX="0x98020000" stdOverridePositionY="0x99020000" stdOverridePositionZ="0x0" <------- | ***stdOverridePositionX="0x98020000" stdOverridePositionY="0x99020000" stdOverridePositionZ="0x0" <------- grid & factor pointers, overrides the values of attributes '''stdPositionX''' and '''stdPositionY''' | ||
***stdOverrideSizeX="0x9a020100" stdOverrideSizeY="0x9b020100" stdOverrideSizeZ="0x100" <---- | ***stdOverrideSizeX="0x9a020100" stdOverrideSizeY="0x9b020100" stdOverrideSizeZ="0x100" <------------------- grid & factor pointers, overrides the values of attributes '''stdSizeX''' and '''stdSizeY''' | ||
*'''page_coldboot2''' | *'''page_coldboot2''' | ||
**'''coldboot_ps3logo''' | **'''coldboot_ps3logo''' | ||
***stdPositionX="0" stdPositionY="0" stdPositionZ="0" <--------------------------------------------------------------- | ***stdPositionX="0" stdPositionY="0" stdPositionZ="0" <------------------------------------------------------------------------ positions are empty ! | ||
***stdSizeX="0" stdSizeY="0" stdSizeZ="0" <------------------------------------------------------------ | ***stdSizeX="0" stdSizeY="0" stdSizeZ="0" <-------------------------------------------------------------------------------------- sizes are empty ! | ||
***stdOverridePositionX="0x0" stdOverridePositionY="0x0" stdOverridePositionZ="0x0" <------------------------------ | ***stdOverridePositionX="0x0" stdOverridePositionY="0x0" stdOverridePositionZ="0x0" <------------------------------ override positions are empty ! | ||
***stdOverrideSizeX="0x100" stdOverrideSizeY="0x100" stdOverrideSizeZ="0x100" <--------------------- | ***stdOverrideSizeX="0x100" stdOverrideSizeY="0x100" stdOverrideSizeZ="0x100" <----------------------------------- override sizes are empty ! | ||
*'''page_gameboot''' | *'''page_gameboot''' | ||
**'''ps3logo''' | **'''ps3logo''' | ||
***stdPositionX="0" stdPositionY="0" stdPositionZ="0" <--------------------------------------------------------------- | ***stdPositionX="0" stdPositionY="0" stdPositionZ="0" <------------------------------------------------------------------------ positions are empty ! | ||
***stdSizeX="0" stdSizeY="0" stdSizeZ="0" <------------------------------------------------------------ | ***stdSizeX="0" stdSizeY="0" stdSizeZ="0" <-------------------------------------------------------------------------------------- sizes are empty ! | ||
***stdOverridePositionX="0x0" stdOverridePositionY="0x0" stdOverridePositionZ="0x0" <------------------------------ | ***stdOverridePositionX="0x0" stdOverridePositionY="0x0" stdOverridePositionZ="0x0" <------------------------------ override positions are empty ! | ||
***stdOverrideSizeX="0x9c020100" stdOverrideSizeY="0x9d020100" stdOverrideSizeZ="0x100" <------ | ***stdOverrideSizeX="0x9c020100" stdOverrideSizeY="0x9d020100" stdOverrideSizeZ="0x100" <------------------- grid & factor pointers, overrides the values of attributes '''stdSizeX''' and '''stdSizeY''' | ||
---- | ---- | ||
Before calculating the grid pointers is needed to convert the values manually to the correct format. Every one of the attributes used for grid pointers is composed by 2 values, the first one is the grid pointer | Before calculating the grid pointers is needed to convert the values manually to the correct format. Every one of the attributes used for grid pointers is composed by 2 values, the first one is the grid pointer (first 2 bytes), and the second is the factor pointer (last 2 bytes). Is needed to cut the attribute at half and swap the bytes | ||
*'''scelogo''' grid pointers | *'''scelogo''' grid pointers | ||
**position | **position | ||
***stdOverridePositionX="0x98020000" <----------- this is 0x0'''298''' (grid pointer) and 0x0000 ( | ***stdOverridePositionX="0x98020000" <----------- this is 0x0'''298''' (grid pointer) and 0x0000 (factor pointer to line 1) | ||
***stdOverridePositionY="0x99020000" <----------- this is 0x0'''299''' (grid pointer) and 0x0000 ( | ***stdOverridePositionY="0x99020000" <----------- this is 0x0'''299''' (grid pointer) and 0x0000 (factor pointer to line 1) | ||
***stdOverridePositionZ="0x0" <---------------------- this is 0x0000 (grid pointer | ***stdOverridePositionZ="0x0" <---------------------- this is 0x0000 (grid pointer to line 1) and 0x0000 (factor pointer to line 1) | ||
**size | **size | ||
***stdOverrideSizeX="0x9a020100" <----------- this is 0x0'''29a''' (grid pointer) and 0x000'''1''' ( | ***stdOverrideSizeX="0x9a020100" <----------- this is 0x0'''29a''' (grid pointer) and 0x000'''1''' (factor pointer to line 2) | ||
***stdOverrideSizeY="0x9b020100" <----------- this is 0x0'''29b''' (grid pointer) and 0x000'''1''' ( | ***stdOverrideSizeY="0x9b020100" <----------- this is 0x0'''29b''' (grid pointer) and 0x000'''1''' (factor pointer to line 2) | ||
***stdOverrideSizeZ="0x100" <------------------- this is 0x0000 (grid pointer | ***stdOverrideSizeZ="0x100" <------------------- this is 0x0000 (grid pointer to line 1) and 0x000'''1''' (factor pointer to line 2) | ||
*'''ps3logo''' grid pointers | *'''ps3logo''' grid pointers | ||
**size | **size | ||
***stdOverrideSizeX="0x9c020100" <----------- this is 0x0'''29c''' (grid pointer) and 0x000'''1''' ( | ***stdOverrideSizeX="0x9c020100" <----------- this is 0x0'''29c''' (grid pointer) and 0x000'''1''' (factor pointer to line 2) | ||
***stdOverrideSizeY="0x9d020100" <----------- this is 0x0'''29d''' (grid pointer) and 0x000'''1''' ( | ***stdOverrideSizeY="0x9d020100" <----------- this is 0x0'''29d''' (grid pointer) and 0x000'''1''' (factor pointer to line 2) | ||
***stdOverrideSizeZ="0x100" <------------------- this is 0x0000 (grid pointer | ***stdOverrideSizeZ="0x100" <------------------- this is 0x0000 (grid pointer to line 1) and 0x000'''1''' (factor pointer to line 2) | ||
---- | ---- | ||
Now to get the correct value from the grid pointers is needed to look at the [[XMB Layouts]] files '''from the same firmware !!!''' | Now to get the correct value from the grid pointers is needed to look at the [[XMB Layouts]] files '''from the same firmware !!!''' | ||
The | The pointer values needs to be converted to decimal, and added a +1 (in other words... value 0 represents the first line of the .txt file) | ||
*'''scelogo''' grid pointers | *'''scelogo''' grid pointers | ||
Line 184: | Line 184: | ||
***stdOverridePositionX="0x98020000" <----------- the first 2 bytes 0x0'''298''' swapped and converted to decimal = 664 + 1 = '''line 665''' of [[XMB Layouts]] files | ***stdOverridePositionX="0x98020000" <----------- the first 2 bytes 0x0'''298''' swapped and converted to decimal = 664 + 1 = '''line 665''' of [[XMB Layouts]] files | ||
***stdOverridePositionY="0x99020000" <----------- the first 2 bytes 0x0'''299''' swapped and converted to decimal = 665 + 1 = '''line 666''' of [[XMB Layouts]] files | ***stdOverridePositionY="0x99020000" <----------- the first 2 bytes 0x0'''299''' swapped and converted to decimal = 665 + 1 = '''line 666''' of [[XMB Layouts]] files | ||
**size | **size | ||
***stdOverrideSizeX="0x9a020100" <----------- the first 2 bytes 0x0'''29a''' swapped and converted to decimal = 666 + 1 = '''line 667''' of [[XMB Layouts]] files | ***stdOverrideSizeX="0x9a020100" <----------- the first 2 bytes 0x0'''29a''' swapped and converted to decimal = 666 + 1 = '''line 667''' of [[XMB Layouts]] files | ||
***stdOverrideSizeY="0x9b020100" <----------- the first 2 bytes 0x0'''29b''' swapped and converted to decimal = 667 + 1 = '''line 668''' of [[XMB Layouts]] files | ***stdOverrideSizeY="0x9b020100" <----------- the first 2 bytes 0x0'''29b''' swapped and converted to decimal = 667 + 1 = '''line 668''' of [[XMB Layouts]] files | ||
*'''ps3logo''' grid pointers | *'''ps3logo''' grid pointers | ||
**size | **size | ||
***stdOverrideSizeX="0x9c020100" <----------- the first 2 bytes 0x0'''29c''' swapped and converted to decimal = 668 + 1 = '''line 669''' of [[XMB Layouts]] files | ***stdOverrideSizeX="0x9c020100" <----------- the first 2 bytes 0x0'''29c''' swapped and converted to decimal = 668 + 1 = '''line 669''' of [[XMB Layouts]] files | ||
***stdOverrideSizeY="0x9d020100" <----------- the first 2 bytes 0x0'''29d''' swapped and converted to decimal = 669 + 1 = '''line 670''' of [[XMB Layouts]] files | ***stdOverrideSizeY="0x9d020100" <----------- the first 2 bytes 0x0'''29d''' swapped and converted to decimal = 669 + 1 = '''line 670''' of [[XMB Layouts]] files | ||
{| class="wikitable" style="font-size:small;" | {| class="wikitable" style="font-size:small;" | ||
|+ [[XMB]] Layout grid tables (from 4.76 firmware) | |+ [[XMB]] Layout grid tables (from 4.76 firmware) | ||
! Line number !! layout_grid_table_272.txt !! layout_grid_table_480.txt !! layout_grid_table_720.txt !! layout_grid_table_1080.txt | ! Line number !! layout_grid_table_272.txt !! layout_grid_table_480.txt !! layout_grid_table_720.txt !! layout_grid_table_1080.txt | ||
|- | |- | ||
! 665 | ! 665 | ||
Line 238: | Line 225: | ||
****Y=0 | ****Y=0 | ||
****Z=0 | ****Z=0 | ||
***size (the | ***size (the image tex_scelogo.gim is 1024x64 pixels) | ||
****X=1024 | ****X=1024 | ||
****Y=64 | ****Y=64 | ||
Line 249: | Line 236: | ||
****Y=0 | ****Y=0 | ||
****Z=0 | ****Z=0 | ||
***size (the | ***size (the image tex_ps3logo.gim is 1200x128 pixels) | ||
****X=1200 | ****X=1200 | ||
****Y=128 | ****Y=128 | ||
Line 256: | Line 243: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| {{#ev:youtube|tgPXlMbchFM}} || | | [[File:Page coldboot 1080.png|635px|thumb|left|coldboot]] | ||
|- | |||
| {{#ev:youtube|tgPXlMbchFM}} | |||
|- | |||
| [[File:Page gameboot 1080.png|635px|thumb|left|gameboot]] | |||
|} | |} | ||
{{File Formats}}<noinclude>[[Category:Main]]</noinclude> | {{File Formats}}<noinclude>[[Category:Main]]</noinclude> |
Latest revision as of 11:34, 29 July 2022
This article is marked for rewrite/restructuring in proper wiki format. You can help PS3 Developer wiki by editing it. |
Description[edit | edit source]
This files contains a list of values that defines the global coordinates of the positions and sizes loaded by some RCOXML Objects. Are divided in 4 video resolution modes by its heigths: (1080, 720, 480, 272), and its types: (grid, and factor)
The values inside the grid tables contains the positions and sizes, while the factor tables contains multiplyers that are applyed to the grid values
Everytime a RCOXML Object loads a value from the grid table is also loading another value from the factor table associated with it, then is applyed a math formula to calculate the resulting positions and sizes
This design is intended to reconfigure the position and sizes of all RCOXML Objects dinamically for the 4 different screen resolutions supported by XMB
Path | Filename | Usage | Resolution | Aspect Ratio |
---|---|---|---|---|
dev_flash/vsh/etc/ | layout_grid_table_1080.txt layout_factor_table_1080.txt |
1080p and 1080i for Full HD displays | 1920x1080 | 16/9 |
layout_grid_table_720.txt layout_factor_table_720.txt |
720p for HD displays | 1280x720 | ||
layout_grid_table_480.txt layout_factor_table_480.txt |
480p and 480i for ED and SD displays | 640x480 | 4/3 | |
layout_grid_table_272.txt layout_factor_table_272.txt |
PSP/PSV/PC Remote Play | 480x272 | non standard |
- 576p and 576i (the ED and SD displays for PAL regions) sems to be managed with the same XMB Layouts than 480p and 480i (the ED and SD displays for NTSC regions)
Versions[edit | edit source]
- Hash reports:
Grid[edit | edit source]
Firmware Version |
RCO build | layout_grid_table_272.txt | layout_grid_table_480.txt | layout_grid_table_720.txt | layout_grid_table_1080.txt | Lines | Changes and notes | |||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Version | RCOset | Size | MD5 | Size | MD5 | Size | MD5 | Size | MD5 | |||
1.00~1.02 | v1 | 0x97 | 7941 | 71EB866781E6ABF7C0837F8D38C9E5F5 | 7917 | F4BB2FBB0A63AE76F70E09E93CF877CC | 8234 | 060300C4E4FF7E81462B40A759D3C5AE | 8551 | 928367C1339ED8DED6E430634D9862F5 | 2296 | |
1.10~1.11 | v2 | 8221 | BD16E3265181B06A44AB3F1BB218D5DB | 8202 | 5A987A3D9DDF8FA028B57B7ACE26095A | 8542 | 9FD9CC6CD47844D81A06DBA1232A7827 | 8875 | 7FADBDABCFF273714B16E77A310E21F1 | 2383 | ||
1.30~1.32 | v3 | 8393 | A010E9A95E00F438A57CE07EE598B71B | 8375 | 8744C0992530BB277B42890285567770 | 8714 | 625E51A354286999B159421617211356 | 9049 | 8ACC3AA0682E1805C7A6AD8DE8CE87C2 | 2433 | ||
1.50~1.51 | v4 | 8068 | CC6FD534F14AF531D9FF8EF1AF859478 | 8050 | C403A7CBBB38479FA02E5CA578FADE3D | 8363 | 0A1E2E3E0D517551861BC6E4556B473F | 8697 | B9042581873A329679239EFABED4A740 | 2328 | ||
1.54 | 8133 | E533A80AC6C00B5A5D4EDAF4626C3CD6 | 8115 | 3058DF75F657E9E408569FC0C733D1B5 | 8432 | 143E5D7F485F7D3F2099CC6BD684C7AE | 8767 | ECA5263DDD9E85C9A637F9033DEA6836 | ||||
1.60 | v5 | 0x102 | 9434 | AFA6B0DD23161CC4D441C87F8B110E50 | 9424 | 8C39FC0975F074E4F1FF658653D309C8 | 9763 | BF108757DDA4B6391BF550F8CE290491 | 10085 | 5CC2877E23CC77C464C11C31BC3BB91F | ||
1.70 | 9458 | A54942BD19A7FA89E078A860CE51AC6E | 9449 | EC1456CFBE61292828B890D8670FCB41 | 9787 | 99E97B4B60B78F4CA5CA435E33E6C920 | 10111 | 7A9936D8DEB068F102C46059676C23D0 | 2717 | |||
1.80~1.82 | v6 | 0x104 | 10051 | A3E5D55E37E13B03B7076586BD5AF878 | 10024 | 85464F11E8E49D303FC9BA00E434ED6F | 10366 | 2060A212BAB1B02EB3B8A79AB449DE15 | 10727 | BE634CBC03BFB60CB2669BAFCE71AD74 | ||
1.90 | v7 | 0x105 | 10225 | 642B44B9AAF2C5CAEFF7D0842DD70D5A | 10187 | EAC1BA97A9648DC36A8B98C0CB979052 | 10554 | EE61A4A63D45A3E9A4FAC947E83878FB | 10912 | 4B81A4115BADCF5A931217E6664CE3B4 | 2944 | |
1.92~1.93 | 10236 | BAC0FADDF0B1B54BF8008D7A057C5F90 | 10198 | 6865721B90C9F7BF983CED47D8CA3A19 | 10565 | E5AB11966BE8B49D919460D35ABC0BAA | 10923 | 1BC39B57B25042015EBCCDC2613E6EBD | ||||
1.94 | 10229 | 66BDCCAEA3E0FA4CF6CF8BD5CAE3A45B | 10191 | 370CC4B5A92AE92D3B28A208B02C5DBE | 10557 | 8313FC24EF2560A4B81D62C9D9BC9B4D | 10915 | 1700ABA25410AB01C5E6DB1F98D3BD82 | ||||
2.00~2.01 | v8 | 0x106 | 11143 | DA7AD28E46EE2275CA5D68EBC7EFBC0B | 11101 | E09856B224EDBC60728350E375E9D0D1 | 11486 | 8DAA7A70065B86E8A1E351A39BD5D252 | 11878 | 0C59B9475777CF72F232EB3B6ADFA3F1 | 3221 | |
2.10~2.17 | v9 | 11391 | 107781278FD957BAA385CF242DBAAEDC | 11346 | 352410FF63A39DFA264F17657AF91425 | 11745 | 3C4C2BA793F709C959263AAC21696633 | 12148 | BD9056B57D060AEB51776E7EAFED625D | 3294 | ||
2.20 | v10 | 0x107 | 11731 | 06B1B90F60883C9BA50A53C352C4807D | 11680 | FC3C791A10D03AC9DB0680D0D41CEA07 | 12083 | 04E0D5DA7CBBDD51FB180342F4457503 | 12499 | D7BB8BC9BABF83E7543F5C609A13D250 | ||
2.30~2.36 | v11 | 11760 | 3D1B2FCFF410C87B8FE678EB5435138A | 11709 | 5697784B01EED3DE82D670F8DD2A7B45 | 12103 | D7C124A71A5D634B9BE79171E56EDD16 | 12517 | 3FE423C232F28BE01DA1EA7A766EC0A3 | |||
2.40~2.43 | v12 | 12545 | F3A40004902B60E0B3B9163DA0FB0854 | 12498 | 293E0D749F83394F42AE593F2D67BAA9 | 12910 | D49F341B2E3C3F37DC0A49951BEF3380 | 13356 | B9AD2F5411B3A76DA48B92A331E4931D | |||
2.50~2.53 | v13 | 13160 | F772B865425E27A1FF2357595A406ADD | 13114 | 4A8767CFE24E5101538A665B2CB7C18A | 13531 | 6EF1C0AC1741CDDA03D810797AF7E848 | 14000 | 5C057FB024BD92C342A09D84DF374D89 | |||
2.60 | v14 | 13261 | B71C67928C0F3ED9A4C36C3D5C07D389 | 13215 | E4B08CEAF1074FA91CC7BF3C6C5C19D9 | 13635 | FDA78D60FB2F0C5C8A82DC42DAC53B19 | 14114 | 4AC4F005D6B267FB7ACBA87439D81EDC | |||
2.70~2.76 | v15 | 13739 | 747E4A57E45E252CFF1617462F4A2FC6 | 13693 | 4E34CD12B43FA77E7D591B1CBF7254DF | 14128 | E515E205952011DFFDAC61497AF58A79 | 14620 | 321378697F8232B45FE2BD5658A76031 | |||
2.80 | v16 | 13926 | 054C63976703E9C734065EF5352F9B5D | 13878 | F36059EC2ED3689104B029B709A38C2D | 14320 | F859549F55E78A3AB9235F4234D3AE31 | 14814 | C73CF690990359811CCDCD844C33466D | |||
3.00~3.01 | v17 | 0x108 | 13926 | B09F415C78153456E0D8534DF61925FF | 13876 | B87195181168735E41F59D9A6176BD65 | 14315 | 226AA111D0FE1EEE54AAB3FD9185DEBF | 14805 | 2CC9CE338600BF38687B4BA49D4FCBCC | ||
3.10 | v18 | 0x110 | 14331 | C27158CCA32FDAECFD5E9739855961BB | 14286 | 7D5337880FCD5A5D8953528ED4EE9868 | 14736 | 37CA54A2D4A3C5374E1511F363729DD5 | 15238 | 5D56F5B08608624A3AA064F8246BBEC8 | ||
3.15~3.21 | 14398 | 49B0F3D78A8E638964713EEB42D3510E | 14353 | 8A5340CDDDC877819C23860E7CD38830 | 14814 | 84B99996AA66853F4384EE1C60749F6F | 15303 | 0675E9C007CB53BAFCEB592970A5DE1C | ||||
3.30 | v19 | 14675 | 9D2BFE2E3FF44B8ED070505CB1F07303 | 14630 | 59A952002694FB3C0DFA81B138D6BA63 | 15105 | C408CCDAC58F4948CD35525A4B5A96EC | 15601 | 8F3D5D0041342EB0C67247F712CB7D54 | |||
3.40~3.42 | v20 | 14963 | 5D9945D4844706CBF35EA9924882352C | 14918 | 58D1E4536CB336C9FDCF5C30B644CECE | 15404 | 961CFF670C6B83D5A5D8239D423FB0F3 | 15911 | A1E387CC2AFE0FD604F846AB20ED10FB | 4331 | ||
3.50~3.56 | 15228 | E7F5B7C3310DCCD675109D3473142378 | 15182 | 0669AA3F61DAFA68B3877DF946F401F7 | 15688 | 689293086B6075695557DD4233F3BB88 | 16206 | 4BA80DF686FA4A8ABB3DD982CA69EAB5 | 4410 | |||
3.60~3.66 | v21 | 15273 | 739ABA4F5D1F081504396F5E05101085 | 15226 | 7F75878FB91B671E43E4867621C43CD6 | 15727 | 0F1C0B41BCA2F6B79BD19C295603EF49 | 16249 | 46DA0659C26C96508CD5C815C407B9EB | 4421 | ||
3.70~3.74 | 15322 | F2E66DFFCA9EDE1DF1A2A94D422958D0 | 15276 | 3C50C98512AE9361E9F068BFB912C821 | 15778 | B4362128287BF770CA006F469E9268F5 | 16304 | 7C5F1AC7437415ACC5F17C355FCD0B4E | 4441 | |||
4.00~4.01 | v22 | 0x120 | 15418 | 7428F499D142954E07A2A3B7A1CCEA0C | 15372 | B2100ED0E4A8BF7AB49ADB217D74BA62 | 15875 | D131CA1AE436CC933438F14A84FA6114 | 16409 | 6F999B04AB7E217A597281BF03E79E91 | 4469 | |
4.10~4.11 | 15420 | 157D3BA9C7BF80CB75A491659E183EE8 | 15374 | 3C3864BF8ABD9F5E128FC32B9792FA6D | 15878 | 4787A0D19B1F702B8AB742A84810E699 | 16412 | 42C64D02ACA1CF7B19FECB95C7051AE2 | 4468 | |||
4.20~4.23 | 15465 | FDE8D33704D03CABB7B3D1770ABF797D | 15419 | 6E57BE86E391FFBB93E514E098DA51F1 | 15924 | 646C3B06C2A08428541312E5114C2419 | 16457 | CED406968C0B88E9DCB492CDB0830584 | 4480 | |||
4.25 | 15501 | D019BE36B4DC05B491A7353E2E263CEB | 15457 | 22DDC0FF46C58D7A53C543364E63AFF6 | 15963 | E11A81E75A63ADA01F597EDCB080B863 | 16497 | 51598697024E1FADEA34BE14FD4F2329 | 4491 | |||
4.30~4.41 | v23 | 0x130 | 15648 | F1A74879DC7EE31C9CD6FE7C21CC890E | 15603 | 255C6DA0381FEF69E01FA1BEC91F8369 | 16115 | EB7E258E527BAFAF523F4A0C51BD8DF3 | 16654 | CE32ABEF8C314979D0788032F25C388C | ||
4.45~4.46 | 15702 | 82DF9293372C260F71206A7FF337C954 | 15656 | 26A838DDA79D7F76DA034C00146F5B4C | 16168 | 90F0B837B424F5544DE0FFDB1E8E2485 | 16712 | 227D0D798BEDF074EB0250C6AB055093 | ||||
4.50~4.66 | v24 | 15860 | E3083023EBB0D06B74682B33620465AE | 15814 | 74AA28A35127FA9B38AEB6158F76402E | 16338 | 4E097DA0A9EB04EC1430C6133DF86F15 | 16883 | CC31F1B326AFB07828962BE016D5166B | |||
4.70~4.88 | 15868 | DD213290BDBE1B21FCDDE8ED10C42F7D | 15817 | DA791DD0D7006E86CFABBED734BA1DE7 | 16341 | 9859F70F337EB5340E980B4CAF34826D | 16886 | 3F58E02EBD866427AD906A6BE23EEC0C | 4595 | |||
4.89 | 15882 | 9D1EAB700BB507FCD88971AABAF53160 | 15846 | 43E1F5B5A9961EFCCA89931EE609E94A | 16366 | BCAE5AB63D253374161EAE4553F0DF41 | 16912 | 38EEDF0F8013AF78AA979CA6CD62F681 | 4602 | Added: 2580, 2581, 2582, 2583, 2584, 2585, 2586 |
Factor[edit | edit source]
Firmware Version |
layout_factor_table_272.txt | layout_factor_table_480.txt | layout_factor_table_720.txt | layout_factor_table_1080.txt | Lines | Changes and notes | ||||
---|---|---|---|---|---|---|---|---|---|---|
Size | MD5 | Size | MD5 | Size | MD5 | Size | MD5 | |||
1.00~1.32 | 396 | 0FB116749B36D82FB12A415C3C867D9F | 395 | CA335212446875768AA2F05903FE7B9E | 431 | EAAEA785AD9950C5737CD2977E48B0FF | 429 | B9816BAF226159267F8B8FB06F3ECF83 | 121 | Initial version |
1.50~1.54 | 380 | 2069ADC687B67C4DA8D5A37B30CF1A1D | 379 | 45806F3CE37E4185E2CAD1A314384D26 | 410 | DDFABDA0BF33404C06D286EF63812453 | 405 | D1D481A6F8453F2298D7CD77556DE1AA | 115 | Removed: 60,61,62,63,64,65,68. Added: 21. Replaced: 115 |
1.60~1.70 | 347 | AE12D53ECF64F0F0D076ABEEA60CF9FC | 346 | 41AC2EA7AEA8A0CC3BE2D05954BBE0CA | 376 | A527ACB3DD0E32472860631095882126 | 371 | 93ABE123CFD85377E54BCE0069C124A8 | 109 | Removed: 70,71,72,73,74,75,76,77,78,79. Added: 45,52,108,109. Replaced: 44,51 |
1.80~1.82 | 347 | 6B8FCB215FA3FA335A4C57D139D02D40 | ||||||||
1.90~1.93 | 347 | 790FA1D6269F09173C823804453DDF85 | 346 | 413422A3AA5ABA20E082BE2016F33DF9 | ||||||
1.94 | 353 | A876E33BB3BB901B18B732D6A09E3DC4 | 351 | 8C9C892DDBBDD86CC8005BC059A66158 | 382 | EF9589E54C3E9D8A6775FC700CA4C69C | 377 | F00E47FEB5AC952CC181459FC8405E11 | ||
2.00~2.01 | 361 | AF6678BB11286FE83872D68F145E7696 | 359 | 684318C9FCDB9F67FAC3A24141BF29B5 | 390 | 5D1D4E04BE94CC84C970125DA603E5AA | 385 | 66942732F359B1E2FD26A4F056D610F8 | 113 | |
2.10~2.36 | 383 | 25B94871DB424BE56174D4AF773DEC20 | 381 | 31978F43000C21A8B950DB324200124A | 412 | 72F898D80192500D5FA76F16C0FD9D4C | 407 | 0FB0CF0D7A8364C902789E910562D91B | 119 | |
2.40~2.43 | 427 | 6C4F9203517B2241655A358DEDC9CDB1 | 425 | 0DCD84B26CA9D45333804EF0916C93C7 | 459 | 9850D461C496A69EF7E1169F513CFB11 | 452 | 2F15BEFAE801405D02303C7D7CE42552 | ||
2.50~2.53 | 435 | 93FDA6D50E59C13D1C27F27E4E50A6DE | 433 | BA9D300360B903824126A51FB798F653 | 470 | B0B450967F1E490CBD0DE1BC122D2F0C | 458 | C1103E85B0CAC44F0B3C612427F60EE1 | ||
2.60~2.76 | 439 | 883A0CC6B31C818AFFB7438EF7269EC3 | 437 | 64213F8BB71960C6632582D3B9DD50B7 | 474 | 6F319A3F4C2674FBFBE9BABE00E5A1C0 | 463 | 8793E58DC7639976DF1F85FD86CA8BE0 | ||
2.80 | 447 | E53AEE3DAD683D89DAC85C1DD2F7BEE8 | 445 | 4F022559BCC306FD713147762C522926 | 482 | 1D1EA162C92E3930C781E3FDF5B58E7E | 471 | 121D85E38DD9BD86B5A79BC0E54B6421 | ||
3.00~3.01 | 464 | 0FC1C0DEC3822CD84626A27273925AD2 | 465 | D5613BFD1362961BB8B245E665191030 | 499 | 73F3815B5C84C8B79F9391C03152A08D | 483 | 6D287430B7B8F3B9EF86A461FAC74368 | ||
3.10~3.30 | 470 | D4A5F95B15AEF4154ECF3B40BBA518A3 | 471 | 1282ECFF0F197AC0AFDCD7157094A04B | 505 | 22564B5A10549AB6EA276E98EF8B7135 | 489 | 81948E40D87133D774DC5029481A17C6 | ||
3.40~3.66 | 467 | 195C9B231D070CF99A89E649E7824250 | 468 | 93480CA751CB8D6C8B7EC11F76447899 | 502 | 9A5E5F0D04C688A6800CB27DE25B2467 | 489 | 2847A96A83E4DFBCACA149BAECD3CD83 | 141 | |
3.70~4.89 | 477 | 564023EDF0C79E90554CB0E59E610129 | 476 | 483B2FE525CF07AB6846993B5101107C | 511 | E1BCC6BA00F0EB5B0918168A6BE67301 | 498 | 22C069B81AC379F0DD5F7659DCF26AAA | 143 | Added: 142,143 |
- Speculation
- Lines 4, 5 are the screen resolution (width * height)
- Lines 6,7, 8 seems to be a general scale factor (a multiplyer that allows decimals used to scale sizes), and maybe related with X,Y,Z axis scales
RCO override attributes[edit | edit source]
All "Override" attributes are pointers to a value stored in a line of XMB Layouts .txt files, the override indicates the line number in the .txt and the value in that line is loaded by the .rco
- Some values used by RCOXML Objects and RCOXML Animations are loaded externally to be able to scale the whole XMB interface for different screen resolution modes. Sony was adding more stuff in the XMB along the different firmware versions, and some of this "new" items used this same method, the result is more "override" values was added to the XMB Layouts .txt files, and as a consequence some of the other "old" values was "displaced" a few lines down in the XMB Layouts .txt files. This is the reason why in the changelog of custom_render_plugin.rco (and i bet most of the others .rco's using overrides) the value increases just a few units for every new version of the .rco (that units are a few lines that was added for that firmware in the .txt)
- The reason why the new values added in the .txt displaces the old values... is because the list of values inside the .txt are ordered "by rco ownership". First are stored all the values for rco nº1... then all the values for rco nº2... and so on... obviouslly custom_render_plugin is not at top of the list because it stores his values around line 500. It has other values from other rco's before it and when that others had some addition this made the values of custom_render_plugins to be displaced some lines down in the list
- I have no idea wich position in the XMB Layouts .txt files uses every .rco probably are ordered by using one of the lists from a .sprx or vsh.self... or maybe the order depends of the compilation enviroment sony uses for the official firmware
- Usually the override values from a specific .rco file are stored consecutivelly in the XMB Layouts files
- But other values can be loaded by several .rco files. As example, the "plane" object "ps3logo" (children of "page" object "page_gameboot") is defined inside custom_render_plugin.rco and inside gamelib_plugin.rco both uses overrides to scale the playstation logo in size and the overrides of both are pointing to the same line number in the XMB Layouts files
- There are 122 .rco files in firmware 4.76, the order of how are stored here the groups of values for every .rco is not clear, some posible options:
- Based in a identifyer from the associated module.srpx
- Based on a list in vsh.self
- Alphabetical order
- Based on a "messed up because suffered lot of changes" script used in the official compilation enviroment for PS3 firmware. In other words, the firmware doesnt cares and doesnt knows about the order and simply loads individual values after reading the position from the .rco file
Firmware Version |
MD5 | RCOset | RCOXML Objects <ObjectTree> | RCOXML Animations <AnimTree> see also: RCOXML ofw animations |
RCOXML Images <ImageTree> | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
scelogo plane | ps3logo plane | other objects | |||||||||||||||||||||
stdOverridePositionX | stdOverridePositionY | stdOverrideSizeX | stdOverrideSizeY | stdOverrideSizeX | stdOverrideSizeY | ||||||||||||||||||
value | grid | factor | value | grid | factor | value | grid | factor | value | grid | factor | value | grid | factor | value | grid | factor | ||||||
1.00~1.02 | 957F706965F317698EFEB7FE3D878D18 | 0x97 | 0xe9010000 | 489+1 | 0+1 | 0xea010000 | 490+1 | 0+1 | 0xeb010100 | 491+1 | 1+1 | 0xec010100 | 492+1 | 1+1 | 0xed010100 | 493+1 | 1+1 | 0xee010100 | 494+1 | 1+1 | Initial version | Initial version | Initial version |
1.10~1.11 | AA737527F6A61CEE01924044DBDB48F3 | 0x97 | 0xee010000 | 494+1 | 0+1 | 0xef010000 | 495+1 | 0+1 | 0xf0010100 | 496+1 | 1+1 | 0xf1010100 | 497+1 | 1+1 | 0xf2010100 | 498+1 | 1+1 | 0xf3010100 | 499+1 | 1+1 | No changes | No changes | No changes |
1.30~1.32 | 7F5C343DB404DE3701B885BEAA7BE6CD | 0x97 | 0xef010000 | 495+1 | 0+1 | 0xf0010000 | 496+1 | 0+1 | 0xf1010100 | 497+1 | 1+1 | 0xf2010100 | 498+1 | 1+1 | 0xf3010100 | 499+1 | 1+1 | 0xf4010100 | 500+1 | 1+1 | |||
1.50~1.54 | AA737527F6A61CEE01924044DBDB48F3 | 0x97 | 0xee010000 | 494+1 | 0+1 | 0xef010000 | 495+1 | 0+1 | 0xf0010100 | 496+1 | 1+1 | 0xf1010100 | 497+1 | 1+1 | 0xf2010100 | 498+1 | 1+1 | 0xf3010100 | 499+1 | 1+1 | |||
1.60~1.70 | 3D1DDD9E61045D37EDBDA930FEB1B341 | 0x102 | 0xd2010000 | 466+1 | 0+1 | 0xd3010000 | 467+1 | 0+1 | 0xd4010100 | 468+1 | 1+1 | 0xd5010100 | 469+1 | 1+1 | 0xd6010100 | 470+1 | 1+1 | 0xd7010100 | 471+1 | 1+1 | |||
1.80~1.82 | D7E4F234F6C0D564C81E65B04C2E283D | 0x104 | 0xd3010000 | 467+1 | 0+1 | 0xd4010000 | 468+1 | 0+1 | 0xd5010100 | 469+1 | 1+1 | 0xd6010100 | 470+1 | 1+1 | 0xd7010100 | 471+1 | 1+1 | 0xd8010100 | 472+1 | 1+1 | |||
1.90~1.94 | 55E2E5125019CF23B65933B0DB4388DE | 0x105 | 0xd5010000 | 469+1 | 0+1 | 0xd6010000 | 470+1 | 0+1 | 0xd7010100 | 471+1 | 1+1 | 0xd8010100 | 472+1 | 1+1 | 0xd9010100 | 473+1 | 1+1 | 0xda010100 | 474+1 | 1+1 | |||
2.00~2.01 | 2282751BD5FE8F58D5849959C021BCC4 | 0x106 | 0xd6010000 | 470+1 | 0+1 | 0xd7010000 | 471+1 | 0+1 | 0xd8010100 | 472+1 | 1+1 | 0xd9010100 | 473+1 | 1+1 | 0xda010100 | 474+1 | 1+1 | 0xdb010100 | 475+1 | 1+1 | |||
2.10~2.17 | 075C785C3B310D4D4F99CE9CD6A652B4 | 0x106 | 0xe3010000 | 483+1 | 0+1 | 0xe4010000 | 484+1 | 0+1 | 0xe5010100 | 485+1 | 1+1 | 0xe6010100 | 486+1 | 1+1 | 0xe7010100 | 487+1 | 1+1 | 0xe8010100 | 488+1 | 1+1 | |||
2.20 | BB10C1C57EB9DD91532CAFD865B80DAD | 0x107 | |||||||||||||||||||||
2.30~2.36 | 8C070B74082E2B7650D0358E347AED80 | 0x107 | 0xe5010000 | 485+1 | 0+1 | 0xe6010000 | 486+1 | 0+1 | 0xe7010100 | 487+1 | 1+1 | 0xe8010100 | 488+1 | 1+1 | 0xe9010100 | 489+1 | 1+1 | 0xea010100 | 490+1 | 1+1 | |||
2.40~2.43 | 2CA56107EDE4A0E83C8B706C2B7A2F1B | 0x107 | 0x24020000 | 548+1 | 0+1 | 0x25020000 | 549+1 | 0+1 | 0x26020100 | 550+1 | 1+1 | 0x27020100 | 551+1 | 1+1 | 0x28020100 | 552+1 | 1+1 | 0x29020100 | 553+1 | 1+1 | |||
2.50~2.53 | E4F69377DF56EC728DC29D6AB814ED63 | 0x107 | 0x3a020000 | 570+1 | 0+1 | 0x3b020000 | 571+1 | 0+1 | 0x3c020100 | 572+1 | 1+1 | 0x3d020100 | 573+1 | 1+1 | 0x3e020100 | 574+1 | 1+1 | 0x3f020100 | 575+1 | 1+1 | |||
2.60 | EBCB8B2BF2D0122A7E7AA43459B989A3 | 0x107 | 0x49020000 | 585+1 | 0+1 | 0x4a020000 | 586+1 | 0+1 | 0x4b020100 | 587+1 | 1+1 | 0x4c020100 | 588+1 | 1+1 | 0x4d020100 | 589+1 | 1+1 | 0x4e020100 | 590+1 | 1+1 | |||
2.70~2.76 | 07A2E2F30C97FFE508234585420C1BCF | 0x107 | 0x4c020000 | 588+1 | 0+1 | 0x4d020000 | 589+1 | 0+1 | 0x4e020100 | 590+1 | 1+1 | 0x4f020100 | 591+1 | 1+1 | 0x50020100 | 592+1 | 1+1 | 0x51020100 | 593+1 | 1+1 | page_coldboot2 (page added) | anim_coldboot2 (animation added) | |
2.80 | 52551D13219AF705B1EE17B80B611948 | 0x107 | 0x4e020000 | 590+1 | 0+1 | 0x4f020000 | 591+1 | 0+1 | 0x50020100 | 592+1 | 1+1 | 0x51020100 | 593+1 | 1+1 | 0x52020100 | 594+1 | 1+1 | 0x53020100 | 595+1 | 1+1 | No changes | No changes | |
3.00~3.01 | 7540C3BAF80AD5BAE4B4342149BC5116 | 0x108 | 0x6f020000 | 623+1 | 0+1 | 0x70020000 | 624+1 | 0+1 | 0x71020100 | 625+1 | 1+1 | 0x72020100 | 626+1 | 1+1 | 0x73020100 | 627+1 | 1+1 | 0x74020100 | 628+1 | 1+1 | blur (page added) | anim_coldboot2 (minor changes) anim_otherboot (decreased duration, FireEvent added) | |
3.10~3.21 | 5B821E62F74ECBA55C02CB90D88ED929 | 0x110 | 0x70020000 | 624+1 | 0+1 | 0x71020000 | 625+1 | 0+1 | 0x72020100 | 626+1 | 1+1 | 0x73020100 | 627+1 | 1+1 | 0x74020100 | 628+1 | 1+1 | 0x75020100 | 629+1 | 1+1 | No changes | No changes | |
3.30 | 9F16A32EF5EDBB802A9DFD2E5F46E88E | 0x110 | 0x72020000 | 626+1 | 0+1 | 0x73020000 | 627+1 | 0+1 | 0x74020100 | 628+1 | 1+1 | 0x75020100 | 629+1 | 1+1 | 0x76020100 | 630+1 | 1+1 | 0x77020100 | 631+1 | 1+1 | |||
3.40~3.56 | 0D6054717B3C7573047BBF8CF0C37E32 | 0x110 | 0x7d020000 | 637+1 | 0+1 | 0x7e020000 | 638+1 | 0+1 | 0x7f020100 | 639+1 | 1+1 | 0x80020100 | 640+1 | 1+1 | 0x81020100 | 641+1 | 1+1 | 0x82020100 | 642+1 | 1+1 | |||
3.60~3.74 | 56CFE845364C511FC2C5D4154FFD2CCD | 0x110 | 0x85020000 | 645+1 | 0+1 | 0x86020000 | 646+1 | 0+1 | 0x87020100 | 647+1 | 1+1 | 0x88020100 | 648+1 | 1+1 | 0x89020100 | 649+1 | 1+1 | 0x8a020100 | 650+1 | 1+1 | |||
4.00~4.25 | 9764A4790A360C0769359DE8741A55AE | 0x120 | |||||||||||||||||||||
4.30~4.46 | 02251196DCEF6ABC756499A18B6A9BFC | 0x130 | 0x97020000 | 663+1 | 0+1 | 0x98020000 | 664+1 | 0+1 | 0x99020100 | 665+1 | 1+1 | 0x9a020100 | 666+1 | 1+1 | 0x9b020100 | 667+1 | 1+1 | 0x9c020100 | 668+1 | 1+1 | |||
4.50~4.78 | FB9C8E467A0A1E2C38397D6F266FC997 | 0x130 | 0x98020000 | 664+1 | 0+1 | 0x99020000 | 665+1 | 0+1 | 0x9a020100 | 666+1 | 1+1 | 0x9b020100 | 667+1 | 1+1 | 0x9c020100 | 668+1 | 1+1 | 0x9d020100 | 669+1 | 1+1 | |||
4.80~4.89 | 9441159906B3A81E9A4DAD58CD995ED8 | 0x130 | 0x98020000 | 664+1 | 0+1 | 0x99020000 | 665+1 | 0+1 | 0x9a020100 | 666+1 | 1+1 | 0x9b020100 | 667+1 | 1+1 | 0x9c020100 | 668+1 | 1+1 | 0x9d020100 | 669+1 | 1+1 | tex_scelogo.gim (image updated) |
- File Contents:
- tex_ps3logo.gim
- 1.00-4.89 (MD5: 87068679DB28FE5347700FADBF281E5A) 1200x128 pixels size (it says: "Playstation 3"), see: [1]
- tex_scelogo.gim
- 1.00-4.78 (MD5: 6158E31B5274DEE04F6193873F731B7F) 1024x64 pixels size (it says: "Sony Computer Entertainment"), see: [2]
- 4.80~4.89 (MD5: 44A1C6660B77703E1E9DA3816F345400) 1024x64 pixels size (it says: "Sony Interactive Entertainment")
- tex_ps3logo.gim
- The examples below only shows completly the rcoxml code from firmware 1.00 and 4.89 (first and latest retail firmware at this date). For the other firmwares is shown only the changes, either a complete line if a whole line was added, or only the specific attributes that was changed if the line existed before. All this examples has been extracted with a modifyed version of Rcomage using a custom objattribdef-ps3.ini with the "override" attributes configured as data type "unk" (for a raw extraction of the values related to XMB Layouts)
<?xml version="1.0" encoding="iso-8859-1"?> <!-- This XML representation of an RCO structure was generated by Rcomage v1.1.2 --> <RcoFile UMDFlag="0" rcomageXmlVer="1.1" type="ps3" minFirmwareVer="unknownId0x97"> <MainTree name="custom_render_plugin"> <ImageTree> <Image name="tex_scelogo" src=".\custom_render_plugin_RCO\custom_render_plugin_100_102\Images\tex_scelogo.gim" format="gim" compression="zlib" unknownByte="0" /> <Image name="tex_ps3logo" src=".\custom_render_plugin_RCO\custom_render_plugin_100_102\Images\tex_ps3logo.gim" format="gim" compression="zlib" unknownByte="0" /> </ImageTree> <ObjectTree> <Page name="page_null" pageMode="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing"></Page> <Page name="page_coldboot" pageMode="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing"> <Plane name="scelogo" stdPositionX="0" stdPositionY="0" stdPositionZ="0" stdColorScaleR="1" stdColorScaleG="1" stdColorScaleB="1" stdColorScaleA="1" stdSizeX="0" stdSizeY="0" stdSizeZ="0" stdSizeScaleX="1" stdSizeScaleY="1" stdSizeScaleZ="1" stdAnchorPointMode="0x0" stdOnInit="nothing" stdOverridePositionX="0xe9010000" stdOverridePositionY="0xea010000" stdOverridePositionZ="0x0" stdOverrideSizeX="0xeb010100" stdOverrideSizeY="0xec010100" stdOverrideSizeZ="0x100" planeImage="image:tex_scelogo" planeResizeMode="0x0"></Plane> </Page> <Page name="page_gameboot" pageMode="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing"> <Plane name="ps3logo" stdPositionX="0" stdPositionY="0" stdPositionZ="0" stdColorScaleR="1" stdColorScaleG="1" stdColorScaleB="1" stdColorScaleA="1" stdSizeX="0" stdSizeY="0" stdSizeZ="0" stdSizeScaleX="1" stdSizeScaleY="1" stdSizeScaleZ="1" stdAnchorPointMode="0x0" stdOnInit="nothing" stdOverridePositionX="0x0" stdOverridePositionY="0x0" stdOverridePositionZ="0x0" stdOverrideSizeX="0xed010100" stdOverrideSizeY="0xee010100" stdOverrideSizeZ="0x100" planeImage="image:tex_ps3logo" planeResizeMode="0x0"></Plane> </Page> </ObjectTree> <AnimTree> <Animation name="anim_coldboot"> <Lock unknownInt0="0xffffffff" /> <Fade object="object:scelogo" duration="0" accelMode="0x0" transparency="0" /> <FireEvent event="event:native:/anim_coldboot_BootBG1" /> <Delay time="0" /> <FireEvent event="event:native:/anim_coldboot_NormalBG" /> <Delay time="1500" /> <Fade object="object:scelogo" duration="1000" accelMode="0x3" transparency="0.8" /> <Delay time="2500" /> <Fade object="object:scelogo" duration="1000" accelMode="0x3" transparency="0" /> <Delay time="1000" /> <Delay time="500" /> <FireEvent event="event:native:/anim_coldboot_ShowGUI" /> <Unlock unknownInt0="0xffffffff" /> <Delay time="4500" /> <FireEvent event="event:native:/anim_coldboot_Finished" /> </Animation> <Animation name="anim_gameboot"> <Lock unknownInt0="0xffffffff" /> <Fade object="object:ps3logo" duration="0" accelMode="0x0" transparency="0" /> <Resize object="object:ps3logo" duration="0" accelMode="0x0" width="0.938" height="0.938" depth="1" /> <FireEvent event="event:native:/anim_gameboot_BG2" /> <Delay time="500" /> <Fade object="object:ps3logo" duration="863" accelMode="0x3" transparency="1" /> <Resize object="object:ps3logo" duration="863" accelMode="0x4" width="1" height="1" depth="1" /> <FireEvent event="event:native:/anim_gameboot_BG3" /> <Delay time="1100" /> <Fade object="object:ps3logo" duration="174" accelMode="0x1" transparency="0" /> <Resize object="object:ps3logo" duration="174" accelMode="0x1" width="1.284" height="1.284" depth="1" /> <Delay time="1000" /> <Delay time="200" /> <FireEvent event="event:native:/anim_gameboot_Finished" /> </Animation> <Animation name="anim_otherboot"> <Lock unknownInt0="0xffffffff" /> <Fade object="object:ps3logo" duration="0" accelMode="0x0" transparency="0" /> <FireEvent event="event:native:/anim_otherboot_BG3" /> <Delay time="1000" /> <FireEvent event="event:native:/anim_otherboot_Finished" /> </Animation> </AnimTree> </MainTree> </RcoFile>
<RcoFile> <MainTree> <ObjectTree> <Page name="page_coldboot"> <Plane name="scelogo" stdOverridePositionX="0xee010000" stdOverridePositionY="0xef010000" stdOverrideSizeX="0xf0010100" stdOverrideSizeY="0xf1010100"></Plane> </Page> <Page name="page_gameboot"> <Plane name="ps3logo" stdOverrideSizeX="0xf2010100" stdOverrideSizeY="0xf3010100"></Plane> </ObjectTree> </MainTree> </RcoFile>
<RcoFile> <MainTree> <ObjectTree> <Page name="page_coldboot"> <Plane name="scelogo" stdOverridePositionX="0xef010000" stdOverridePositionY="0xf0010000" stdOverrideSizeX="0xf1010100" stdOverrideSizeY="0xf2010100"></Plane> </Page> <Page name="page_gameboot"> <Plane name="ps3logo" stdOverrideSizeX="0xf3010100" stdOverrideSizeY="0xf4010100"></Plane> </ObjectTree> </MainTree> </RcoFile>
<RcoFile> <MainTree> <ObjectTree> <Page name="page_coldboot"> <Plane name="scelogo" stdOverridePositionX="0xee010000" stdOverridePositionY="0xef010000" stdOverrideSizeX="0xf0010100" stdOverrideSizeY="0xf1010100"></Plane> </Page> <Page name="page_gameboot"> <Plane name="ps3logo" stdOverrideSizeX="0xf2010100" stdOverrideSizeY="0xf3010100"></Plane> </ObjectTree> </MainTree> </RcoFile>
<RcoFile minFirmwareVer="unknownId0x102"> <MainTree> <ObjectTree> <Page name="page_coldboot"> <Plane name="scelogo" stdOverridePositionX="0xd2010000" stdOverridePositionY="0xd3010000" stdOverrideSizeX="0xd4010100" stdOverrideSizeY="0xd5010100"></Plane> </Page> <Page name="page_gameboot"> <Plane name="ps3logo" stdOverrideSizeX="0xd6010100" stdOverrideSizeY="0xd7010100"></Plane> </ObjectTree> </MainTree> </RcoFile>
<RcoFile minFirmwareVer="unknownId0x104"> <MainTree> <ObjectTree> <Page name="page_coldboot"> <Plane name="scelogo" stdOverridePositionX="0xd3010000" stdOverridePositionY="0xd4010000" stdOverrideSizeX="0xd5010100" stdOverrideSizeY="0xd6010100"></Plane> </Page> <Page name="page_gameboot"> <Plane name="ps3logo" stdOverrideSizeX="0xd7010100" stdOverrideSizeY="0xd8010100"></Plane> </ObjectTree> </MainTree> </RcoFile>
<RcoFile minFirmwareVer="unknownId0x105"> <MainTree> <ObjectTree> <Page name="page_coldboot"> <Plane name="scelogo" stdOverridePositionX="0xd5010000" stdOverridePositionY="0xd6010000" stdOverrideSizeX="0xd7010100" stdOverrideSizeY="0xd8010100"></Plane> </Page> <Page name="page_gameboot"> <Plane name="ps3logo" stdOverrideSizeX="0xd9010100" stdOverrideSizeY="0xda010100"></Plane> </ObjectTree> </MainTree> </RcoFile>
<RcoFile minFirmwareVer="unknownId0x106"> <MainTree> <ObjectTree> <Page name="page_coldboot"> <Plane name="scelogo" stdOverridePositionX="0xd6010000" stdOverridePositionY="0xd7010000" stdOverrideSizeX="0xd8010100" stdOverrideSizeY="0xd9010100"></Plane> </Page> <Page name="page_gameboot"> <Plane name="ps3logo" stdOverrideSizeX="0xda010100" stdOverrideSizeY="0xdb010100"></Plane> </ObjectTree> </MainTree> </RcoFile>
<RcoFile> <MainTree> <ObjectTree> <Page name="page_coldboot"> <Plane name="scelogo" stdOverridePositionX="0xe3010000" stdOverridePositionY="0xe4010000" stdOverrideSizeX="0xe5010100" stdOverrideSizeY="0xe6010100"></Plane> </Page> <Page name="page_gameboot"> <Plane name="ps3logo" stdOverrideSizeX="0xe7010100" stdOverrideSizeY="0xe8010100"></Plane> </ObjectTree> </MainTree> </RcoFile>
![Edit-copy purple.svg.png](/ps3/images/thumb/0/03/Edit-copy_purple.svg.png/25px-Edit-copy_purple.svg.png)
<RcoFile minFirmwareVer="unknownId0x107"> </RcoFile>
<RcoFile> <MainTree> <ObjectTree> <Page name="page_coldboot"> <Plane name="scelogo" stdOverridePositionX="0xe5010000" stdOverridePositionY="0xe6010000" stdOverrideSizeX="0xe7010100" stdOverrideSizeY="0xe8010100"></Plane> </Page> <Page name="page_gameboot"> <Plane name="ps3logo" stdOverrideSizeX="0xe9010100" stdOverrideSizeY="0xea010100"></Plane> </ObjectTree> </MainTree> </RcoFile>
<RcoFile> <MainTree> <ObjectTree> <Page name="page_coldboot"> <Plane name="scelogo" stdOverridePositionX="0x24020000" stdOverridePositionY="0x25020000" stdOverrideSizeX="0x26020100" stdOverrideSizeY="0x27020100"></Plane> </Page> <Page name="page_gameboot"> <Plane name="ps3logo" stdOverrideSizeX="0x28020100" stdOverrideSizeY="0x29020100"></Plane> </ObjectTree> </MainTree> </RcoFile>
<RcoFile> <MainTree> <ObjectTree> <Page name="page_coldboot"> <Plane name="scelogo" stdOverridePositionX="0x3a020000" stdOverridePositionY="0x3b020000" stdOverrideSizeX="0x3c020100" stdOverrideSizeY="0x3d020100"></Plane> </Page> <Page name="page_gameboot"> <Plane name="ps3logo" stdOverrideSizeX="0x3e020100" stdOverrideSizeY="0x3f020100"></Plane> </ObjectTree> </MainTree> </RcoFile>
![Edit-copy purple.svg.png](/ps3/images/thumb/0/03/Edit-copy_purple.svg.png/25px-Edit-copy_purple.svg.png)
<RcoFile> <MainTree> <ObjectTree> <Page name="page_coldboot"> <Plane name="scelogo" stdOverridePositionX="0x49020000" stdOverridePositionY="0x4a020000" stdOverrideSizeX="0x4b020100" stdOverrideSizeY="0x4c020100"></Plane> </Page> <Page name="page_gameboot"> <Plane name="ps3logo" stdOverrideSizeX="0x4d020100" stdOverrideSizeY="0x4e020100"></Plane> </ObjectTree> </MainTree> </RcoFile>
<RcoFile> <MainTree> <ObjectTree> <Page name="page_coldboot"> <Plane name="scelogo" stdOverridePositionX="0x4c020000" stdOverridePositionY="0x4d020000" stdOverrideSizeX="0x4e020100" stdOverrideSizeY="0x4f020100"></Plane> </Page> <Page name="page_coldboot2" pageMode="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing"> <Plane name="coldboot_ps3logo" stdPositionX="0" stdPositionY="0" stdPositionZ="0" stdColorScaleR="1" stdColorScaleG="1" stdColorScaleB="1" stdColorScaleA="1" stdSizeX="0" stdSizeY="0" stdSizeZ="0" stdSizeScaleX="1" stdSizeScaleY="1" stdSizeScaleZ="1" stdAnchorPointMode="0x0" stdOnInit="nothing" stdOverridePositionX="0x0" stdOverridePositionY="0x0" stdOverridePositionZ="0x0" stdOverrideSizeX="0x100" stdOverrideSizeY="0x100" stdOverrideSizeZ="0x100" planeImage="nothing" planeResizeMode="0x0"></Plane> </Page> <Page name="page_gameboot"> <Plane name="ps3logo" stdOverrideSizeX="0x50020100" stdOverrideSizeY="0x51020100"></Plane> </Page> </ObjectTree> <AnimTree> <Animation name="anim_coldboot2"> <Lock unknownInt0="0xffffffff" /> <Fade object="object:scelogo" duration="0" accelMode="0x0" transparency="0" /> <FireEvent event="event:native:/anim_coldboot_BootBG2" /> <Delay time="5500" /> <FireEvent event="event:native:/anim_coldboot_NormalBG2" /> <FireEvent event="event:native:/anim_coldboot_ShowGUI" /> <Unlock unknownInt0="0xffffffff" /> <Delay time="4500" /> <FireEvent event="event:native:/anim_coldboot_Finished" /> </Animation> </AnimTree> </MainTree> </RcoFile>
![Edit-copy purple.svg.png](/ps3/images/thumb/0/03/Edit-copy_purple.svg.png/25px-Edit-copy_purple.svg.png)
<RcoFile> <MainTree> <ObjectTree> <Page name="page_coldboot"> <Plane name="scelogo" stdOverridePositionX="0x4e020000" stdOverridePositionY="0x4f020000" stdOverrideSizeX="0x50020100" stdOverrideSizeY="0x51020100"></Plane> </Page> <Page name="page_gameboot"> <Plane name="ps3logo" stdOverrideSizeX="0x52020100" stdOverrideSizeY="0x53020100"></Plane> </ObjectTree> </MainTree> </RcoFile>
<RcoFile minFirmwareVer="unknownId0x108"> <MainTree> <ObjectTree> <Page name="blur" pageMode="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing"></Page> <Page name="page_coldboot"> <Plane name="scelogo" stdOverridePositionX="0x6f020000" stdOverridePositionY="0x70020000" stdOverrideSizeX="0x71020100" stdOverrideSizeY="0x72020100"></Plane> </Page> <Page name="page_gameboot"> <Plane name="ps3logo" stdOverrideSizeX="0x73020100" stdOverrideSizeY="0x74020100"></Plane> </ObjectTree> <AnimTree> <Animation name="anim_coldboot2"> <Delay time="4000" /> <Delay time="1500" /> </Animation> <Animation name="anim_otherboot"> <Delay time="200" /> <FireEvent event="event:native:/anim_otherboot_BG4" /> <Delay time="300" /> </AnimTree> </MainTree> </RcoFile>
<RcoFile minFirmwareVer="unknownId0x110"> <MainTree> <ObjectTree> <Page name="page_coldboot"> <Plane name="scelogo" stdOverridePositionX="0x70020000" stdOverridePositionY="0x71020000" stdOverrideSizeX="0x72020100" stdOverrideSizeY="0x73020100"></Plane> </Page> <Page name="page_gameboot"> <Plane name="ps3logo" stdOverrideSizeX="0x74020100" stdOverrideSizeY="0x75020100"></Plane> </ObjectTree> </MainTree> </RcoFile>
![Edit-copy purple.svg.png](/ps3/images/thumb/0/03/Edit-copy_purple.svg.png/25px-Edit-copy_purple.svg.png)
<RcoFile> <MainTree> <ObjectTree> <Page name="page_coldboot"> <Plane name="scelogo" stdOverridePositionX="0x72020000" stdOverridePositionY="0x73020000" stdOverrideSizeX="0x74020100" stdOverrideSizeY="0x75020100"></Plane> </Page> <Page name="page_gameboot"> <Plane name="ps3logo" stdOverrideSizeX="0x76020100" stdOverrideSizeY="0x77020100"></Plane> </ObjectTree> </MainTree> </RcoFile>
<RcoFile> <MainTree> <ObjectTree> <Page name="page_coldboot"> <Plane name="scelogo" stdOverridePositionX="0x7d020000" stdOverridePositionY="0x7e020000" stdOverrideSizeX="0x7f020100" stdOverrideSizeY="0x80020100"></Plane> </Page> <Page name="page_gameboot"> <Plane name="ps3logo" stdOverrideSizeX="0x81020100" stdOverrideSizeY="0x82020100"></Plane> </ObjectTree> </MainTree> </RcoFile>
<RcoFile> <MainTree> <ObjectTree> <Page name="page_coldboot"> <Plane name="scelogo" stdOverridePositionX="0x85020000" stdOverridePositionY="0x86020000" stdOverrideSizeX="0x87020100" stdOverrideSizeY="0x88020100"></Plane> </Page> <Page name="page_gameboot"> <Plane name="ps3logo" stdOverrideSizeX="0x89020100" stdOverrideSizeY="0x8a020100"></Plane> </ObjectTree> </MainTree> </RcoFile>
<RcoFile minFirmwareVer="unknownId0x130"> <MainTree> <ObjectTree> <Page name="page_coldboot"> <Plane name="scelogo" stdOverridePositionX="0x97020000" stdOverridePositionY="0x98020000" stdOverrideSizeX="0x99020100" stdOverrideSizeY="0x9a020100"></Plane> </Page> <Page name="page_gameboot"> <Plane name="ps3logo" stdOverrideSizeX="0x9b020100" stdOverrideSizeY="0x9c020100"></Plane> </ObjectTree> </MainTree> </RcoFile>
<?xml version="1.0" encoding="iso-8859-1"?> <!-- This XML representation of an RCO structure was generated by Rcomage v1.1.2 --> <RcoFile UMDFlag="0" rcomageXmlVer="1.1" type="ps3" minFirmwareVer="unknownId0x130"> <MainTree name="custom_render_plugin"> <ImageTree> <Image name="tex_scelogo" src=".\custom_render_plugin_RCO\custom_render_plugin\Images\tex_scelogo.gim" format="gim" compression="zlib" unknownByte="0" /> <Image name="tex_ps3logo" src=".\custom_render_plugin_RCO\custom_render_plugin\Images\tex_ps3logo.gim" format="gim" compression="zlib" unknownByte="0" /> </ImageTree> <ObjectTree> <Page name="page_null" pageMode="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing"></Page> <Page name="blur" pageMode="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing"></Page> <Page name="page_coldboot" pageMode="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing"> <Plane name="scelogo" stdPositionX="0" stdPositionY="0" stdPositionZ="0" stdColorScaleR="1" stdColorScaleG="1" stdColorScaleB="1" stdColorScaleA="1" stdSizeX="0" stdSizeY="0" stdSizeZ="0" stdSizeScaleX="1" stdSizeScaleY="1" stdSizeScaleZ="1" stdAnchorPointMode="0x0" stdOnInit="nothing" stdOverridePositionX="0x98020000" stdOverridePositionY="0x99020000" stdOverridePositionZ="0x0" stdOverrideSizeX="0x9a020100" stdOverrideSizeY="0x9b020100" stdOverrideSizeZ="0x100" planeImage="image:tex_scelogo" planeResizeMode="0x0"></Plane> </Page> <Page name="page_coldboot2" pageMode="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing"> <Plane name="coldboot_ps3logo" stdPositionX="0" stdPositionY="0" stdPositionZ="0" stdColorScaleR="1" stdColorScaleG="1" stdColorScaleB="1" stdColorScaleA="1" stdSizeX="0" stdSizeY="0" stdSizeZ="0" stdSizeScaleX="1" stdSizeScaleY="1" stdSizeScaleZ="1" stdAnchorPointMode="0x0" stdOnInit="nothing" stdOverridePositionX="0x0" stdOverridePositionY="0x0" stdOverridePositionZ="0x0" stdOverrideSizeX="0x100" stdOverrideSizeY="0x100" stdOverrideSizeZ="0x100" planeImage="nothing" planeResizeMode="0x0"></Plane> </Page> <Page name="page_gameboot" pageMode="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing"> <Plane name="ps3logo" stdPositionX="0" stdPositionY="0" stdPositionZ="0" stdColorScaleR="1" stdColorScaleG="1" stdColorScaleB="1" stdColorScaleA="1" stdSizeX="0" stdSizeY="0" stdSizeZ="0" stdSizeScaleX="1" stdSizeScaleY="1" stdSizeScaleZ="1" stdAnchorPointMode="0x0" stdOnInit="nothing" stdOverridePositionX="0x0" stdOverridePositionY="0x0" stdOverridePositionZ="0x0" stdOverrideSizeX="0x9c020100" stdOverrideSizeY="0x9d020100" stdOverrideSizeZ="0x100" planeImage="image:tex_ps3logo" planeResizeMode="0x0"></Plane> </Page> </ObjectTree> <AnimTree> <Animation name="anim_coldboot"> <Lock unknownInt0="0xffffffff" /> <Fade object="object:scelogo" duration="0" accelMode="0x0" transparency="0" /> <FireEvent event="event:native:/anim_coldboot_BootBG1" /> <Delay time="0" /> <FireEvent event="event:native:/anim_coldboot_NormalBG" /> <Delay time="1500" /> <Fade object="object:scelogo" duration="1000" accelMode="0x3" transparency="0.8" /> <Delay time="2500" /> <Fade object="object:scelogo" duration="1000" accelMode="0x3" transparency="0" /> <Delay time="1000" /> <Delay time="500" /> <FireEvent event="event:native:/anim_coldboot_ShowGUI" /> <Unlock unknownInt0="0xffffffff" /> <Delay time="4500" /> <FireEvent event="event:native:/anim_coldboot_Finished" /> </Animation> <Animation name="anim_coldboot2"> <Lock unknownInt0="0xffffffff" /> <Fade object="object:scelogo" duration="0" accelMode="0x0" transparency="0" /> <FireEvent event="event:native:/anim_coldboot_BootBG2" /> <Delay time="4000" /> <FireEvent event="event:native:/anim_coldboot_NormalBG2" /> <Delay time="1500" /> <FireEvent event="event:native:/anim_coldboot_ShowGUI" /> <Unlock unknownInt0="0xffffffff" /> <Delay time="4500" /> <FireEvent event="event:native:/anim_coldboot_Finished" /> </Animation> <Animation name="anim_gameboot"> <Lock unknownInt0="0xffffffff" /> <Fade object="object:ps3logo" duration="0" accelMode="0x0" transparency="0" /> <Resize object="object:ps3logo" duration="0" accelMode="0x0" width="0.938" height="0.938" depth="1" /> <FireEvent event="event:native:/anim_gameboot_BG2" /> <Delay time="500" /> <Fade object="object:ps3logo" duration="863" accelMode="0x3" transparency="1" /> <Resize object="object:ps3logo" duration="863" accelMode="0x4" width="1" height="1" depth="1" /> <FireEvent event="event:native:/anim_gameboot_BG3" /> <Delay time="1100" /> <Fade object="object:ps3logo" duration="174" accelMode="0x1" transparency="0" /> <Resize object="object:ps3logo" duration="174" accelMode="0x1" width="1.284" height="1.284" depth="1" /> <Delay time="1000" /> <Delay time="200" /> <FireEvent event="event:native:/anim_gameboot_Finished" /> </Animation> <Animation name="anim_otherboot"> <Lock unknownInt0="0xffffffff" /> <Fade object="object:ps3logo" duration="0" accelMode="0x0" transparency="0" /> <FireEvent event="event:native:/anim_otherboot_BG3" /> <Delay time="200" /> <FireEvent event="event:native:/anim_otherboot_BG4" /> <Delay time="300" /> <FireEvent event="event:native:/anim_otherboot_Finished" /> </Animation> </AnimTree> </MainTree> </RcoFile>
- It seems the values stored in the XMB Layouts .txt files for custom_render_plugin.rco never changed (verifyed only in 2.00, 3.55, 4.46, 4.70), below are the real values, taken from layout_grid_table_1080.txt (for other resolutions the values are different)
- scelogo plane
- stdOverridePositionX = 400 pixels
- stdOverridePositionY = 0 pixels
- stdOverrideSizeX = 1024 pixels
- stdOverrideSizeY = 64 pixels
- ps3logo plane
- stdOverrideSizeX = 1200 pixels
- stdOverrideSizeY = 128 pixels
- scelogo plane
- It seems the values stored in the XMB Layouts .txt files for custom_render_plugin.rco never changed (verifyed only in 2.00, 3.55, 4.46, 4.70), below are the real values, taken from layout_grid_table_1080.txt (for other resolutions the values are different)
Example[edit | edit source]
In firmware 4.76 custom_render_plugin.rco contains 3 plane RCOXML Objects using the 21 standard attributes and 2 specific attributes:
- Page object page_coldboot - is the old/classic coldboot from firmware 1.00 used when the console boots
- Plane object scelogo - is an image of 1024x64 pixels size. Uses grid pointers
- Page object page_coldboot2 - is the new coldboot introduced in firmware 2.70
- Plane object coldboot_ps3logo - is a placeholder for the coldboot.raf animation. Doesnt uses grid pointers
- Page object page_gameboot - used when a game boots
- Plane object ps3logo - is an image of 1200x128 pixels size. Uses grid pointers
![Edit-copy purple.svg.png](/ps3/images/thumb/0/03/Edit-copy_purple.svg.png/25px-Edit-copy_purple.svg.png)
<RcoFile> <MainTree> <ObjectTree> <Page name="page_coldboot" pageMode="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing"> <Plane name="scelogo" stdPositionX="0" stdPositionY="0" stdPositionZ="0" stdColorScaleR="1" stdColorScaleG="1" stdColorScaleB="1" stdColorScaleA="1" stdSizeX="0" stdSizeY="0" stdSizeZ="0" stdSizeScaleX="1" stdSizeScaleY="1" stdSizeScaleZ="1" stdAnchorPointMode="0x0" stdOnInit="nothing" stdOverridePositionX="0x98020000" stdOverridePositionY="0x99020000" stdOverridePositionZ="0x0" stdOverrideSizeX="0x9a020100" stdOverrideSizeY="0x9b020100" stdOverrideSizeZ="0x100" planeImage="image:tex_scelogo" planeResizeMode="0x0"></Plane> </Page> <Page name="page_coldboot2" pageMode="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing"> <Plane name="coldboot_ps3logo" stdPositionX="0" stdPositionY="0" stdPositionZ="0" stdColorScaleR="1" stdColorScaleG="1" stdColorScaleB="1" stdColorScaleA="1" stdSizeX="0" stdSizeY="0" stdSizeZ="0" stdSizeScaleX="1" stdSizeScaleY="1" stdSizeScaleZ="1" stdAnchorPointMode="0x0" stdOnInit="nothing" stdOverridePositionX="0x0" stdOverridePositionY="0x0" stdOverridePositionZ="0x0" stdOverrideSizeX="0x100" stdOverrideSizeY="0x100" stdOverrideSizeZ="0x100" planeImage="nothing" planeResizeMode="0x0"></Plane> </Page> <Page name="page_gameboot" pageMode="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing"> <Plane name="ps3logo" stdPositionX="0" stdPositionY="0" stdPositionZ="0" stdColorScaleR="1" stdColorScaleG="1" stdColorScaleB="1" stdColorScaleA="1" stdSizeX="0" stdSizeY="0" stdSizeZ="0" stdSizeScaleX="1" stdSizeScaleY="1" stdSizeScaleZ="1" stdAnchorPointMode="0x0" stdOnInit="nothing" stdOverridePositionX="0x0" stdOverridePositionY="0x0" stdOverridePositionZ="0x0" stdOverrideSizeX="0x9c020100" stdOverrideSizeY="0x9d020100" stdOverrideSizeZ="0x100" planeImage="image:tex_ps3logo" planeResizeMode="0x0"></Plane> </Page> </ObjectTree> </MainTree> </RcoFile>
![Edit-copy purple.svg.png](/ps3/images/thumb/0/03/Edit-copy_purple.svg.png/25px-Edit-copy_purple.svg.png)
<RcoFile> <MainTree> <ObjectTree> <Page name="page_coldboot" pageMode="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing"> <Plane name="scelogo" stdPositionX="0" stdPositionY="0" stdPositionZ="0" stdColorScaleR="1" stdColorScaleG="1" stdColorScaleB="1" stdColorScaleA="1" stdSizeX="0" stdSizeY="0" stdSizeZ="0" stdSizeScaleX="1" stdSizeScaleY="1" stdSizeScaleZ="1" stdAnchorPointMode="0x0" stdOnInit="nothing" stdOverridePositionX="0x98020000" stdOverridePositionY="0x99020000" stdOverridePositionZ="0x0" stdOverrideSizeX="0x9a020100" stdOverrideSizeY="0x9b020100" stdOverrideSizeZ="0x100" planeImage="image:tex_scelogo" planeResizeMode="0x0" > </Plane> </Page> <Page name="page_coldboot2" pageMode="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing"> <Plane name="coldboot_ps3logo" stdPositionX="0" stdPositionY="0" stdPositionZ="0" stdColorScaleR="1" stdColorScaleG="1" stdColorScaleB="1" stdColorScaleA="1" stdSizeX="0" stdSizeY="0" stdSizeZ="0" stdSizeScaleX="1" stdSizeScaleY="1" stdSizeScaleZ="1" stdAnchorPointMode="0x0" stdOnInit="nothing" stdOverridePositionX="0x0" stdOverridePositionY="0x0" stdOverridePositionZ="0x0" stdOverrideSizeX="0x100" stdOverrideSizeY="0x100" stdOverrideSizeZ="0x100" planeImage="nothing" planeResizeMode="0x0" > </Plane> </Page> <Page name="page_gameboot" pageMode="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing"> <Plane name="ps3logo" stdPositionX="0" stdPositionY="0" stdPositionZ="0" stdColorScaleR="1" stdColorScaleG="1" stdColorScaleB="1" stdColorScaleA="1" stdSizeX="0" stdSizeY="0" stdSizeZ="0" stdSizeScaleX="1" stdSizeScaleY="1" stdSizeScaleZ="1" stdAnchorPointMode="0x0" stdOnInit="nothing" stdOverridePositionX="0x0" stdOverridePositionY="0x0" stdOverridePositionZ="0x0" stdOverrideSizeX="0x9c020100" stdOverrideSizeY="0x9d020100" stdOverrideSizeZ="0x100" planeImage="image:tex_ps3logo" planeResizeMode="0x0" > </Plane> </Page> </ObjectTree> </MainTree> </RcoFile>
As a resume:
- page_coldboot
- scelogo
- stdPositionX="0" stdPositionY="0" stdPositionZ="0" <------------------------------------------------------------------------ positions are empty !
- stdSizeX="0" stdSizeY="0" stdSizeZ="0" <-------------------------------------------------------------------------------------- sizes are empty !
- stdOverridePositionX="0x98020000" stdOverridePositionY="0x99020000" stdOverridePositionZ="0x0" <------- grid & factor pointers, overrides the values of attributes stdPositionX and stdPositionY
- stdOverrideSizeX="0x9a020100" stdOverrideSizeY="0x9b020100" stdOverrideSizeZ="0x100" <------------------- grid & factor pointers, overrides the values of attributes stdSizeX and stdSizeY
- scelogo
- page_coldboot2
- coldboot_ps3logo
- stdPositionX="0" stdPositionY="0" stdPositionZ="0" <------------------------------------------------------------------------ positions are empty !
- stdSizeX="0" stdSizeY="0" stdSizeZ="0" <-------------------------------------------------------------------------------------- sizes are empty !
- stdOverridePositionX="0x0" stdOverridePositionY="0x0" stdOverridePositionZ="0x0" <------------------------------ override positions are empty !
- stdOverrideSizeX="0x100" stdOverrideSizeY="0x100" stdOverrideSizeZ="0x100" <----------------------------------- override sizes are empty !
- coldboot_ps3logo
- page_gameboot
- ps3logo
- stdPositionX="0" stdPositionY="0" stdPositionZ="0" <------------------------------------------------------------------------ positions are empty !
- stdSizeX="0" stdSizeY="0" stdSizeZ="0" <-------------------------------------------------------------------------------------- sizes are empty !
- stdOverridePositionX="0x0" stdOverridePositionY="0x0" stdOverridePositionZ="0x0" <------------------------------ override positions are empty !
- stdOverrideSizeX="0x9c020100" stdOverrideSizeY="0x9d020100" stdOverrideSizeZ="0x100" <------------------- grid & factor pointers, overrides the values of attributes stdSizeX and stdSizeY
- ps3logo
Before calculating the grid pointers is needed to convert the values manually to the correct format. Every one of the attributes used for grid pointers is composed by 2 values, the first one is the grid pointer (first 2 bytes), and the second is the factor pointer (last 2 bytes). Is needed to cut the attribute at half and swap the bytes
- scelogo grid pointers
- position
- stdOverridePositionX="0x98020000" <----------- this is 0x0298 (grid pointer) and 0x0000 (factor pointer to line 1)
- stdOverridePositionY="0x99020000" <----------- this is 0x0299 (grid pointer) and 0x0000 (factor pointer to line 1)
- stdOverridePositionZ="0x0" <---------------------- this is 0x0000 (grid pointer to line 1) and 0x0000 (factor pointer to line 1)
- size
- stdOverrideSizeX="0x9a020100" <----------- this is 0x029a (grid pointer) and 0x0001 (factor pointer to line 2)
- stdOverrideSizeY="0x9b020100" <----------- this is 0x029b (grid pointer) and 0x0001 (factor pointer to line 2)
- stdOverrideSizeZ="0x100" <------------------- this is 0x0000 (grid pointer to line 1) and 0x0001 (factor pointer to line 2)
- position
- ps3logo grid pointers
- size
- stdOverrideSizeX="0x9c020100" <----------- this is 0x029c (grid pointer) and 0x0001 (factor pointer to line 2)
- stdOverrideSizeY="0x9d020100" <----------- this is 0x029d (grid pointer) and 0x0001 (factor pointer to line 2)
- stdOverrideSizeZ="0x100" <------------------- this is 0x0000 (grid pointer to line 1) and 0x0001 (factor pointer to line 2)
- size
Now to get the correct value from the grid pointers is needed to look at the XMB Layouts files from the same firmware !!!
The pointer values needs to be converted to decimal, and added a +1 (in other words... value 0 represents the first line of the .txt file)
- scelogo grid pointers
- position
- stdOverridePositionX="0x98020000" <----------- the first 2 bytes 0x0298 swapped and converted to decimal = 664 + 1 = line 665 of XMB Layouts files
- stdOverridePositionY="0x99020000" <----------- the first 2 bytes 0x0299 swapped and converted to decimal = 665 + 1 = line 666 of XMB Layouts files
- size
- stdOverrideSizeX="0x9a020100" <----------- the first 2 bytes 0x029a swapped and converted to decimal = 666 + 1 = line 667 of XMB Layouts files
- stdOverrideSizeY="0x9b020100" <----------- the first 2 bytes 0x029b swapped and converted to decimal = 667 + 1 = line 668 of XMB Layouts files
- position
- ps3logo grid pointers
- size
- stdOverrideSizeX="0x9c020100" <----------- the first 2 bytes 0x029c swapped and converted to decimal = 668 + 1 = line 669 of XMB Layouts files
- stdOverrideSizeY="0x9d020100" <----------- the first 2 bytes 0x029d swapped and converted to decimal = 669 + 1 = line 670 of XMB Layouts files
- size
Line number | layout_grid_table_272.txt | layout_grid_table_480.txt | layout_grid_table_720.txt | layout_grid_table_1080.txt |
---|---|---|---|---|
665 | 177 | 133 | 266 | 400 |
666 | 0 | 0 | 0 | 0 |
667 | 455 | 455 | 682 | 1024 |
668 | 28 | 28 | 42 | 64 |
669 | 533 | 533 | 800 | 1200 |
670 | 56 | 56 | 85 | 128 |
Now replacing the values from layout_grid_table_1080.txt to see how are displayed in a HD screen:
- page_coldboot
- scelogo for 1080p resolution
- position (displaced 400 pixels right from the center of the screen)
- X=400
- Y=0
- Z=0
- size (the image tex_scelogo.gim is 1024x64 pixels)
- X=1024
- Y=64
- Z=0
- position (displaced 400 pixels right from the center of the screen)
- scelogo for 1080p resolution
- page_gameboot
- ps3logo for 1080p resolution
- position (center of the screen)
- X=0
- Y=0
- Z=0
- size (the image tex_ps3logo.gim is 1200x128 pixels)
- X=1200
- Y=128
- Z=0
- position (center of the screen)
- ps3logo for 1080p resolution
|