PS3 RCO Mage (Dumping RCO's)

If you mean how to modify other parts of that screen... it seems to be composed by several "blocks"

The first block is a single sentence with the "msg_ps_rights" you was talking about in this thread, this sentence is translated to 20 languages

Then the screen does a "pop" (barelly notable) and displays the second block... is the content of file:
dev_flash\vsh\resource\sysconf\credits\PS3_OSS_Noitice.txt
There is only 1 version of this file (is not translated to 20 languages), is a list of the Open Source Software licenses used in PS3 firmware
Seems to be in html, i dont see any character codes for icons



Edit:
Im not sure... but it looks like there is a third block in between the ones im mentioning

I cannot find the text for DivX and DTS and stuff thats above the open source software stuff. but then again the text xml and the xml tree file for this are massively long
 
I cannot find the text for DivX and DTS and stuff thats above the open source software stuff. but then again the text xml and the xml tree file for this are massively long
Yep, i think the second block is the section where appears big icons centered on the screen and couple of sentences under every icon (centered too), for divx, flash player, etc...

This icons are loaded from the rco, but the texts im not sure, doesnt seems to be translated so maybe are not in the rco's
 
Yep, i think the second block is the section where appears big icons centered on the screen and couple of sentences under every icon (centered too), for divx, flash player, etc...

This icons are loaded from the rco, but the texts im not sure, doesnt seems to be translated so maybe are not in the rco's

Found them in the text xml file -

upload_2018-12-30_23-7-48.png


They are about a third of the way down the file.
 
Found them in the text xml file -

View attachment 14238

They are about a third of the way down the file.
Nice, hehe, btw i realized a handy trick, by pressing "X" button in that screen the scrolling animation pauses
This gives you time to read it and to see in which order are displayed (the last one of this second block is cinavia)

And i realized this screen have several mistakes, lol, one of them is the icon tex_logo_atrac.gim (the first in this block) is not displayed, it exists inside the rco but for some reason is not displayed, i guess is because at some point it was changed the gim settings. My mistake, is displayed fine, is just is in small size and displayed "inline" (in between normal text characters)

Also, the "walkman" logo doesnt exists in the rco (second of this block), im wondering if by adding a file with the name tex_logo_walkman.gim it should be displayed in his position, lol
Same with "cinavia" logo, doesnt exists in the rco, but maybe the .sprx responsible of displaying this scrolling animation is searching for it
 
Last edited:
Nice, hehe, btw i realized a handy trick, by pressing "X" button in that screen the scrolling animation pauses
This gives you time to read it and to see in which order are displayed (the last one of this second block is cinavia)

And i realized this screen have several mistakes, lol, one of them is the icon tex_logo_atrac.gim (the first in this block) is not displayed, it exists inside the rco but for some reason is not displayed, i guess is because at some point it was changed the gim settings. My mistake, is displayed fine, is just is in small size and displayed "inline" (in between normal text characters)

Also, the "walkman" logo doesnt exists in the rco (second of this block), im wondering if by adding a file with the name tex_logo_walkman.gim it should be displayed in his position, lol
Same with "cinavia" logo, doesnt exists in the rco, but maybe the .sprx responsible of displaying this scrolling animation is searching for it

I was just about to say the ATRAC logo is inline with the text lol. You can also control the text with the left analog stick :D

Its odd the WALKMAN logo isn't in here, its in the music and photo ROCs. You could try adding it and see if will display it.
I am having a look through the main xml to see if the script for these is still in there.

As for the cinavia logo. i have defo seen it but can't remember which rco its in.
 
when you dump the rco you will get an xml that is outside the two dumped folders for this rco.

To clear my doubts I've checked that file from start. Not a thorough check tho, Never found it...
Also if you're saying it depends on the Outer xml file then why when some modification are made inside the english..xml it shows properly/no soft bricks..
Like ex If the outerlayer xml tells it where the logo must be put & In that place I added EFA297 it shows EFA297 but when I added one more area of 5 spaces It caused a crash...
 
Last edited:
To clear my doubts I've checked that file from start. Not a thorough check tho, Never found it...
Yours makes sense as well as what sandungas posted... an sprx modification of later firmwares that puts playstation logo in between 5 spaces....

Also if you're saying it depends on the Outer xml file then why when some modification are made inside the english..xml it shows properly/no soft bricks..
Like ex If the outerlayer xml tells it where the logo must be put & In that place I added EFA297 it shows EFA297 but when I added one more area of 5 spaces It caused a crash...

Basically there are 3 XML files that govern whats on the XMB and the various other thing on the PS3 in combinatio with SPRX files and other files., where it is located and what happens with them.

You have the main explore XMLs that give what goes where and in what order on the XMB. They also decide what icons from the RCO files they are associated with go with each option on the XMB and aspect of the PS3. But I believe that in a certain FW update the default icons that the XMB waves can be seen through are now located in the icons.qrc file. Here's a bit of fun stuff, if your on CFW you can make these XMLs get the icons form a custom location on the HDD. For example in the XML display "icon_rsc" followed by "tex_folder" if you change that tex_folder to say "dev_hdd0/folder.png" it will load the icon from that location if you put one there and its called folder.png. It will even overiride the theme if you have one set for the xmb.

Explore XML are located "dev_flash/vsh/resource/explore/xmb

icons.qrc is located in "dev_flash/vsh/resource/qgl"

The next XML is the one that gets dumped outside the the folders of the RCO. This controls the size, colour, position, any animation, what happens when the icon is selected, the icons compression, timing and also if other icons need to be loaded for certain menu actions. And will also contain the locations of all the files in the RCO you have dumped to your PC so that when you re-compile the RCO RCO Mage knows where they are to put back into the RCO file. You can also set custom locations on your computer for the GUI to get things from, not really needed as everything is in one handy place and would be easy to just replace things direct form these folders. These XMLs also control aspects outside of the XMB, like the recovery menu and other things.And these also work alongside the sprx files.

Then we have the text XMLs inside the text folder. All these are is the all the text displayed on the PS3. You can edit the text part of these anyway you want and not cause a brick because they are taking the text from the font files on the PS3. You could change "Sign into PSN" to "F**k you S@ny" and it wouldn't brick your PS3. I have edited loads of the Text on my PS3's because some of it does not make sense for example "The data is corrupted" What data, this data, the data on the USB??? Now reads "This data is corrupted"

So if your adding things to stuff that's already set out you need to edit the corresponding files that govern each aspect or the PS3 is going to go WTF is that doing there, have a fit and crash or do other weird things like not display things correctly or not at all.

The PS3 is programmed in its own language, PlayStation Java Script, and other bonkers own things S@ny comes up with that only make sense on the PS3 lol. Its like having a 3 year old, just waiting for it to have another temper tantrum because you did something it didn't like. For example I made one extra modification the the xmb waves in the lines.qrc file that wouldn't normally be there, but was in earlier FW versions and the PS3 had such a fit at this extra tiny bit of code that a full factory system restore was the only way to get rid of the black screen on boot.

Imagine that, soft bricking your console to the point of nearly fully bricking it through a lines.qrc file o_O :rolling:
 
Informative
But you can't fully brick it with lines.qrc or any other rco file... even some .sprx file won't fully brick it
I think the only way of fully bricking your console is patch nand/nor flash & tryna get cfw on a non-compatible ps3 Correct me If I'm wrong.

Also, it's gonna be stupid af for a rookie to replace the lines.qrc and meet a full brick lmao..:chuncky:
 
Informative
But you can't fully brick it with lines.qrc or any other rco file... even some .sprx file won't fully brick it
I think the only way of fully bricking your console is patch nand/nor flash & tryna get cfw on a non-compatible ps3 Correct me If I'm wrong.

But it it's gonna be stupid af for a rookie to replace the lines.qrc and meet a full brick lmao..:chuncky:

You want to test it? :Do_O I still got the lines.qrc file that did it somewhere on my PC HDD :eek::D and also when you try all the recovery options it will crash. System restore has to be tried 2 or three time before it will work as it still crashes :cool::rolleyes:o_O:D

Don't worry a felt like a right muppet. I get the complicated stuff right and f**k up on the simple stuff big style.

There are many ways to brick any electronic equipment, trust me I can find them ways as I like to push the limits of stuff, but yes they would be the main ways to brick a PS3.
 
You want to test it? :Do_O I still got the lines.qrc file that did it somewhere on my PC HDD :eek::D and also when you try all the recovery options it will crash. System restore has to be tried 2 or three time before it will work as it still crashes :cool::rolleyes:o_O:D

Don't worry a felt like a right muppet. I get the complicated stuff right and f**k up on the simple stuff big style.

There are many ways to brick any electronic equipment, trust me I can find them ways as I like to push the limits of stuff, but yes they would be the main ways to brick a PS3.
Tbh you push your limits in order to brick.
I don't need that I get something, I brick it.
I dare you to gimme a file that fully bricks the console Pm me something other than lines.qrc cause you've mentioned it as recoverable.
 
As far i can see there is no entry in the main xml for that screen
What @Cypher_CG89 explained is right, that xml is a representation of the internal rco structure, and the tags under <ObjectTree> are like the construction blocks of XMB, everyone of them is like an small "display mode" that tells how the stuff is displayed on screen

But the screen used in XMB ---> [Settings] ---> [System Settings] ---> [About PlayStation3]... doesnt seems to be build this way because there is not a page for it under <ObjectTree>
Im not going to say im completly sure about this, because the only way to give proof that is not there is by explaining what does all the others (and there are a lot more, and some im not really sure what does)

There is a good way to organize the xml to read that "page" object names, in notepad++ in the tabs at top choose:
View ---> Collapse level ---> 4
And you will see the contents this way:
PYMaX7u.jpg

Scroll down to see all the other names... you will notice are ordered in the same way that are displayed on XMB (mostly, not completly)

So... this seems to be one of the cases where the .sprx is "overriding" the objects inside the rcoxml
The .sprx can remove, replace, or add stuff to the rcoxml

In this case it seems the .sprx is adding a page with that animation effect scrolling down (and the button controlls with the stick and x button to pause the scrolling)
Also, is clearlly composed by 3 blocks, as we was mentioning
First block - aligned to left (with a single line and the string msg_ps_rights + icons loaded from imagefont.bin)
Second block - aligned to center (with strings and icons loaded from the rco)
Third block - aligned to left (from PS3_OSS_Noitice.txt and without icons)

And the icon location of the first and second block are driven by the .sprx
Note the weirdness in how is displayed the icon for atrac
Code:
	<Text name="msg_atrac1_right">"ATRAC" and</Text>
	<Text name="msg_atrac2_right">are trademarks of Sony Corporation.</Text>

This 2 text lines belongs to the same sentence, but is divided in 2 to create a "gap" for the icon
What the .sprx is doing is to display the atrac icon after the "msg_atrac1_right"
 
Last edited:
There is a good way to organize the xml to read that "page" object names, in notepad++ in the tabs at top choose:
View ---> Collapse level ---> 4
And you will see the contents this way:

It still gives me a headache looking through it all and my PC is dual 4k output and is normally on two 40" HDTVs mounted side by side lol. (Classic graphics dev setup lol)

EDIT - Also I have word wrap on as well so this helps keep the code in the screen.

I will find where this section (scrolling menu crap lol) of the xmb is controlled from. S@ny like to put things all over the place instead of things being nice and organised. Which is completely backwards to Japanese culture, or did they take a leaf out of there wacky cartoon shows and think F**k it?? How they manage to do a FW update with crap all over is beyond me.
 
Last edited:
The only posible candidate is this one:
Code:
			<Page name="page_console_about2_ps3" pageMode="0x1101" pageOnInit="event:native:/OnInitPageConsoleConfig" pageOnCancel="event:native:/OnCancelConsoleConfig" pageOnContext="nothing" pageOnActivate="event:native:/OnActivatePageConsole">
				<XList name="content_list_console_about2_ps3" positionX="0" positionY="0" positionZ="0" colorScaleR="1" colorScaleG="1" colorScaleB="1" colorScaleA="1" sizeX="0" sizeY="0" sizeZ="0" sizeScaleX="1" sizeScaleY="1" sizeScaleZ="1" anchorMode="0x0" onInit="nothing" positionOverrideX="0x0" positionOverrideY="0x0" positionOverrideZ="0x0" sizeOverrideX="0x0" sizeOverrideY="0x0" sizeOverrideZ="0x0" xlistItemNum="0x0" xlistOnCursorMove="nothing" xlistOnScrollIn="nothing" xlistOnScrollOut="nothing" xlistOnPush="event:native:/OnPushPauseButtonConsoleAboutPs3New" xlistOnContext="nothing" xlistOnFocusLeft="nothing" xlistOnFocusRight="nothing"></XList>
				<Plane name="plane_console_about2_ps3" positionX="0" positionY="0" positionZ="0" colorScaleR="0" colorScaleG="0" colorScaleB="0" colorScaleA="100" sizeX="0" sizeY="0" sizeZ="0" sizeScaleX="1" sizeScaleY="1" sizeScaleZ="1" anchorMode="0x0" onInit="nothing" positionOverrideX="0x4000100" positionOverrideY="0x5000100" positionOverrideZ="0x6000100" sizeOverrideX="0x7000100" sizeOverrideY="0x8000100" sizeOverrideZ="0x0" planeImage="nothing" planeResizeMode="0x0"></Plane>
			</Page>
But i think this one could be the display mode for the "system info" (where it shows your firmware version, IP address, MAC, hdd free space)

Anyway... even if is this one... inside it there is no definitions for the 3 "blocks" of texts that appears in the scrolling animation
And there is no info about icon positions of the second block, and no info about which text strings needs to be displayed




Edit:
Incase is this one... what the .sprx is doing is to create children tags under the "plane_console_about2_ps3", this way:
Code:
			<Page name="page_console_about2_ps3">
				<XList name="content_list_console_about2_ps3"></XList>
				<Plane name="plane_console_about2_ps3"></Plane>
					<!-- HERE THE SPRX CREATES CHILDRENS AT RUNTIME (block 1)-->
					<!-- HERE THE SPRX CREATES CHILDRENS AT RUNTIME (block 2)-->
					<!-- HERE THE SPRX CREATES CHILDRENS AT RUNTIME (block 3)-->
			</Page>
The childrens "should be" the 3 blocks i been mentioning




Edit:
Better this way, i guess the childrens are <XItem> so his parent is <XList>
Code:
			<Page name="page_console_about2_ps3">
				<XList name="content_list_console_about2_ps3"></XList>
					<!-- HERE THE SPRX CREATES CHILDRENS AT RUNTIME (block 1)-->
					<!-- HERE THE SPRX CREATES CHILDRENS AT RUNTIME (block 2)-->
					<!-- HERE THE SPRX CREATES CHILDRENS AT RUNTIME (block 3)-->
				<Plane name="plane_console_about2_ps3"></Plane>
			</Page>
 
Last edited:
I just noticed...

Code:
			<Page name="page_console_about2_ps3" pageMode="0x1101" pageOnInit="event:native:/OnInitPageConsoleConfig" pageOnCancel="event:native:/OnCancelConsoleConfig" pageOnContext="nothing" pageOnActivate="event:native:/OnActivatePageConsole">
				<XList name="content_list_console_about2_ps3" positionX="0" positionY="0" positionZ="0" colorScaleR="1" colorScaleG="1" colorScaleB="1" colorScaleA="1" sizeX="0" sizeY="0" sizeZ="0" sizeScaleX="1" sizeScaleY="1" sizeScaleZ="1" anchorMode="0x0" onInit="nothing" positionOverrideX="0x0" positionOverrideY="0x0" positionOverrideZ="0x0" sizeOverrideX="0x0" sizeOverrideY="0x0" sizeOverrideZ="0x0" xlistItemNum="0x0" xlistOnCursorMove="nothing" xlistOnScrollIn="nothing" xlistOnScrollOut="nothing" xlistOnPush="event:native:/OnPushPauseButtonConsoleAboutPs3New" xlistOnContext="nothing" xlistOnFocusLeft="nothing" xlistOnFocusRight="nothing"></XList>
				<Plane name="plane_console_about2_ps3" positionX="0" positionY="0" positionZ="0" colorScaleR="0" colorScaleG="0" colorScaleB="0" colorScaleA="100" sizeX="0" sizeY="0" sizeZ="0" sizeScaleX="1" sizeScaleY="1" sizeScaleZ="1" anchorMode="0x0" onInit="nothing" positionOverrideX="0x4000100" positionOverrideY="0x5000100" positionOverrideZ="0x6000100" sizeOverrideX="0x7000100" sizeOverrideY="0x8000100" sizeOverrideZ="0x0" planeImage="nothing" planeResizeMode="0x0"></Plane>
			</Page>
This is the original rcoxml code, note in the <XList> "content_list_console_about2_ps3" there is an attribute for button controlls that does the "pause" of the scrolling animation, is named:
Code:
xlistOnPush="event:native:/OnPushPauseButtonConsoleAboutPs3New"

OnPush means the pause event is triggered when you push the X button (or O button in a japanese PS3)
The event is named OnPushPauseButtonConsoleAboutPs3New, this is a function name, the programmers have some freedom to choose this names, sometimes there are typos, sometimes doesnt makes sense, etc... (so dont think in them as something super strict and always correct) but most of the times are good and explicit, by reading the name it can be deduced that most probably the internal name of that screen (with the scrolling animation) is named "ConsoleAboutPs3", and it can be seen how the version used in latest firmwares is "New" (this means in previous firmwares existed a different version, and probably the code for it is still inside the .sprx)

So... if you want to try something easy (that should work), you can try to trigger that same "pause" event with a different attribute for a different button controll, this one looks like a nice candidate for the experiment :)
Code:
xlistOnCursorMove="nothing"
The "OnCursorMove" is mapped to the D-pad of the dualshock, in the official xml is doing "nothing", when you use the D-pad in the scrolling animation is ignored, so you can change it to this:
Code:
xlistOnCursorMove="event:native:/OnPushPauseButtonConsoleAboutPs3New"
And you should be able to pause the scrolling animation with the D-pad

