Jump to content

[Tutorial] Custom PS3 XMB waves ~~


Recommended Posts

  • News Editor

Well this seems to be my hottest topic so for now i will post this one here.

 

Hello world. Today i will be showing you all how to install you're very own custom XMB waves to your ps3

 

Here is a Video Tutorial and a Written Tutorial will be underneath the Video:
Written Tutorial:                                                                 Thanks for 1K Views guys  :rotflmao:  :double-thumbs-up: 
 
FTP Method:
 
Step 1: Open Rebug Toolbox. (if you do not have it you can download it from HERE.)
Step 2: Open your FTP Client. (if you don't have one you can download FileZilla from HERE)
Step 3: Find Your PS3's IP and connect to it through filezilla or your FTP client of choice.
Step 4: Choose your lines that you wish to use. (if you don't have any, you can download my pack from HERE)
Step 5: Back on filezilla connected to your PS3, navigate through the directories like so /dev_Rebug/vsh/resource/qgl/.
Step 6: You should now be able to see your Lines.qrc file which is your current line theme/animation.
Step 7: (Optional) You can make a backup of the current lines file so you can put it back if need be.
Step 8: Take the lines.qrc file you chose and copy and paste it into the qgl folder in filezilla, you will be prompted to overwrite, just accept it.
Step 9: After done copying, exit to XMB.
Step 10: Enjoy the new lines  :LiebSmilie-Headbanger-mit-Gitar 
 
 
 
MultiMan Method:
 
Step 1: Open The Lines Creator.bat tool found in my pack (make sure to unzip it all).
Step 2: Chose the lines you want and type its number in and hit enter.(e.g press 3 for Electric Green).
Step 3: Open the encrypt/decrypt tool. (let it run and it should automatically encrypt the lines file.
Step 4:There should now be a file named "Lines.qrc" in the folder.
Step 5: Open the zip creator.bat file and it should create a zip file (DO NOT RENAME IT).
Step 6: Copy that file to the Root of your USB.
Step 7: Open MultiMan on your PS3.
Step 8: Go the MMoS found all the way on the left and the seccond option down the list, open it and load up the MMoS.
Step 9: Click on the Root folder in the top left.
Step 10: Navigate to your usb (dev_usb000 or dev_usb001).
Step 11: Click on the zip file you copied to it, allow it to install.
Step 12: Quit to XMB.
Step 13: Enjoy the new lines  :LiebSmilie-Headbanger-mit-Gitar 
 
Edited by zapptheman
  • Upvote 6

PS3:                                                                                                                                       Switch:

HOW TO CONVERT FROM CEX TO DEX                                                                             How To | Install the HomeBrew Launcher With FTP on the switch

HOW TO INSTALL NEW REBUG CFW OR ANY CFW

HOW TO INSTALL CUSTOM XMB WAVES

HOW TO USE CUSTOM PSN BALL LOGO

 

PS4:                                                                                                                                       PS2:

[Tutorial] How to gain FULL FTP ACCESS TO PS4 on 4.05                                             How to | Install Free MC Boot on almost any PS2 (slim included)

[Tutorial] Advanced ★Debug Settings for PS4 on 4.05

[TUTORIAL] HOW TO | Create PS2 PKG Files for PS4 (PS2 Classics)

[Tutorial] Play NES and Master System Games on your PS4

[Tutorial] Create your own Custom Themes for your Hacked PS4 - PART 1

[Tutorial] Dump Ps4 games on 5.05 and create Fake Packages (Works With ESP8266 Chip)

 

 

 

If i helped you feel free to buy me a coffee :) just hit the tip button

Link to post
Share on other sites
  • Founding Member

Approved

There is a couple of things needed to say that usually is not advised in this tutorials:

 

-Lines.qrc contains much more things than only the wave

-Is a very bad idea to use a lines.qrc from a different firmware version

 

The problem is sony changes the lines.qrc every few firmwares (the same happens with most firmware files, so the same rule applyes to most files)

If you take a lines.qrc from a very old firmware and try to use in a new firmware the most probable thing it will happen is something will be "broken"

 

For this reason is a good idea when releasing a modded lines.qrc to tell from wich firmware it was taken... is like specifying his compatibility

Here can be seen a table with all the different versions of the lines.qrc sony used in all firmwares, note in the table are in groups because there are some firmwares when the file was not changed (but this is not very common, as a rule for safety reasons is better to consider it changes in every firmware)

http://www.psdevwiki.com/ps3/Lines.qrc

  • Upvote 4
Link to post
Share on other sites
  • News Editor

Approved

There is a couple of things needed to say that usually is not advised in this tutorials:

 

-Lines.qrc contains much more things than only the wave

-Is a very bad idea to use a lines.qrc from a different firmware version

 

The problem is sony changes the lines.qrc every few firmwares (the same happens with most firmware files, so the same rule applyes to most files)

If you take a lines.qrc from a very old firmware and try to use in a new firmware the most probable thing it will happen is something will be "broken"

 

For this reason is a good idea when releasing a modded lines.qrc to tell from wich firmware it was taken... is like specifying his compatibility

Here can be seen a table with all the different versions of the lines.qrc sony used in all firmwares, note in the table are in groups because there are some firmwares when the file was not changed (but this is not very common, as a rule for safety reasons is better to consider it changes in every firmware)

http://www.psdevwiki.com/ps3/Lines.qrc

 

 

Ok well in that case i believe that most of them if not all of them came from 4.46 cfw as i did not create them all but i only brought them all together.. they have all been tested on 4.46 cfw and most on 4.60 cfw so i guess there hasn't been any changes since then? thanks for that i was actually unaware of that. 

Edited by zapptheman

PS3:                                                                                                                                       Switch:

HOW TO CONVERT FROM CEX TO DEX                                                                             How To | Install the HomeBrew Launcher With FTP on the switch

HOW TO INSTALL NEW REBUG CFW OR ANY CFW

HOW TO INSTALL CUSTOM XMB WAVES

HOW TO USE CUSTOM PSN BALL LOGO

 

PS4:                                                                                                                                       PS2:

[Tutorial] How to gain FULL FTP ACCESS TO PS4 on 4.05                                             How to | Install Free MC Boot on almost any PS2 (slim included)

[Tutorial] Advanced ★Debug Settings for PS4 on 4.05

[TUTORIAL] HOW TO | Create PS2 PKG Files for PS4 (PS2 Classics)

[Tutorial] Play NES and Master System Games on your PS4

[Tutorial] Create your own Custom Themes for your Hacked PS4 - PART 1

[Tutorial] Dump Ps4 games on 5.05 and create Fake Packages (Works With ESP8266 Chip)

 

 

 

If i helped you feel free to buy me a coffee :) just hit the tip button

Link to post
Share on other sites
  • Founding Member

I just updated the .qrc tables in wiki

 

Specifically for lines.qrc the compatibility should be divided in this groups:

3.55~3.56
3.60~3.66
3.70~3.74
4.00~4.01
4.10~4.11
4.20~4.31
4.40~4.55
4.60~4.70

 

Before 3.55 there are other groups, but are not interesting because there are not cfw's for them

The most interesting is the last one (4.60~4.70) because is the actual firmwares, and we dont know what will happen in the next firmware, if the next firmware is 4.80 and they doesnt changes lines.qrc then the group should be changed to 4.60~4.80 but we dont know yet

 

Yours from 4.46 belongs to the previous group (are compatibles with firmwares 4.40~4.55)... so are not compatibles with latest firmwares

The problem is the original file changed... and we dont know what exactly was changed (inside lines.qrc there are more than 150 files)... so is near imposible to know wich kind of errors could happen when using a lines.qrc from 4.46 in 4.70 firmware

The only way to know accuratelly if a lines.qrc from 4.46 can be used in 4.70 is taking the 2 original files, extracting all the contents, and compare all the contents to find wtf they changed... and this is like an oddisey by itself

 

Edit:

It can happen that after extracting the contents from both lines.qrc (from 4.46 and 4.70 to compare one group with the other with the purpose of identifying what they changed), after comparing all his contents, etc (that are a lot)... you find they changed only 1 file (very lucky, not much probable)... but this file could be a rare format (inside lines.qrc there are files with filextensions: .elf .fpo .vpo .mnu .dds .tga

The .dds and .tga are easy because are just images, but if the change is in the others it can be very difficult to understand what is the purpose of the change they did

Edited by sandungas
  • Upvote 1
Link to post
Share on other sites
  • Founding Member

Btw, wellcome to the forum, keep posting tutorials, i will be glad to help if i can

 

Maybe what im explaining about the compatibility problems sounds very strict, but is because usually the changes are new files that was added inside the .qrc (for some new feature that was implemented in the newer firmwares, like new images, new settings files, etc...)

So lets say we are in 4.70 and we use an old .qrc file... is posible the old .qrc is missing some files inside it that 4.70 expects to find

Edited by sandungas
Link to post
Share on other sites
  • News Editor

Btw, wellcome to the forum, keep posting tutorials, i will be glad to help if i can

 

Maybe what im explaining about the compatibility problems sounds very strict, but is because usually the changes are new files that was added inside the .qrc (for some new feature that was implemented in the newer firmwares, like new images, new settings files, etc...)

So lets say we are in 4.70 and we use an old .qrc file... is posible the old .qrc is missing some files inside it that 4.70 expects to find

no please keep posting all the things like compatibility that i miss because this is good to know and i was not aware of this so i assume many others also are not aware of this. i see where you are coming from and i can understand that it is better to create them with there appropriate firmware in mind. although i am not sure how to port the older lines to newer version. would you be able to instruct me on how to do it if possible. otherwise might be time to look for some updated files :) thanks again

  • Upvote 2

PS3:                                                                                                                                       Switch:

HOW TO CONVERT FROM CEX TO DEX                                                                             How To | Install the HomeBrew Launcher With FTP on the switch

HOW TO INSTALL NEW REBUG CFW OR ANY CFW

HOW TO INSTALL CUSTOM XMB WAVES

HOW TO USE CUSTOM PSN BALL LOGO

 

PS4:                                                                                                                                       PS2:

[Tutorial] How to gain FULL FTP ACCESS TO PS4 on 4.05                                             How to | Install Free MC Boot on almost any PS2 (slim included)

[Tutorial] Advanced ★Debug Settings for PS4 on 4.05

[TUTORIAL] HOW TO | Create PS2 PKG Files for PS4 (PS2 Classics)

[Tutorial] Play NES and Master System Games on your PS4

[Tutorial] Create your own Custom Themes for your Hacked PS4 - PART 1

[Tutorial] Dump Ps4 games on 5.05 and create Fake Packages (Works With ESP8266 Chip)

 

 

 

If i helped you feel free to buy me a coffee :) just hit the tip button

