XMB Layouts

From PS3 Developer wiki
Jump to: navigation, search

Description[edit]

This files contains a list of numeric values that defines the positions, sizes, etc of some of the items displayed in XMB. Are divided in 4 video resolution modes by its heigths: (272, 480, 720, 1080), and its types: (factor, and grid). Factor ones contains less values and seems to be derivated from Grid ones (grid ones are much bigger).

XMB Layout Tables

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 TV's 1920x1080 16/9
layout_grid_table_720.txt
layout_factor_table_720.txt
720p for HD TV's 1280x720
layout_grid_table_480.txt
layout_factor_table_480.txt
480p for ED TV's 640x480 4/3
layout_grid_table_272.txt
layout_factor_table_272.txt
PSP/PSVita Remote Play 854x480 non standard

Versions[edit]

  • Hash reports:
    • All tables combined (220 variants) download
    • All grid tables combined (157 variants) download
    • All factor tables combined (63 variants) download

Grid[edit]

XMB Layout grid tables

Firmware
Version
RCO build layout_grid_table_272.txt layout_grid_table_480.txt layout_grid_table_720.txt layout_grid_table_1080.txt 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
1.10-1.11 v2 8221 bd16e3265181b06a44ab3f1bb218d5db 8202 5a987a3d9ddf8fa028b57b7ace26095a 8542 9fd9cc6cd47844d81a06dba1232a7827 8875 7fadbdabcff273714b16e77a310e21f1
1.30-1.32 v3 8393 a010e9a95e00f438a57ce07ee598b71b 8375 8744c0992530bb277b42890285567770 8714 625e51a354286999b159421617211356 9049 8acc3aa0682e1805c7a6ad8de8ce87c2
1.50-1.51 v4 8068 cc6fd534f14af531d9ff8ef1af859478 8050 c403a7cbbb38479fa02e5ca578fade3d 8363 0a1e2e3e0d517551861bc6e4556b473f 8697 b9042581873a329679239efabed4a740
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
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
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 contains 3221 lines
2.10-2.17 v9 11391 107781278fd957baa385cf242dbaaedc 11346 352410ff63a39dfa264f17657af91425 11745 3c4c2ba793f709c959263aac21696633 12148 bd9056b57d060aeb51776e7eafed625d
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
3.50-3.56 15228 e7f5b7c3310dccd675109d3473142378 15182 0669aa3f61dafa68b3877df946f401f7 15688 689293086b6075695557dd4233f3bb88 16206 4ba80df686fa4a8abb3dd982ca69eab5 contains 4410 lines
3.60-3.66 v21 15273 739aba4f5d1f081504396f5e05101085 15226 7f75878fb91b671e43e4867621c43cd6 15727 0f1c0b41bca2f6b79bd19c295603ef49 16249 46da0659c26c96508cd5c815c407b9eb
3.70-3.74 15322 f2e66dffca9ede1df1a2a94d422958d0 15276 3c50c98512ae9361e9f068bfb912c821 15778 b4362128287bf770ca006f469e9268f5 16304 7c5f1ac7437415acc5f17c355fcd0b4e
4.00-4.01 v22 0x120 15418 7428f499d142954e07a2a3b7a1ccea0c 15372 b2100ed0e4a8bf7ab49adb217d74ba62 15875 d131ca1ae436cc933438f14a84fa6114 16409 6f999b04ab7e217a597281bf03e79e91
4.10-4.11 15420 157d3ba9c7bf80cb75a491659e183ee8 15374 3c3864bf8abd9f5e128fc32b9792fa6d 15878 4787a0d19b1f702b8ab742a84810e699 16412 42c64d02aca1cf7b19fecb95c7051ae2
4.20-4.23 15465 fde8d33704d03cabb7b3d1770abf797d 15419 6e57be86e391ffbb93e514e098da51f1 15924 646c3b06c2a08428541312e5114c2419 16457 ced406968c0b88e9dcb492cdb0830584
4.25 15501 d019be36b4dc05b491a7353e2e263ceb 15457 22ddc0ff46c58d7a53c543364e63aff6 15963 e11a81e75a63ada01f597edcb080b863 16497 51598697024e1fadea34be14fd4f2329
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.81 15868 dd213290bdbe1b21fcdde8ed10c42f7d 15817 da791dd0d7006e86cfabbed734ba1de7 16341 9859f70f337eb5340e980b4caf34826d 16886 3f58e02ebd866427ad906a6be23eec0c contains 4595 lines