I know... this "custom feature" is pointless, lol, but if it works it means this section of the xml is actually the scrolling animation :)
 
Last edited:
I'd like rcomage to stop dying on me every alternate dumps, but still your method doesn't work.

<Text name="msg_ps_rights">" ", "PlayStation", "PSP" and " " are registered trademarks or trademarks of Sony Interactive Entertainment Inc.</Text>
What does the first and second 5 spaces correspond to while being rendered in the the PS3? Are they both the PS3 logo?
Most probably is because the "stuff" that is supposed to be displayed in between quotes in the texts you have posted here are 2 icons (loaded from imagefont.bin)

Are 2 of these:
Imagefont.bin_PS3_4.60_contents_%28LOGOS%29.jpg



If you open the xml file in a hexeditor and look at that position you are going to find this character codes in hexadecimal
So in the both cases is the PS3 logo?

Ok now its funny....
So I've tried extracting LuanTeles Ps3 4k pro mod to test,
I've dumped his sysconf_plugin.rco (altho it was unsucessful showed an error)
Opened it & got this...

That means it shows PS3 Symbol right?.
But why does his sysconf show that but not the original unmoded ps3
Look carefully in that attached file. Only the second spaces have the correct hex code, the first space still has the 5 x20, so even here, no matter what luanless rco version comes from it still uses 0x202020