Link to post
Share on other sites
  • Founding Member

The spline.elf (the wave) and particles.elf (the sparks) are the main contents of lines.qrc, should be considered executable "apps" and they takes his settings from the .MNU files

 

To make custom waves what we are doing is modifying the .MNU files (think in .MNU files as the settings of the .elf's)... in this sense is completly valid to modify them, the .elf's are ready for it so any value inside the .MNU files that is in the range of expected values is valid (included the settings and values that could appears in other .MNU files but maybe are not present in the .MNU file we are interested in modify... technically we could add more settings in them because the .elf's will accept them)

 

One of the problems that makes the porting of waves a complicated task is the method that was used to modify the .qrc file (in part invented by glowball)

What it does is to crop an "area" of the .qrc file where are stored all the .MNU files consecutivelly (the fact that are stored consecutivelly is a bit coincidence btw, are together because all them are "string based" files) and he called this chunk of cropped data an "script" (is not an script, are just several concatenated .MNU setting files)

After the cropping what glowball was doing is to apply a search/replace pattern to modify some values in all them

But the first problem is there are a lot of .MNU files and are grouped in sets for different xmb modes where the wave appears... the result is a massive patching of .MNU files that are not really needed

For the wave in main XMB there is only needed to patch a few .MNU files... for the wave that appears when the PS3 is turned on (the wave that can be seen in the background of the coldboot animation) is needed to patch another few .MNU files... for the wave inside the music player there is another group, etc, etc, etc, etc, etc, etc...

Is ok to patch them all, but is not really needed, what most people wants is just to modify the wave in main XMB (and maybe the one behind coldboot) but the others doesnt matters

This is a problem because the amount of patched .MNU files is big so is needed to "port" all this modifications

 

Also, this patching method is restricted in the way you cant add or remove any byte in the .MNU files (if you do, the .qrc header info where is specifyed the offsets/positions where the stored files starts and ends will be broken)

 

-------------------

To identify all the .MNU files that was modifyed is needed to extract them and compare with the official ones to identify wich ones are different... there is a tool made by flatz able to extract contents of .qrc files ---> http://www.psdevwiki.com/ps3/CXML_Containers#CXML_decompiler

The tool is experimental based on the research made on wiki, and the extracted files doesnt uses his original filename/fileextension, for the filenames is used his "qrc offset position" instead, and for the fileextension it uses ".bin" for all them if i remember correctly (so are not so easy to identify, is needed to open all them in a hexeditor, or to find the correct assigned filename/fileextension by looking at the .xml generated by the tool)

I was testing the tool and the extraction is perfect, it doesnt seems to have any bug, so you can be sure the extracted files are correct (except if you are trying to extract from a "broken" .qrc with incorrect info in the .qrc header as i explained above)

 

Well, long story short... by using this tool and by comparing all extracted files with the original files is posible to identify all the files that was modifyed to create the custom waves (all them are .MNU files)

Edited by sandungas
  • Upvote 2
Link to post
Share on other sites
  • News Editor

ok... i think i understand all that... lol. so in short when i have a spare moment you think i should grab an original lines.qrc file and compare it with one of the ones in my package and find out what was edited right? and then use that to edit the new ones. wasn't there an app that created custom lines.qrc files somewhere? an app would mean there would be a hell of a lot less user error that could occur during the process. 

 

also just wondering as i have quite low knowledge on programming. like very little on c++ (forgot most of what i even knew) and i know a fair bit for visual basic. are these languages any good for the homebrew apps that are created for the ps3? or you guys use pslight i think... is that right? sorry i am just curious. thanks  :)

PS3:                                                                                                                                       Switch:

HOW TO CONVERT FROM CEX TO DEX                                                                             How To | Install the HomeBrew Launcher With FTP on the switch

HOW TO INSTALL NEW REBUG CFW OR ANY CFW

HOW TO INSTALL CUSTOM XMB WAVES

HOW TO USE CUSTOM PSN BALL LOGO

 

PS4:                                                                                                                                       PS2:

[Tutorial] How to gain FULL FTP ACCESS TO PS4 on 4.05                                             How to | Install Free MC Boot on almost any PS2 (slim included)

[Tutorial] Advanced ★Debug Settings for PS4 on 4.05

[TUTORIAL] HOW TO | Create PS2 PKG Files for PS4 (PS2 Classics)

[Tutorial] Play NES and Master System Games on your PS4

[Tutorial] Create your own Custom Themes for your Hacked PS4 - PART 1

[Tutorial] Dump Ps4 games on 5.05 and create Fake Packages (Works With ESP8266 Chip)

 

 

 

If i helped you feel free to buy me a coffee :) just hit the tip button