Factor[edit]

XMB Layout factor tables

Firmware
Version
layout_factor_table_272.txt layout_factor_table_480.txt layout_factor_table_720.txt layout_factor_table_1080.txt Changes and notes
Size MD5 Size MD5 Size MD5 Size MD5
1.00-1.32 396 0fb116749b36d82fb12a415c3c867d9f 395 ca335212446875768aa2f05903fe7b9e 431 eaaea785ad9950c5737cd2977e48b0ff 429 b9816baf226159267f8b8fb06f3ecf83
1.50-1.54 380 2069adc687b67c4da8d5a37b30cf1a1d 379 45806f3ce37e4185e2cad1a314384d26 410 ddfabda0bf33404c06d286ef63812453 405 d1d481a6f8453f2298d7cd77556de1aa
1.60-1.70 347 ae12d53ecf64f0f0d076abeea60cf9fc 346 41ac2ea7aea8a0cc3be2d05954bbe0ca 376 a527acb3dd0e32472860631095882126 371 93abe123cfd85377e54bce0069c124a8
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 contains 113 lines
2.10-2.36 383 25b94871db424be56174d4af773dec20 381 31978f43000c21a8b950db324200124a 412 72f898d80192500d5fa76f16c0fd9d4c 407 0fb0cf0d7a8364c902789e910562d91b
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 contains 141 lines
3.70-4.81 477 564023edf0c79e90554cb0e59e610129 476 483b2fe525cf07ab6846993b5101107c 511 e1bcc6ba00f0eb5b0918168a6be67301 498 22c069b81ac379f0dd5f7659dcf26aaa contains 143 lines


  • 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]

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)
    • 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