Tried this, It worked.
It shows Test playstation blah blah
Uploaded pic, sorry for the blur couldn't focus..
This means that 5 x20 it not a must for the it to worked, but if it exists then it is parsed.

Tested this & guess what Ps3 crashed....
The xml edit i made is uploaded.
I think you all are getting this wrong. It's not 5 spaces, "2020202020" but 5 spaces in side two quotes ("22202020202022")!
And this servers as a control code or something. They could be potentially more, like "++++++" or " " (3spaces or so).
I think that the the text is homehow parsed for every text inside quotes. For example a regular expresion of "text" . If text is empty , 5 spaces or so then it knows it's a control code and processed it insteading of simply displaying it to the screen. It can use be usiing string split methods.
The reason why it crashed is most likely this:

"TEST", "PlayStation", "PSP" and "TEST" are registered trademarks or trademarks of Sony Interactive Entertainment Inc.
^^ Notice that there are never 3 quotes characters in a row(excluding empty spaces). There is always a comma or something else.

While in your second test you have done this:

" ", "PlayStation", " " " and "TEST" are registered trademarks or trademarks of Sony Interactive Entertainment Inc.
Notice the 3 quotes symbols in a row, and between the second and the third one there is one space. This should be confusing the PS3 while it processes it. " " "
 