Link to post
Share on other sites
  • Founding Member

QRC files are a variation of "cxml containers"... the only unnofficial tool related with PS3 cxml containers is the "cxml decompiler" flatz made, but only does extraction

The tool also generates an .xml that represents accuratelly the internal structure of the original cxml container... the purpose of this .xml is to rebuild, but rebuilding is not implemented

This is the real problem... we cant make a full rebuild of the .qrc... the rebuild methods everybody uses are based in patching chunks of data in the .qrc

 

There is a toolset made by brunolee though that is automating this patching process, and in some way this automatization assures a bit of safety, but there are lot of steps involved and i cant tell how stable is the method, you can download it here: http://www.psx-place.com/forum/cfw-tools/ps3-waves-tool-brunolee-271.html and here: http://psx-scene.com/forums/f192/brunolee-themes-105993/

There is a couple of things i would like to suggest to brunolee because i know there are better ways to do the same, and his tools has several bugs (part of his toolset is based in things i wrote in wiki), but latelly my critics and suggestions are not very wellcomed and there is a campaing to bully me trying to make people to think in a troll so fuck the scene (ok, ok, not yet)

 

---------------

Im a noob at coding, i did read some books and jumped from c, to javascript, to dos bash, and back to c++ im at this point i understand a good part of the code i read but i cant code much, so i guess my status is "script kiddie"

