PS3 XForge PS QRC Tool - Modifying aspects of the XMB is now easier then ever.

We have seen many XMB visual mods published so far in the lifetime of the PS3 but the QRC format (a type of container) has been always problematic, tricky, and very restricted. XForge is intended to solve all this problems once for all, it allows full freedom to rebuild the QRC files and modify all his contents

There are many files inside the QRC containers that are candidates to be modified, XForge is the first tool that allows to modify them in a "noob friendly" way, everything made from a intuitive interface with preview panels

Say goodbye to the previous manual methods that required dealing with zlib compressed files or injecting them with a hex-editor to create a custom wave, to replace XMB main icons, to change background wallpapers, etc... XForge supersedes all that tutorials, manuals methods, and tools, there is a long list of features supported by XForge, for more detailed descriptions see the feature list below​
-@sandungas

XForge logo 722 copy.png

Download: XForge

Feature List_________________________________________________________________________________________
  • All QRC file types supported (QRCC and QRCF)
  • ZLIB compression and decompression transparent management (no user interaction needed)
  • Individual extraction/injection of files of any size
  • Full extraction of all files, using an additional xml control file for rebuilding purposes
  • Full rebuilding from the xml control file, generates QRC files identicals to the originals
  • QRCC to QRCF, and QRCF to QRCC conversions, generates files identicals to the originals
  • Build custom QRC files 100% from scratch, or adding/removing files from the officials
  • Several display panels: FileList (all types), TextViewer (MNU, TXT, INI, PATH), ImageViewer (BMP, JPG, TGA, DDS), HexViewer
  • Compatibility with sce-cgcdisasm.exe (tool not included in XForge releases) to dissassemble FPO and VPO files on the fly
  • Syntax highlighting in the TextViewer for MNU, TXT, INI, PATH (and optionally FPO and VPO)
  • MD5 hash info of QRC files and all his file contents, with identification of official files (initial support)
  • Advanced QRC internal structure file info (for debugging, development or research purposes)
  • Optional custom file extension system icons for QRC.ico and QRCF.ico
  • Optional custom file extension renaming at extraction time
  • Extensive drag and drop features - Drag files into XForge from Windows explorer, and out of XForge to Windows explorer.
  • Ability to open 2 or more XForge instances with different QRC's and drag-and-drop files between them.
  • Double click files on filelist to open them in your preferred editor application that's associated with that file type
  • Compatible with Microsoft Windows XP onwards (requires .Net framework 4.0)

[TABLE STYLE=class:prefix prefixBlue, border-width:0px, width:100%][TR][TD]Screenshots_________________________________________________________________________________________[/TD][/TR][/TABLE]
System icons
eZQziJm.jpg

MNU, TXT, INI, PATH viewer with syntax highlighting
nCbozwi.png

FPO/VPO viewer and dissassembler with syntax highlighting
Huwnszd.png

BMP, JPG, TGA, and DDS imageviewers
phag04T.png

Hexviewer
EIyuGDj.png


Videos________________________________________________________________________________________________

[TABLE STYLE=class:prefix prefixBlue, border-width:0px, width:100%][TR][TD]Tutorials______________________________________________________________________________________________[/TD][/TR][/TABLE]

  • This building method is inspired by rcomage, at extraction time XForge generates a XML control file for rebuilding purposes (located at root of the extraction path). The QRC file is built by loading the XML control file

    1) Open the QRC file with [File]>[Open]
    2) Extract all contents from the QRC file with the option [File]>[Extract All]. This will create a control XML file
    3) At this point you can modify or replace all extracted files
    4) Build the new QRC file by using the control XML file with the option [File]>[Open]

  • This method allows to replace individual files by using the buttons in XForge interface

    1) Open the QRC file with [File]>[Open]
    2) Extract files individually with the button [Extract File]
    3) Replace files individually with the button [Replace File]
    4) Save QRC file with the button [Save QRC File]

  • This is a direct conversion in between QRC and QRCF

    1) Open the QRC/QRCF file with [File]>[Open]
    2) Convert the file with [Tools]>[Convert]>[QRC to QRCF] or [QRCF to QRC]