Look carefully in that attached file. Only the second spaces have the correct hex code, the first space still has the 5 x20, so even here, no matter what luanless rco version comes from it still uses 0x202020
Right, i noticed it in luanteles files is only used one time :encouragement:
Also, i was looking at 4.46 and the sentence was different too (it have couple of icons inline... then some texts, and then another couple of icons)
So... it seems sony was changing this several times, and to me it looks like "problems", they have been "fixing" characers with code in the string msg_ps_rights since lot of firmwares ago

I think you all are getting this wrong. It's not 5 spaces, "2020202020" but 5 spaces in side two quotes ("22202020202022")!
This is probable :)
 
5 spaces in side two quotes ("22202020202022")!

This is what 5 spaces with quote's either side translates into HEX anyways. "20" is HEX for a space, "22" is HEX for a quotation mark so either is true if you look at the whole file in HEX.
 
This can be a solution if nothing else works & the same error keeps displaying.
Try using the rcomage in command line like this:

cd /d (rcomagepath) && Rcomage "C:\Users\Windows 10\Desktop\Custom_render_plugin.rco" "C":\Users\Windows 10\Desktop\blah.xml" --Images "C:\Users\Windows 10\Desktop\Images" --Text "C:\Users\Windows 10\Desktop\Text" --Sounds "C:\Users\Windows 10\Desktop\Sounds"