But if there is something i know is the way to go is c++... it doesnt matters if after some time you jump to other language, the code concepts are the same for most languages (c, c++, c#, and java are similar)

PS3 cell sdk is based on c++, you can make ps3 homebrew apps in psl1ght with c++, you can make pc apps in c++, and additionally if you use some IDE like "Qt" your pc apps written in c++ can be ported with a couple of mouse clicks to windows, linux, macosx, android, etc...

http://qt-project.org/

http://www.qt.io/

 

If im talking about Qt is because is what sony uses to develop the xmb in pc ;)

Edited by sandungas
Link to post
Share on other sites
  • News Editor

QRC files are a variation of "cxml containers"... the only unnofficial tool related with PS3 cxml containers is the "cxml decompiler" flatz made, but only does extraction

The tool also generates an .xml that represents accuratelly the internal structure of the original cxml container... the purpose of this .xml is to rebuild, but rebuilding is not implemented

This is the real problem... we cant make a full rebuild of the .qrc... the rebuild methods everybody uses are based in patching chunks of data in the .qrc

 

There is a toolset made by brunolee though that is automating this patching process, and in some way this automatization assures a bit of safety, but there are lot of steps involved and i cant tell how stable is the method, you can download it here: http://www.psx-place.com/forum/cfw-tools/ps3-waves-tool-brunolee-271.html and here: http://psx-scene.com/forums/f192/brunolee-themes-105993/