custom_render_plugin.rco (changelog)

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 line unk value line unk value line unk value line unk value line unk value line unk
1.00~1.02 957F706965F317698EFEB7FE3D878D18 0x97 0xe9010000 489+1 0 0xea010000 490+1 0 0xeb010100 491+1 1 0xec010100 492+1 1 0xed010100 493+1 1 0xee010100 494+1 1 Initial version Initial version Initial version
1.10~1.11 AA737527F6A61CEE01924044DBDB48F3 0x97 0xee010000 494+1 0 0xef010000 495+1 0 0xf0010100 496+1 1 0xf1010100 497+1 1 0xf2010100 498+1 1 0xf3010100 499+1 1 No changes No changes No changes
1.30~1.32 7F5C343DB404DE3701B885BEAA7BE6CD 0x97 0xef010000 495+1 0 0xf0010000 496+1 0 0xf1010100 497+1 1 0xf2010100 498+1 1 0xf3010100 499+1 1 0xf4010100 500+1 1
1.50~1.54 AA737527F6A61CEE01924044DBDB48F3 0x97 0xee010000 494+1 0 0xef010000 495+1 0 0xf0010100 496+1 1 0xf1010100 497+1 1 0xf2010100 498+1 1 0xf3010100 499+1 1
1.60~1.70 3D1DDD9E61045D37EDBDA930FEB1B341 0x102 0xd2010000 466+1 0 0xd3010000 467+1 0 0xd4010100 468+1 1 0xd5010100 469+1 1 0xd6010100 470+1 1 0xd7010100 471+1 1
1.80~1.82 D7E4F234F6C0D564C81E65B04C2E283D 0x104 0xd3010000 467+1 0 0xd4010000 468+1 0 0xd5010100 469+1 1 0xd6010100 470+1 1 0xd7010100 471+1 1 0xd8010100 472+1 1
1.90~1.94 55E2E5125019CF23B65933B0DB4388DE 0x105 0xd5010000 469+1 0 0xd6010000 470+1 0 0xd7010100 471+1 1 0xd8010100 472+1 1 0xd9010100 473+1 1 0xda010100 474+1 1
2.00~2.01 2282751BD5FE8F58D5849959C021BCC4 0x106 0xd6010000 470+1 0 0xd7010000 471+1 0 0xd8010100 472+1 1 0xd9010100 473+1 1 0xda010100 474+1 1 0xdb010100 475+1 1
2.10~2.17 075C785C3B310D4D4F99CE9CD6A652B4 0x106 0xe3010000 483+1 0 0xe4010000 484+1 0 0xe5010100 485+1 1 0xe6010100 486+1 1 0xe7010100 487+1 1 0xe8010100 488+1 1
2.20 BB10C1C57EB9DD91532CAFD865B80DAD 0x107
2.30~2.36 8C070B74082E2B7650D0358E347AED80 0x107 0xe5010000 485+1 0 0xe6010000 486+1 0 0xe7010100 487+1 1 0xe8010100 488+1 1 0xe9010100 489+1 1 0xea010100 490+1 1
2.40~2.43 2CA56107EDE4A0E83C8B706C2B7A2F1B 0x107 0x24020000 548+1 0 0x25020000 549+1 0 0x26020100 550+1 1 0x27020100 551+1 1 0x28020100 552+1 1 0x29020100 553+1 1
2.50~2.53 E4F69377DF56EC728DC29D6AB814ED63 0x107 0x3a020000 570+1 0 0x3b020000 571+1 0 0x3c020100 572+1 1 0x3d020100 573+1 1 0x3e020100 574+1 1 0x3f020100 575+1 1
2.60 EBCB8B2BF2D0122A7E7AA43459B989A3 0x107 0x49020000 585+1 0 0x4a020000 586+1 0 0x4b020100 587+1 1 0x4c020100 588+1 1 0x4d020100 589+1 1 0x4e020100 590+1 1
2.70~2.76 07A2E2F30C97FFE508234585420C1BCF 0x107 0x4c020000 588+1 0 0x4d020000 589+1 0 0x4e020100 590+1 1 0x4f020100 591+1 1 0x50020100 592+1 1 0x51020100 593+1 1 page_coldboot2 (page added) anim_coldboot2 (animation added)
2.80 52551D13219AF705B1EE17B80B611948 0x107 0x4e020000 590+1 0 0x4f020000 591+1 0 0x50020100 592+1 1 0x51020100 593+1 1 0x52020100 594+1 1 0x53020100 595+1 1 No changes No changes
3.00~3.01 7540C3BAF80AD5BAE4B4342149BC5116 0x108 0x6f020000 623+1 0 0x70020000 624+1 0 0x71020100 625+1 1 0x72020100 626+1 1 0x73020100 627+1 1 0x74020100 628+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 0x71020000 625+1 0 0x72020100 626+1 1 0x73020100 627+1 1 0x74020100 628+1 1 0x75020100 629+1 1 No changes No changes
3.30 9F16A32EF5EDBB802A9DFD2E5F46E88E 0x110 0x72020000 626+1 0 0x73020000 627+1 0 0x74020100 628+1 1 0x75020100 629+1 1 0x76020100 630+1 1 0x77020100 631+1 1
3.40~3.56 0D6054717B3C7573047BBF8CF0C37E32 0x110 0x7d020000 637+1 0 0x7e020000 638+1 0 0x7f020100 639+1 1 0x80020100 640+1 1 0x81020100 641+1 1 0x82020100 642+1 1
3.60~3.74 56CFE845364C511FC2C5D4154FFD2CCD 0x110 0x85020000 645+1 0 0x86020000 646+1 0 0x87020100 647+1 1 0x88020100 648+1 1 0x89020100 649+1 1 0x8a020100 650+1 1
4.00~4.25 9764A4790A360C0769359DE8741A55AE 0x120
4.30~4.46 02251196DCEF6ABC756499A18B6A9BFC 0x130 0x97020000 663+1 0 0x98020000 664+1 0 0x99020100 665+1 1 0x9a020100 666+1 1 0x9b020100 667+1 1 0x9c020100 668+1 1
4.50~4.76 FB9C8E467A0A1E2C38397D6F266FC997 0x130 0x98020000 664+1 0 0x99020000 665+1 0 0x9a020100 666+1 1 0x9b020100 667+1 1 0x9c020100 668+1 1 0x9d020100 669+1 1
4.78  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?
4.80  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?
4.81 9441159906B3A81E9A4DAD58CD995ED8 0x130 0x98020000 664+1 0 0x99020000 665+1 0 0x9a020100 666+1 1 0x9b020100 667+1 1 0x9c020100 668+1 1 0x9d020100 669+1 1 No changes No changes tex_scelogo.gim (image updated)
  • File Contents:
    • tex_ps3logo.gim 1.00-4.81 (MD5: 87068679DB28FE5347700FADBF281E5A) 1200x128 pixels size (it says: "Playstation 3"), see: [1]
    • tex_scelogo.gim 1.00-4.76 (MD5: 6158E31B5274DEE04F6193873F731B7F) 1024x64 pixels size (it says: "Sony Computer Entertainment"), see: [2]
    • tex_scelogo.gim 4.78: unknown
    • tex_scelogo.gim 4.80: unknown
    • tex_scelogo.gim 4.81 (MD5: 44A1C6660B77703E1E9DA3816F345400) 1024x64 pixels size (it says: "Sony Interactive Entertainment")
    • 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