The quotes (" ") help the command line to ignore any spaces in between.

Note: Create Directories Text, Sound & Images by yourself.
Also there's no need for decoding vsmx scripts for the PS3 as the ps3 only uses it for the coldboot.raf file

Tried loads of locations still does the same thing, spaces no spaces doesn't matter. Same error every time lol

There's no use trying loads of locations if the user folder has a space too for ex: C:\Users\Windows 10
So where ever you try dumping the rco it will fail with the same error message.
 
Last edited:
that is correct. the vsmx of a coldboot can be decoded using rco mage. there's a modified one in my coldboot tutorial, 'cause iirc the official one would screw up. it might've been with hanzi (chrinese characters) appearing at random lines. the cmd line will tell which lines. deleting those lines seems to work. it might've happened only with colored coldboots (not sure)..
 
This can be a solution if nothing else works & the same error keeps displaying.
Try using the rcomage in command line like this:

cd /d (rcomagepath) && Rcomage "C:\Users\Windows 10\Desktop\Custom_render_plugin.rco" "C":\Users\Windows 10\Desktop\blah.xml" --Images "C:\Users\Windows 10\Desktop\Images" --Text "C:\Users\Windows 10\Desktop\Text" --Sounds "C:\Users\Windows 10\Desktop\Sounds"

The quotes (" ") help the command line to ignore any spaces in between.

Note: Create Directories Text, Sound & Images by yourself.
Also there's no need for decoding vsmx scripts for the PS3 as the ps3 only uses it for the coldboot.raf file



There's no use trying loads of locations if the user folder has a space too for ex: C:\Users\Windows 10
So where ever you try dumping the rco it will fail with the same error message.

Thanks but I had this sorted out a while ago, just some stupid errors with previous verson's RCO MAGE. Nothing get's on my PC's C:\ drive only D:\ & F:\ as there is imited space on c: and slow's the booting of certain thing's, especially on boot. Need and mSATA drive for it as it only has 28GB eMMC ROM at the minute on the C:\ drive.

Can dump and compile from any directory on the PC whem needing specific things. I dont faf on creating dirctories manually. The only folder I make has the name of the RCO the contents have been dumped in

I use your tool now for when am ready to try them on the PS3, saves time with the gim imgaes instead of manully finding the gim settings. That part drives me up the wall.
 
Back
Top