There is a couple of things i would like to suggest to brunolee because i know there are better ways to do the same, and his tools has several bugs (part of his toolset is based in things i wrote in wiki), but latelly my critics and suggestions are not very wellcomed and there is a campaing to bully me trying to make people to think in a troll so fuck the scene (ok, ok, not yet)

 

---------------

Im a noob at coding, i did read some books and jumped from c, to javascript, to dos bash, and back to c++ im at this point i understand a good part of the code i read but i cant code much, so i guess my status is "script kiddie"

But if there is something i know is the way to go is c++... it doesnt matters if after some time you jump to other language, the code concepts are the same for most languages (c, c++, c#, and java are similar)

PS3 cell sdk is based on c++, you can make ps3 homebrew apps in psl1ght with c++, you can make pc apps in c++, and additionally if you use some IDE like "Qt" your pc apps written in c++ can be ported with a couple of mouse clicks to windows, linux, macosx, android, etc...

http://qt-project.org/

http://www.qt.io/

 

If im talking about Qt is because is what sony uses to develop the xmb in pc ;)

interesting.... well my courrent course is for visual basic although yes i do agree i can see how the concepts are indeed very similar as we swap between the languages. after i finish this course i may go over c++ again but this wont be for a while....

 

also i might take a look at that application soon in the coming weeks and might try to produce some updates waves files for the newer cfw's. lol never thought there was this much in the lines.qrc file.... now i know it's a container  :bash_head: lol anyways. thanks for all the info. much appreciated

  • Upvote 1

PS3:                                                                                                                                       Switch:

HOW TO CONVERT FROM CEX TO DEX                                                                             How To | Install the HomeBrew Launcher With FTP on the switch

HOW TO INSTALL NEW REBUG CFW OR ANY CFW

HOW TO INSTALL CUSTOM XMB WAVES

HOW TO USE CUSTOM PSN BALL LOGO

 

PS4:                                                                                                                                       PS2:

[Tutorial] How to gain FULL FTP ACCESS TO PS4 on 4.05                                             How to | Install Free MC Boot on almost any PS2 (slim included)

[Tutorial] Advanced ★Debug Settings for PS4 on 4.05

[TUTORIAL] HOW TO | Create PS2 PKG Files for PS4 (PS2 Classics)

[Tutorial] Play NES and Master System Games on your PS4

[Tutorial] Create your own Custom Themes for your Hacked PS4 - PART 1

[Tutorial] Dump Ps4 games on 5.05 and create Fake Packages (Works With ESP8266 Chip)

 

 

 

If i helped you feel free to buy me a coffee :) just hit the tip button

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...