Credits, History, and Changelog________________________________________________________________

  • First our team
    @pink1 Programming & development, research of the qrc format
    @sandungas For texting, icons/images, research of the qrc format & development consulting
    @DeViL303 For getting the team together with the idea of making the app, researching modding the qrc, texting & development consulting
    @Berion For texting & development consulting
    I can't thank these guys enough for all of the time and energy they put into this.

    We'd like to give credit to all of the other developers and members from over the years who have helped in any way.

  • Working with @sandungas @DeViL303 & @Berion over the past few weeks we have been able to make a few good jumps with the ps3 QRC file(mainly the earth.qrc).
    1. First we were able to replace files the same size or smaller(cool but not really new).
    2. After looking at the wiki for awhile we thought why not try editing the TOC (we know all of the values from the work of the amazing guys that reversed the format). This worked! We were able to expand the size of the files inside of the qrc.
    3. After playing with that we decided to try extracting the qrc to a folder then building a new one from it. To do this we also create a xml file with the a list of the qrc files in the order they are inside the qrc.
    4. This xml is used to build the new qrc. We have two spaces for each file first we have the source file then we have the id(the name in the qrc). By editing this file we can build a custom qrc only needing to extract & then build in the program after editing.
    5. Specific imageviewer preview modes for the special DDS file formats (mimicking the look of PS3 XMB)
    6. Specific textviewer syntax corrections for problematic files (EOL windows to unix conversions, standarization of control characters)

  • Initial release
 
Last edited by a moderator:
LOL i did something wrong haha

G94gAlY.png




Glass Effect (really cool every particle affects all xmb item)

e47QnBU.png

Zr0WQ7P.png



THis with contour

OIPV5zw.png


I think we can do cool things in there, but you know i'm not good with it, i just start throwing random 9 in every values :P


EDIT:

Okay, i just incresed the glass by 0.1 and the Reflexion by 6 and explosure decreased by 0.2

And the xmb looks amazing, the icons are a little more clear, the reflexion is a little increased and with a little more glass effect

And i activated all supersampling ( i didn't notice any difference but it's okay :P )
 
Last edited:
@sandungas @DeViL303

What is SS method? super sampling

wjAjuUI.png
Yes, is https://en.wikipedia.org/wiki/Supersampling because there are some places in the OFW (i dont remember) where it can be seen the name "super sampling" literally

But im not sure what it does exactly in PS3
I mean... i understand the explaination in wikipedia, but i dont know how it looks visually when applyed to the XMB icons, what we see in the XMB is a combination of several visual effects and im not sure which one is the supersampling

And it seems to be related with this files btw. As you can see there are 6 combinations posibles:
70vslX0.jpg

SUPERSAMPLING = NO/CHEAP/FULL
SHADERS = YES/NO


---------------
In the files named ICONS.MNU (like the one in your screenshot) there is a setting that seems to be related SS METHOD:int:0
I was wondering if that setting indicates which FPO file to load (from the 6 i mentioned) but i never tryed it
Incase this is true.. you know, the default value is SS METHOD:int:0... but we could change it by 1, 2, 3, 4, or 5 to try to load the other FPO files
 
Last edited:
And btw, another way to "force" the load of a different FPO file is... by replacing them :)

As example, you can take the file named icons.qrc/lib/icons/icons_no_ss.fpo and replace it by icons.qrc/lib/icons/icons_full_ss.fpo
 
And btw, another way to "force" the load of a different FPO file is... by replacing them :)

As example, you can take the file named icons.qrc/lib/icons/icons_no_ss.fpo and replace it by icons.qrc/lib/icons/icons_full_ss.fpo

i'll try and make a screenshot to see if it affects anything,

yeap, mine is already replaced, you made one once.

i'll test every value to compare.

the strange thing is that xmb icons has settings for gameboots, coldboots but they didn't even show there
 
