How to Make Custom XMB Wave for Your PS3

PSHax member Glowball1 came up with an interesting tutorial on how to change your PS3 XMB wave using a HEX editor. This guide to modify the XMB requires a bit of time, but you will understand it if your really want to change your PS3 XMB. This are two videos he made to showing custom wave he made:

This is the tutorial Glowball1 posted on PSHax, or you can check the original thread posted by him on PSHax.com

Tutorial (by Glowball1):

This tutorial will show you how to edit your PS3 xmb wave. I am gonna show the basics to get you started. If you have edited a dynamic theme background manually you will find this tutorial real easy.

Firstly we need to decompress lines.qrc with Simplyzip. But before we open Simplyzip we need to open the lines.qrc file with a hex editor and delete the first part like this.

Then save, so you end up with this.

Now we open up Simplyzip and go to “External prog” then “ZLIB (pack/unpack)” locate the file and click decompress. You will then end up with a file called “lines” in the same directory as lines.qrc. This new file “lines” is the file we need to edit.

Now extract my PS3 wave edit quick start folder.zip. You will see some files which I have manually extracted from “lines”.

Okay so you want to change 1 of the 12 background colours to a colour/pattern. Each colour represents a different month. So lets change 01.rgb.dds (January). Load up the dds file in photoshop, change the colour/pattern and save as these dds settings (the file size has to match).

Also you will notice that is the image is only small (the ps3 streches the image out).

If you wanted to change the “original” colour just edit 1 of the “night-**.dds” colours for the current month. For example 08.night.dds (August). So the difference between “rgb-**.dds” and “night-**.dds” is that “rgb-**.dds” is used by a PS3 theme or when selected and “night-**.dds” is used when “original” is selected for colour.

To add a new background colour we have to insert the edited background colour into “lines”. We do this by opening both lines and the edited file in the hex editor, copying all of the edited file and pasting at the correct offset (see offsets.txt).

If you wanted to edit the PS3 wave that is a little more advanced. Open “wave settings info.js” (compare to help) and “wave settings.js” (this is not a javascript file I put the extension in because you can read it better) with notepad++. I don’t have alot of info on which part does which, but you can play around with the script and I will update “wave settings info.js” soon. Make sure when you edit this file if you delete 1 number/character you put another 1 back in (the file size has to match).

To edit the xmb background wave edit the “override/black/LINE1.MNU” section in the script and for coldboot wave edit the “override/coldboot1/LINE1.MNU” section in the script.

So you have edited what you need. Just insert the same way as a background colour but with the wave settings.js offset.

Okay when you have finished all of your editing you need to compress the “lines” file. First you go to Simplyzip. Select “External progs” then “ZLIB (pack/unpack)” and open your edited “lines” file and click compress.

You will now have a file called lines.zlp in the same directory as you edited “lines” file. The next thing you need to do so the file works is add the “lines.zlp 8 byte hex start” from my PS3 wave quick start folder to the begining of the file with the hex editor (insert mode then paste).

Save the file and the start should look like this.

The final thing is to rename the file lines.zlp to lines.qrc.

Now your file is ready to be used/tested. I personally test with Jaicrabs usb firmware loader v0.3 first (you can’t test your coldboot wave), then if everthing is good I use dev_blind to copy to my dev_flash permanently.