Example[edit]

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

This is the same code, using linefeeds and tabs for a better overview of the attributes

Codecode
<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 pointers, overrides the values of attributes stdPositionX and stdPositionY
      • stdOverrideSizeX="0x9a020100" stdOverrideSizeY="0x9b020100" stdOverrideSizeZ="0x100" <------------------- grid pointers, overrides the values of attributes stdSizeX and stdSizeY
  • 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 !
  • 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 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 itself (first 2 bytes), and the second one is unknown (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 (unknown)
      • stdOverridePositionY="0x99020000" <----------- this is 0x0299 (grid pointer) and 0x0000 (unknown)
      • stdOverridePositionZ="0x0" <---------------------- this is 0x0000 (not a grid pointer) and 0x0000 (unknown)
    • size
      • stdOverrideSizeX="0x9a020100" <----------- this is 0x029a (grid pointer) and 0x0001 (unknown)
      • stdOverrideSizeY="0x9b020100" <----------- this is 0x029b (grid pointer) and 0x0001 (unknown)
      • stdOverrideSizeZ="0x100" <------------------- this is 0x0000 (not a grid pointer) and 0x0001 (unknown)
  • ps3logo grid pointers
    • size
      • stdOverrideSizeX="0x9c020100" <----------- this is 0x029c (grid pointer) and 0x0001 (unknown)
      • stdOverrideSizeY="0x9d020100" <----------- this is 0x029d (grid pointer) and 0x0001 (unknown)
      • stdOverrideSizeZ="0x100" <------------------- this is 0x0000 (not a grid pointer) and 0x0001 (unknown)

Now to get the correct value from the grid pointers is needed to look at the XMB Layouts files from the same firmware !!!

The grid pointer value needs to be converted to decimal, and added a +1 (because the first value posible is 0, must match with the first line in a .txt file that is 1)

  • 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
  • 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
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
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
  • 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
coldboot
gameboot