yeap, mine is already replaced, you made one once.
At that point i was patching the QRC structure to create "links" in between files, it was a bit weird to do it
Now that we have XForge i suggest to revert that 6 FPO files to the originals and continue the experiments from there
Otherway you are going to lost the track of what has been changed, lol

Btw, while playing around with that 6 FPO files (the ones i mentioned in my previous post for supersampling and shaders) keep an eye at the visual effects applyed to the "app_home" icon in XMB

The real reason why i started messing around with that files is because i was trying to enable the shaders effects for the app_home icon
You know... we have most of the icons in XMB with nice shader effects, but the app_home doesnt have anything
I think it happens because there is some point in the firmware (unknown) where the app_home is assigned to the "icons_no_ss.fpp" or "icons_no_ss_no_shad.fpo" or "icons_cheap_ss.fpp" or "icons_cheap_ss_no_shad.fpo"
The idea is... if we replace that files by the "full_ss" versions then maybe the app_home is going to have nice visual effects
the strange thing is that xmb icons has settings for gameboots, coldboots but they didn't even show there
Yeah is weird, that ICONS.MNU files looks pointless because there are no icons in that enviroments
If you delete them most probably the firmware is going to load the other ICONS.MNU located at root of the QRC file
So i think is safe to delete them (if you delete the ICONS.MNU files remember to delete them also in the list of the xml control file)
 
I've still not figured out the whole icon thing yet haha.

I've managed to extract all n1 through to n70 and diff but when i load up the image in photoshoo it looks like a negative and is upside down.
Sorry for all the jumping around from one subject to another.
I still have some screenshots that are going to help me a lot to explain how this DDS format works, but first things first... is needed to mention some concepts

The images are intended to be displayed in monochrome, the graphic library used by XMB adds color to them "on runtime" based in color settings written as text
The color, visibility, and distortions are afected by the "shaders" used in the XMB graphic library
The XMB settings allows to change colors, shaders, etc... so the final look of the icons depends a lot of your settings (dont forget this ever when doing tests, otherway you are going to be completly lost)

Ok, now lets get into the images, when you open them in a image editor program like photoshop it looks like this... but this is not realistic (at all), the problem is photoshop is not able to "combine" the channels correctly (and obviously, is not able to apply the shader effects used in XMB)
m5yjMsE.jpg


So... forget about that view displaying all RGBA channels together, in XMB doesnt looks like that, what you need to do is to take a look at the channels individually by selecting the "channels" tab (located next to the layers tab) and disable the other channels, in the image below i made screenshots of every channel, from left to right:
Red channel - Green channel - Blue channel - Alpha channel
PsdeWpp.jpg



Now this makes a lot more sense, right ? :encouragement:
As you can see the info stored in the Red and Green channels are not really colors... are "bumpmaps" used by the XMB shader effects, they represents the visual effects and distorsions that appears at he borders of the icon
Red channel controls the shader efftects in X axis (note how the spotlight is located at right of the icon and shadow at left). And Green channel is for Y axis
As mentioned before, the shader effects is something optional, can be disabled in XMB (so you could delete the R and G channels and the icon would still be visible in XMB)

Long story short... the most important is the Blue channel, this is the only channel that contains data intended to be displayed as pixel info... but as mentioned before is monochrome
Lets say... we only have 1 channel for "pixel data", and the fact that data is stored in blue channel doesnt means that pixels are blue (at all), just think in them as a color range in between black 0x00 and white 0xFF

And to complete the explaination... Alpha channel, is standard, as you can see in my images above the diffference in between blue channel and alpha is just blue is excesivelly "smoothed" in the borders, and alpha is a lot better defined... this is because alpha is going to be used by the XMB as a "crop layer" (or an alpha mask in photoshop). Anyway, there is nothing special to mention about alpha channel, is exactly the same than a alpha channel of a PNG image

So the resume is pretty much like this:
R = shaders X
G = shaders Y
B = pixel data
A = alpha


----------------------------------------
And now probably someone is wondering what is doing XForge internally to display this special DDS images in his preview panel with the same look than XMB ? :D
phag04T.png

The trick is relativelly simple (but it took time to imagine it and find how to do it)
It starts by doing some image transoformations and conversions (flips the image vertically, converts to PNG, not sure if something more)... and at some point it takes the pixel data from blue channel and overwrites red and green channels with it

From that point we have the same info (taken from blue channel) in R,G, B channels... so the image is displayed correctly... in monochrome, and with the correct alpha effects

We are missing the shader effects from R and G channels... but you know... is almost imposible to "simulate" that XMB shader effects in a PC program... this feature was completly out of the scope of XForge :P
 
Last edited:
@sandungas @DeViL303

Seems like the lines.qrc background can't have more than 11.040bytes, if i increase 1px the file size will get highter and it will cause black screen.

that's right. the backgrounds are all right after one another. there's 24 of them iirc. you can make large hex swaps if you say want the background always to be black, just don't go over the hex length or black screen or freeze.
 
You mean the total size of all the wallpapers images for day/night ? (24 images in DDS format)

Once @DeViL303 that we can increase the size and resolution of a .DDS image.

But seems like the DDS files only work with each of them have 11.040bytes ( default)

Edri01y.png


i tried to increase it by 1px to test, ofc the size increased but it gave me a blackscreen.
 
My idea was to use a PS5 background and remove the wave, just leaving the particles to mimic the PS5 user interface.

So i tried increasing the resolution just to see if the ps3 accept that, but it don't.
 
I will look into it. AFAIK I did increase resolution before in tests.

Try not increasing by 1 pixel though. Try doubling the width and height. These images need to be scalable so it might not like that.
 
I will look into it. AFAIK I did increase resolution before in tests.

Try not increasing by 1 pixel though. Try doubling the width and height. These images need to be scalable so it might not like that.

You're right, i just doubled and it worked. =)

I will try to find a decent resolution for using the PS5 background image.

Also the size increased just well and worked.

So i need to keep the scale.
 
Yeah, use multiplyers or dividers with the original width and height
And is better if the final values are a multiplyer of 4 (like the originals)
The originals are 64x32pixels... so you could try with 128x64... or 640x320... or... etc...

Since we are using xforge (and we are not doing any hex edit) there is no limit in that values
The only posible limit are the other firmware functions responsilbles to load them... but we dont know if are restricted because nobody tryed it before as far i know

This was a test imposible to do before the release of xforge, the only reason why we can do it now is because xforge is rebuilding the QRC internal structure completly
 
@pink1

Can the xForge show the lines.qrc .DDS as it is in the XMB?

I mean the XMB actually flips the DDS it will not show as in the xForge.
Yes, tecnically is relativelly easy to do it in the actual code implementation
In the actual xforge version there are many images that are identifyed by his name (or the name of his qrc container), and the "image viewer" of xforge applyes specific visual effects for them

Edit:
This images transformations made "on runtime" by xforge are made with a graphic library that allows to do a lot of handy tricks... the "flipping vertically" you are suggesting is available for sure
 
I'll have to try this app out sometime. my only experience is the hex/simply zip method. I've been involved with the ps4 scene, so I haven't done anything with the ps3 in a very long time.
 
Yeah, use multiplyers or dividers with the original width and height
And is better if the final values are a multiplyer of 4 (like the originals)
The originals are 64x32pixels... so you could try with 128x64... or 640x320... or... etc...

Since we are using xforge (and we are not doing any hex edit) there is no limit in that values
The only posible limit are the other firmware functions responsilbles to load them... but we dont know if are restricted because nobody tryed it before as far i know

This was a test imposible to do before the release of xforge, the only reason why we can do it now is because xforge is rebuilding the QRC internal structure completly

128x64 works fine.
192x96 works but will not load the XMB.
256x128 works but will not load the XMB.
640x320 black screen
 

Featured content

Trending content

Back
Top