Talk:Qt Resource Container (QRC): Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
(moved to CXML Containers page)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
== QRC filebase ==
=VPO FPO Decoding=
*QRC from version 1.00 up and including 4.50 : http://mir.cr/TSR5E8PM (32078 KB RAR / unpacked size 243425713 bytes)
**MD5 hashes generated with quickSFV http://pastebin.com/raw.php?i=ATvKyMRC
**CRC32 hashes generated with quickSFV http://pastebin.com/raw.php?i=40h6iMCA
 
==External Links==
*QRC modding by eustolio: http://www.scenespain.net/foro/tutoriales-ps3/tutorial-xmb-custom-cambia-el-color-e-iconos-base-del-xmb/ (2011 may 29)
**Corrections: None :)
*XMB wave modding by glowball: http://www.ps3hax.net/showthread.php?t=25618 (2011 july 1) and http://www.ps3hax.net/showthread.php?t=58673 (2013 july 4)
**Corrections:
***The concept of PAL/NTSC wave is wrong. The wave is common for all PS3 models, resolutions, aspect ratios, and regions. The 8 bytes at the start of the file doesnt has any relationship with PAL/NTSC
***There is no javascript inside the QRC container, the supposed .js file used in glowball method is a chunk of data containing several .mnu files (included the padding between them)
***The idea of an "imaginary" javascript hides the real explain of the structure or what you are patching, making users to dont understand a word and promoting the "blind testing"
***In the case you want to patch 1 byte... you are patching a huge area instead
***Using hardcoded offsets is a safe way to break compatility when the files changes in with newer firmwares and good for softbricking, there is no advise of incompatibility problems
 
 
*Qt Framework
**http://qt-project.org/doc/qt-5/rcc.html
**http://qt-project.org/doc/qt-5/resources.html
**https://qt.gitorious.org/qt/qtbase/source/fb20f9c2da369b07fc50857a90b596ae63f943da:src/tools/rcc
**https://qt.gitorious.org/qt-creator/qt-creator/source/1154a8c6c2bfb223f4239d7902c3755e8a9a1213:src/plugins/resourceeditor/qrceditor
 
==VPO FPO Decoding==
If you are interested in decoding the vpo & fpo files, use cgc-disasm.exe (wrote by eustolio at: http://www.ps3hax.net/showthread.php?t=25618&p=229602&viewfull=1#post229602 )
If you are interested in decoding the vpo & fpo files, use cgc-disasm.exe (wrote by eustolio at: http://www.ps3hax.net/showthread.php?t=25618&p=229602&viewfull=1#post229602 )
  sce-cgcdisasm -o outfile imputfile (shader)
  sce-cgcdisasm -o outfile imputfile (shader)
Line 127: Line 104:
   
   
  #endif //_lib_moyou_lines0_params_H_
  #endif //_lib_moyou_lines0_params_H_
==Temporal Section (RHM.QRC 1.00 MAP)==
{{Boxframe1|content='''Boring/interesting info about the creation and publishing of this table at date:''' --[[User:Sandungas|Sandungas]] ([[User talk:Sandungas|talk]]) 00:43, 7 June 2014 (EDT)<BR />
QRC page in wiki started as notes documenting the files and qrc modifications methods found along internet, later there was a need to start mapping the qrc structure because none of the methods found was stable enougth and there was no tools to manage the container
For this reason ada and me started mapping .qrc files from 3.55 firmware that we thougth could be considered as a "standard" firmware version to work with and the example tables started increasing in size, complexity, and mistakes too, at the same time we realized the same .qrc container is used in .raf and .p3t (there are at least 4 variations of the same container)
At some point the complete collection of .qrc files from all firmwares was made available (can be downloaded from the link above) and after a bit of analisys i realized the better one to use for the examples in wiki was rhm.qrc from firmware 1.00 (because only contains 5 files and his size is much smaller than the others so the examples in wiki could be smaller too)... this implyed mapping the file again and replacing all examples from the frontpage (long, boring, and problematic work because doesnt consists simply in erasing the old info, is needed to verify all you are erasing was wrong and in this case to give a reason why was wrong, and to be sure that you are improving the info instead of removing it)
This is why i decided to start mapping the whole rhm.qrc from 1.00 in my PC as an attempt to replace all the examples in frontpage later in a strike because there was too much differences in my notes compared with the notes in wiki, and at the same time to help me continue reversing the structure of the container. Initially the table i made contained the first 4 columns at the left: (Offset, Size, Example, Name) that are the important columns that needs to be included in the examples in the frontpage in wiki. The next column (notes) are calculations of offsets, sizes, or important notes for myself to understand the structure while reversing it, are not supposed to be needed and i guess could be explained later out of the table. The next columns was added later because are variations of the structure of the same container used by rhm.qrc (icontex.qrc from 2.00 firmware... a random example of a theme.ps3.... and coldboot.raf from firmware 2.70) are there temporally and needs to be moved out of the table later (mostly because his entry sizes are different than rhm.qrc so is not posible to display all them together in the same table)
The reason why i didnt published the table before is because his size, the differences with info in wiki, and the amount of temporall notes went out of controll, needs to be cropped in sections, and also because has been needed lot of hours to verify all, maybe for "you" is a big disaster but for me is the most accurate explain of the structure of this containers i have, and i would not like to see how the table is messed up by others because i need it... but well, now is public and this is a wiki so anyone can modify it but '''PLEASE''' in case of changing something give a good argument of why is needed the change, and make changes 1 by 1 (dont mix several important changes in a single edit) because is very hard to keep a record and verify all calculations. Keep in mind that the final purpose is to move all the info to the front page when verifyed or completed, so by now (as a pacific developing collaboration) i suggest to copypaste parts of this table to the frontpage and then modify the pasted copy in the frontpage if needed, also keep in mind there will be needed at some point to move all the info related with .QRC structure to a new common page about this container where will be included the container variations used with .P3T and .RAF
The table was made some months ago and i scared when i looked at it today, so i publish it now "exactly as it was at that date" (is not complete at all, and the names are a bit outdated, i know), if i publish it now is because the last wiki edits from cfwprophet have pushed me in looking at this again and seems to be the perfect timing for a polite edit-war
}}
QRCF_1 entry size is 60 bytes (0x3C), QRCF_2 and P3TF entry size is 76 bytes (0x4C), the first area in the data table is special (seems to be the header of the data table), and there is a padding at the end of the tables
*Offset (without the 0x40 header in all qrc files) ---> http://666kb.com/i/cib5c7q4y7rpcx9x1.gif
*rhm.qrc v1.00 datatable ---> http://i.imgur.com/P9K2rYj.jpg
**The hexeditor view is resized to a width of 0x3C, the marked lines are the 5 entries
**At the start of the first line at top (the line not marked) has been added 4 bytes to be able to align the others to the correct width, this first line at top of the table is the header of the data table
{| class="wikitable" style="font-size:x-small;"
|+[[rhm.qrc]] (v1.00)
! Offset !! Size !! Example !! Name !! Notes !! icontex.qrc (v2.00) !! theme.p3t !! coldboot.raf (v2.70)
|-
! colspan="5" | QRCF Header
|- {{cellcolors|#666666|#ffffff}}
| 0x00 || 0x04 || QRCF || Magic || QRCF (unnofficially: QRCF_1) || QRCF (unnofficially: QRCF_2) || P3TF || RAFO
|- {{cellcolors|#666666|#ffffff}}
| 0x04 || 0x04 || 00000110 || Version || 110 || 110 || 110 || 110
|- bgcolor="#ff8888"
| 0x08 || 0x04 || 00000040 || Data table absolute start offset || 40 || 40 || 40 || 40
|- bgcolor="#ff8888"
| 0x0C || 0x04 || 00000164 || Data table size || 164 (without the padding at the end) || 1ECC || 19E8 || 1288
|- bgcolor="#88ff88"
| 0x10 || 0x04 || 000001B0 || Filename table absolute start offset || 1B0 || 1F10 || 1A30 || 12D0
|- bgcolor="#88ff88"
| 0x14 || 0x04 || 00000071 || Filename table size || 71 (without the padding at the end) || 326 || 599 || 21C
|- bgcolor="#8888ff"
| 0x18 || 0x04 || 00000230 || Strings table absolute start offset || 230 || 2240 || 1FD0 || 14F0
|- bgcolor="#8888ff"
| 0x1C || 0x04 || 0000001B || Strings table size || 1B without the padding at the end || 20 || 1CE || 1B1
|- bgcolor="#ffeedd"
| 0x20 || 0x04 || 00000250 || Integer array absolute start offset || ''Overlapped'' || 2260 (overlapped) || 21A0 (overlapped) || 16B0 (overlapped)
|- bgcolor="#ffeedd"
| 0x24 || 0x04 || 00000000 || Integer array size || ''Empty'' || 0 || 0 || 0
|- bgcolor="#ffeebb"
| 0x28 || 0x04 || 00000250 || Float array absolute start offset || ''Overlapped'' || 2260 (overlapped) || 21A0 (overlapped) || 16B0
|- bgcolor="#ffeebb"
| 0x2C || 0x04 || 00000000 || Float array size || ''Empty'' || 0 || 0 || A0
|- bgcolor="#ffee99"
| 0x30 || 0x04 || 00000250 || File table absolute start offset || ''Overlaps the previous 2 tables'' || 2260 || 21A0 || 1750
|- bgcolor="#ffee99"
| 0x34 || 0x04 || 00000DD0 || File table size || ''Overlaps the previous 2 tables'' || AA7F0 || 149890 || 18F9F0
|- bgcolor="#ffee77"
| 0x38 || 0x04 || 00000000 || Unknown area absolute start offset || ''Not used'' || 0 || 0 || 0
|- bgcolor="#ffee77"
| 0x3C || 0x04 || 00000000 || Unknown area size || ''Empty'' || 0 || 0 || 0
|-
! colspan="5" | Data Table (first colored area is the header of the data table)
|- {{cellcolors|#ff7777}}
| 0x40 || 0x04 || 00000000 || xml element TAG name relative offset || 0 = '''qrc''' || 0 = '''qrc''' || 0 = '''theme''' || 0 = '''raf'''
|- {{cellcolors|#ff7777}}
| 0x44 || 0x04 || 00000000 || xml element number of attributes || 0 = '''no attributes''' || 0 || 0 || 1
|- {{cellcolors|#ff7777}}
| 0x48 || 0x04 || FFFFFFFF || parent element relative start offset || FFFFFFFF = '''parent doesnt exists''' || FFFFFFFF || FFFFFFFF || FFFFFFFF
|- {{cellcolors|#ff7777}}
| 0x4C || 0x04 || FFFFFFFF || previous brother element relative start offset || FFFFFFFF = '''previous brother doesnt exists''' || FFFFFFFF || FFFFFFFF || FFFFFFFF
|- {{cellcolors|#ff7777}}
| 0x50 || 0x04 || FFFFFFFF || next brother element relative start offset || FFFFFFFF = '''next brother doesnt exists''' || FFFFFFFF || FFFFFFFF || FFFFFFFF
|- {{cellcolors|#ff7777}}
| 0x54 || 0x04 || 0000001C || first children element relative start offset || 0x40 + 0x1C = '''first children at 0x5C absolute''' || 0x40 + 0x1C = 5C absolute || 0x40 + 0x1C = 5C absolute || 0x40 + 0x2C = 0x6C absolute
|- {{cellcolors|#ff7777}}
| 0x58 || 0x04 || 0000001C || last children element relative start offset || 0x40 + 0x1C = '''last children at 0x5C absolute''' || 0x40 + 0x1C = 5C absolute || 0x40 + 0x19CC = 0x1A0C absolute || 0x40 + 0xFB0 = 0xFF0 absolute
|- {{cellcolors|#ff8888}}
| 0x5C || 0x04 || 00000004 || xml element TAG name relative offset || 4 = '''file-table''' || 4 = '''file-table''' || 6 = '''icontable''' || 4 = '''version'''
|- {{cellcolors|#ff8888}}
| 0x60 || 0x04 || 00000000 || xml element number of attributes || 0 = '''no attributes''' || 0 || 0 || 2
|- {{cellcolors|#ff8888}}
| 0x64 || 0x04 || 00000000 || parent element relative start offset || 0x40 + 0x0 = 0x40 absolute = parent is '''qrc''' || 0 = '''qrc''' || 0 = '''theme''' || 3F800000
|- {{cellcolors|#ff8888}}
| 0x68 || 0x04 || FFFFFFFF || previous brother element relative start offset || FFFFFFFF = '''previous brother doesnt exists''' || FFFFFFFF || FFFFFFFF || 0
|- {{cellcolors|#ff8888}}
| 0x6C || 0x04 || FFFFFFFF || next brother element relative start offset || FFFFFFFF = '''next brother doesnt exists''' || FFFFFFFF || 141C (related with value at 0x58, allways same or smaller) || C
|- {{cellcolors|#ff8888}}
| 0x70 || 0x04 || 00000038 || first children element relative start offset || 0x40 + 0x38 = '''first children at 0x78 absolute''' || 38 || 38 || 4
|- {{cellcolors|#ff8888}}
| 0x74 || 0x04 || 00000128 || last children element relative start offset || 0x40 + 0x128 = '''last children at 0x168 absolute''' || 1E80 || 13D0 || 0
|- bgcolor="#cccccc"
| colspan="5" | 1st entry start || colspan="2" | 1st entry start
|- {{cellcolors|#ff9999}}
| 0x78 || 0x04 || 0000000F || xml element TAG name relative offset || F = '''file''' || F = '''file''' || 10 = '''icon''' || FFFFFFFF
|- {{cellcolors|#ff9999}}
| 0x7C || 0x04 || 00000002 || xml element number of attributes || 2 attributes = '''src''' and '''id''' || 3 attributes = '''src''', '''id''', and '''size''' || 3 attributes = '''src''', '''id''', and '''size''' || 750
|- {{cellcolors|#ff9999}}
| 0x80 || 0x04 || 0000001C || parent element relative start offset || 0x40 + 0x1C = 0x5C absolute = parent is '''file-table''' || 1C || 1C || 88 ---first entry---
|- {{cellcolors|#ff9999}}
| 0x84 || 0x04 || FFFFFFFF || previous brother element relative start offset || FFFFFFFF = '''previous brother doesnt exists''' || FFFFFFFF || FFFFFFFF || 714 ---last entry---
|- {{cellcolors|#ff9999}}
| 0x88 || 0x04 || 00000074 || next brother element relative start offset || 0x40 + 0x74 = '''next brother at 0xB4''' || 84 || 84 || 12
|- {{cellcolors|#ff9999}}
| 0x8C || 0x04 || FFFFFFFF || first children element relative start offset || FFFFFFFF = '''first children doesnt exists''' || FFFFFFFF || FFFFFFFF || 1
|- {{cellcolors|#ff9999}}
| 0x90 || 0x04 || FFFFFFFF || last children element relative start offset || FFFFFFFF = '''last children doesnt exists''' || FFFFFFFF || FFFFFFFF || 1
|- {{cellcolors|#ffaaaa}}
| 0x94 || 0x04 || 00000014 || xml attribute TAG name relative offset || 14 = '''src''' || 14 = '''src''' || 15 = '''src''' || 0
|- {{cellcolors|#ffaaaa}}
| 0x98 || 0x04 || 00000006 ||  || 6 || 6 || 6 || 1D
|- {{cellcolors|#ffaaaa}}
| 0x9C || 0x04 || 00000000 || 1st file relative start offset || 0x250 + 0x0 = '''file starts at 0x250''' absolute  || 0 --1st file start-- || 0 --1st file start-- || 1
|- {{cellcolors|#ffaaaa}}
| 0xA0 || 0x04 || 00000150 || 1st file size || '''file size is 150''' || 15FF --1st file size-- || 29BB --1st file size-- || 2
|- {{cellcolors|#ffbbbb}}
| 0xA4 || 0x04 || 00000018 || xml attribute TAG name relative offset || 18 = '''id''' || 18 = '''id''' || 19 = '''id''' || 0
|- {{cellcolors|#ffbbbb}}
| 0xA8 || 0x04 || 00000007 ||  || 7 || 7 || 7 || 27
|- {{cellcolors|#ffbbbb}}
| 0xAC || 0x04 || 00000000 || 1st filename relative start offset || 0x1B0 + 0x0 = '''filename starts at 0x1B0''' absolute || 0 --1st filename start-- || 0 --1st filename start-- || 1
|- {{cellcolors|#ffbbbb}}
| 0xB0 || 0x04 || 00000000 || 1st filename size related ? || '''filename size is... 0''' wtf ? || 0 || 0 || 1
|- bgcolor="#cccccc"
| colspan="5" | 2nd entry start
|-
| 0xB4 || 0x04 || 0000000F || xml element TAG name relative offset || || {{cellcolors|#ffcccc}} 1B = '''size''' || {{cellcolors|#ffcccc}} 1C = '''size''' || 0
|-
| 0xB8 || 0x04 || 00000002 || xml element number of attributes || 2 || {{cellcolors|#ffcccc}} 1 || {{cellcolors|#ffcccc}} 1 || 32
|-
| 0xBC || 0x04 || 0000001C || parent element relative start offset || || {{cellcolors|#ffcccc}} 55D5 --1st file size uncompressed ?-- || {{cellcolors|#ffcccc}} 10080 --1st file size uncompressed ?-- || 1
|-
| 0xC0 || 0x04 || 00000038 || previous brother element relative start offset || 0x40 + 0x38 = 0x78 || {{cellcolors|#ffcccc}} 0 || {{cellcolors|#ffcccc}} 0 || 6
|-
| 0xC4 || 0x04 || 000000B0 || next brother element relative start offset || 0x40 + 0xB0 = 0xF0 || {{cellcolors|#cccccc}} F --2nd entry start-- || {{cellcolors|#cccccc}} 10 --2nd entry start-- || 0
|-
| 0xC8 || 0x04 || FFFFFFFF || first children element relative start offset || || 3 = compressed ? || 3 = compressed ? || 3C --entry start--
|-
| 0xCC || 0x04 || FFFFFFFF || last children element relative start offset || || 1C || 1C || C
|-
| 0xD0 || 0x04 || 00000014 || xml attribute TAG name relative offset || || 38 --previous entry-- || 38 --previous entry-- || 2C
|-
| 0xD4 || 0x04 || 00000006 || || || D0 --next entry-- || D0 --next entry-- || FFFFFFFF --previous entry--
|-
| 0xD8 || 0x04 || 00000150 || 2th file relative start offset || 0x250 + 0x150 = 0x3A0 || FFFFFFFF || FFFFFFFF || 164 --next entry--
|-
| 0xDC || 0X04 || 000000E0 || 2th file size || || FFFFFFFF || FFFFFFFF || FFFFFFFF
|-
| 0xE0 || 0x04 || 00000018 || xml attribute TAG name relative offset || || 14 || 15 || FFFFFFFF
|-
| 0xE4 || 0x04 || 00000007 || || || 6 || 6 || 42
|-
| 0xE8 || 0x04 || 00000016 || 2th filename relative start offset || 0x1B0 + 0x16 = 0x1C6 || 1600 ---2nd file start--- || 29C0 ---2nd file start--- || 5
|-
| 0xEC || 0x04 || 00000000 || || || 1B51 ---2nd file size--- || 2500 ---2nd file size--- || 0
|- bgcolor="#cccccc"
| colspan="5" | 3rd entry start
|-
| 0xF0 || 0x04 || 0000000F || xml element TAG name relative offset || || 18 || 19 || 4
|-
| 0xF4 || 0x04 || 00000002 || xml element number of attributes || 2 || 7 || 7 || 4D
|-
| 0xF8 || 0x04 || 0000001C || parent element relative start offset || || 7 ---2nd filename start--- || E ---2nd filename start--- || 5
|-
| 0xFC || 0x04 || 00000074 || previous brother element relative start offset || 0x40 + 0x74 = 0xB4 || 0 || 0 || 4
|-
| 0x100 || 0x04 || 000000EC || next brother element relative start offset  || 0x40 + 0xEC = 0x12C || 1B || 1C || 3
|-
| 0x104 || 0x04 || FFFFFFFF || first children element relative start offset || || 1 || 1 || 53
|-
| 0x108 || 0x04 || FFFFFFFF || last children element relative start offset || || 155D4 --2nd file size uncompressed-- || 10080 --2nd file size uncompressed-- || 5
|-
| 0x10C || 0x04 || 00000014 || xml attribute TAG name relative offset || || 0 || 0 || 7
|-
| 0x110 || 0x04 || 00000006 || || || {{cellcolors|#cccccc}} F --3rd entry start-- || {{cellcolors|#cccccc}} 10 --3ed entry start-- || 2
|-
| 0x114 || 0x04 || 00000230 || 3th file relative start offset || 0x250 + 0x230 = 0x480 || 3 = compressed ? || 3 = compressed ? || 5D
|-
| 0x118 || 0x04 || 00000120 || 3th file size ||  || 1C || 1C || 5
|-
| 0x11C || 0x04 || 00000018 || xml attribute TAG name relative offset ||
|-
| 0x120 || 0x04 || 00000007 ||  ||
|-
| 0x124 || 0x04 || 0000002C || 3th filename relative start offset || 0x1B0 + 0x2C = 0x1DC
|-
| 0x128 || 0x04 || 00000000 ||  ||
|- bgcolor="#cccccc"
| colspan="5" | 4th entry start
|-
| 0x12C || 0x04 || 0000000F || xml element TAG name relative offset ||
|-
| 0x130 || 0x04 || 00000002 || xml element number of attributes || 2
|-
| 0x134 || 0x04 || 0000001C || parent element relative start offset ||
|-
| 0x138 || 0x04 || 000000B0 || previous brother element relative start offset || 0x40 + 0xB0 = 0xF0
|-
| 0x13C || 0x04 || 00000128 || next brother element relative start offset || 0x40 + 0x128 = 0x168
|-
| 0x140 || 0x04 || FFFFFFFF || first children element relative start offset ||
|-
| 0x144 || 0x04 || FFFFFFFF || last children element relative start offset ||
|-
| 0x148 || 0x04 || 00000014 || xml attribute TAG name relative offset ||
|-
| 0x14C || 0x04 || 00000006 ||  ||
|-
| 0x150 || 0x04 || 00000350 || 4th file relative start offset || 0x250 + 0x350 = 0x5A0
|-
| 0x154 || 0x04 || 000001F0 || 4th file size ||
|-
| 0x158 || 0x04 || 00000018 || xml attribute TAG name relative offset ||
|-
| 0x15C || 0x04 || 00000007 ||  ||
|-
| 0x160 || 0x04 || 00000041 || 4th filename relative start offset || 0x1B0 + 0x41 = 0x1F1
|-
| 0x164 || 0x04 || 00000000 ||  ||
|- bgcolor="#cccccc"
| colspan="5" | 5th entry start
|-
| 0x168 || 0x04 || 0000000F || xml element TAG name relative offset ||
|-
| 0x16C || 0x04 || 00000002 || xml element number of attributes || 2
|-
| 0x170 || 0x04 || 0000001C || parent element relative start offset ||
|-
| 0x174 || 0x04 || 000000EC || previous brother element relative start offset || 0x40 + 0xEC = 0x12C
|-
| 0x178 || 0x04 || FFFFFFFF || next brother element relative start offset || FFFFFFFF = '''next entry doesnt exists'''
|-
| 0x17C || 0x04 || FFFFFFFF || first children element relative start offset ||
|-
| 0x180 || 0x04 || FFFFFFFF || last children element relative start offset ||
|-
| 0x184 || 0x04 || 00000014 || xml attribute TAG name relative offset ||
|-
| 0x188 || 0x04 || 00000006 ||  ||
|-
| 0x18C || 0x04 || 00000540 || 5th file relative start offset || 0x250 + 0x540 = 0x790
|-
| 0x190 || 0x04 || 00000890 || 5th file size ||
|-
| 0x194 || 0x04 || 00000018 || xml attribute TAG name relative offset ||
|-
| 0x198 || 0x04 || 00000007 ||  ||
|-
| 0x19C || 0x04 || 00000059 || 5th filename relative start offset || 0x1B0 + 0x59 = 0x209
|-
| 0x1A0 || 0x04 || 00000000 ||  ||
|- bgcolor="#cccccc"
| 0x1A4 || 0x0C || 00000000... || ''padding'' to align to a multiply of 0x10 ||
|-
! colspan="5" | Filename Table
|-
| 0x1B0 || 0x04 || 00000038 || 1st data, start offset (relative to data table start offset) || 0x40 + 0x38 = 0x78
|-
| 0x1B4 || 0x12 || lib/rhm/Clear.fpo || 1st file name || included 1 NULL byte at the end
|-
| 0x1C6 || 0x04 || 00000074 || 2nd data, start offset (relative to data table start offset) || 0x40 + 0x74 = 0xB4
|-
| 0x1CA || 0x12 || lib/rhm/Clear.vpo || 2nd file name || included 1 NULL byte at the end
|-
| 0x1DC || 0x04 || 000000B0 || 3rd data, start offset (relative to data table start offset) || 0x40 + 0xB0 = 0xF0
|-
| 0x1E0 || 0x11 || lib/rhm/Copy.fpo || 3rd file name || included 1 NULL byte at the end
|-
| 0x1F1 || 0x04 || 000000EC || 4th data, start offset (relative to data table start offset) || 0x40 + 0xEC = 0x12C
|-
| 0x1F5 || 0x14 || lib/rhm/default.fpo || 4th file name || included 1 NULL byte at the end
|-
| 0x209 || 0x04 || 00000128 || 5th data, start offset (relative to data table start offset) || 0x40 + 0x128 = 0x168
|-
| 0x20D || 0x14 || lib/rhm/default.vpo || 5th file name || included 1 NULL byte at the end
|- bgcolor="#cccccc"
| 0x221 || 0xF || 00000000... || ''padding'' to align the filename table to a multiply of 0x10 ||
|-
! colspan="5" | Strings table
|-
| 0x230 || 0x1B || qrc file-table file src id || Container identifyer (first tag) + other tags from MAKE.XML || <syntaxhighlight lang="xml"> <qrc> <file-table> <file src= id=/></syntaxhighlight> || <syntaxhighlight lang="xml"> <qrc> <file-table> <file src= id= size=/></syntaxhighlight> || <syntaxhighlight lang="xml"> <theme> <icontable> <icon src= id= size=/></syntaxhighlight> || raf + lot of tags + 3 tags (file-table file src)
|- bgcolor="#cccccc"
| 0x24B || 0x5 || 00000000... || ''padding'' to align the filename table to a multiply of 0x10 ||
|-
! colspan="5" | File Table
|-
| 0x250 || 0x150 || 00001B5C... || 1st file ||
|-
| 0x3A0 || 0x1E0 || 00001B5B... || 2nd file ||
|-
| 0x480 || 0x120 || 00001B5C... || 3rd file ||
|-
| 0x5A0 || 0x1F0 || 00001B5C... || 4th file ||
|-
| 0x790 || 0x890 || 00001B5B... || 5th file ||
|-
|}
'''rhm.qrc (from firmware 1.00)'''
<div style="height:450px; overflow:auto">
Offset(h) 00      04      08      0C
00000000  51524346 00000110 00000040 00000164  [email protected]
00000010  000001B0 00000071 00000230 0000001B  ...°...q...0....
00000020  00000250 00000000 00000250 00000000  ...P.......P....
00000030  00000250 00000DD0 00000000 00000000  ...P...Ð........
00000040  00000000 00000000 FFFFFFFF FFFFFFFF  ........ÿÿÿÿÿÿÿÿ
00000050  FFFFFFFF 0000001C 0000001C 00000004  ÿÿÿÿ............
00000060  00000000 00000000 FFFFFFFF FFFFFFFF  ........ÿÿÿÿÿÿÿÿ
00000070  00000038 00000128 0000000F 00000002  ...8...(........
00000080  0000001C FFFFFFFF 00000074 FFFFFFFF  ....ÿÿÿÿ...tÿÿÿÿ
00000090  FFFFFFFF 00000014 00000006 00000000  ÿÿÿÿ............
000000A0  00000150 00000018 00000007 00000000  ...P............
000000B0  00000000 0000000F 00000002 0000001C  ................
000000C0  00000038 000000B0 FFFFFFFF FFFFFFFF  ...8...°ÿÿÿÿÿÿÿÿ
000000D0  00000014 00000006 00000150 000000E0  ...........P...à
000000E0  00000018 00000007 00000016 00000000  ................
000000F0  0000000F 00000002 0000001C 00000074  ...............t
00000100  000000EC FFFFFFFF FFFFFFFF 00000014  ...ìÿÿÿÿÿÿÿÿ....
00000110  00000006 00000230 00000120 00000018  .......0... ....
00000120  00000007 0000002C 00000000 0000000F  .......,........
00000130  00000002 0000001C 000000B0 00000128  ...........°...(
00000140  FFFFFFFF FFFFFFFF 00000014 00000006  ÿÿÿÿÿÿÿÿ........
00000150  00000350 000001F0 00000018 00000007  ...P...ð........
00000160  00000041 00000000 0000000F 00000002  ...A............
00000170  0000001C 000000EC FFFFFFFF FFFFFFFF  .......ìÿÿÿÿÿÿÿÿ
00000180  FFFFFFFF 00000014 00000006 00000540  ÿÿÿÿ...........@
00000190  00000890 00000018 00000007 00000059  ...............Y
000001A0  00000000 00000000 00000000 00000000  ................
000001B0  00000038 6C69622F 72686D2F 436C6561  ...8lib/rhm/Clea
000001C0  722E6670 6F000000 00746C69 622F7268  r.fpo....tlib/rh
000001D0  6D2F436C 6561722E 76706F00 000000B0  m/Clear.vpo....°
000001E0  6C69622F 72686D2F 436F7079 2E66706F  lib/rhm/Copy.fpo
000001F0  00000000 EC6C6962 2F72686D 2F646566  ....ìlib/rhm/def
00000200  61756C74 2E66706F 00000001 286C6962  ault.fpo....(lib
00000210  2F72686D 2F646566 61756C74 2E76706F  /rhm/default.vpo
00000220  00000000 00000000 00000000 00000000  ................
00000230  71726300 66696C65 2D746162 6C650066  qrc.file-table.f
00000240  696C6500 73726300 69640000 00000000  ile.src.id......
00000250  00001B5C 00000006 00000150 00000003  ...\.......P....
00000260  00000020 000000F0 00000040 00000110  ... ...ð...@....
00000270  00000418 00000CB8 00001006 FFFFFFFF  .......¸....ÿÿÿÿ
00000280  000000BC 00000000 000000B0 00000000  ...¼.......°....
00000290  00001001 00000000 00000001 00000000  ................
000002A0  00000418 00000AC5 00001005 FFFFFFFF  .......Å....ÿÿÿÿ
000002B0  000000CC 00000000 00000000 000000C6  ...Ì...........Æ
000002C0  00001002 FFFFFFFF 00000001 00000000  ....ÿÿÿÿ........
000002D0  00000418 00000AC6 00001005 FFFFFFFF  .......Æ....ÿÿÿÿ
000002E0  000000DC 00000000 00000000 000000D5  ...Ü...........Õ
000002F0  00001002 FFFFFFFF 00000001 00000000  ....ÿÿÿÿ........
00000300  00000002 00000030 00000010 5F436C65  .......0...._Cle
00000310  6172436F 6C00434F 4C4F5200 6D61696E  arCol.COLOR.main
00000320  2E636F6C 00434F4C 4F523100 6D61696E  .col.COLOR1.main
00000330  2E636F6C 31000000 00000000 00000000  .col1...........
00000340  00000004 00000000 00000000 0000FFFF  ..............ÿÿ
00000350  00000300 00000000 00000000 00000000  ................
00000360  1E000100 C8021C9D C8000001 C8000001  ....È...È...È...
00000370  00000000 00000000 00000000 00000000  ................
00000380  1E050100 C8021C9D C8000001 C8000001  ....È...È...È...
00000390  00000000 00000000 00000000 00000000  ................
000003A0  00001B5B 00000006 000000E0 00000002  ...[.......à....
000003B0  00000020 000000B0 00000010 000000D0  ... ...°.......Ð
000003C0  00000418 00000841 00001005 FFFFFFFF  .......A....ÿÿÿÿ
000003D0  00000089 00000000 00000000 00000080  ...‰...........€
000003E0  00001001 00000000 00000001 00000000  ................
000003F0  00000418 000008C3 00001005 FFFFFFFF  .......Ã....ÿÿÿÿ
00000400  00000099 00000000 00000000 00000090  ...™............
00000410  00001002 00000001 00000001 00000000  ................
00000420  504F5349 54494F4E 00706F73 5F696E00  POSITION.pos_in.
00000430  504F5349 54494F4E 00706F73 5F6F7574  POSITION.pos_out
00000440  00000000 00000000 00000000 00000000  ................
00000450  00000001 00000000 00000001 00000001  ................
00000460  00000000 00000000 00000000 00000000  ................
00000470  401F9C6C 0040000D 8106C083 6041FF81  @.œl.@....Àƒ`Aÿ.
00000480  00001B5C 00000006 00000120 00000003  ...\....... ....
00000490  00000020 000000F0 00000010 00000110  ... ...ð........
000004A0  00000417 00000C94 00001005 FFFFFFFF  .......”....ÿÿÿÿ
000004B0  000000BA 00000000 00000000 000000B0  ...º...........°
000004C0  00001001 00000000 00000001 00000000  ................
000004D0  0000042A 00000800 00001006 FFFFFFFF  ...*........ÿÿÿÿ
000004E0  000000CC 00000000 00000000 000000C3  ...Ì...........Ã
000004F0  00001001 00000001 00000001 00000000  ................
00000500  00000418 00000AC5 00001005 FFFFFFFF  .......Å....ÿÿÿÿ
00000510  000000DB 00000000 00000000 000000D5  ...Û...........Õ
00000520  00001002 FFFFFFFF 00000001 00000000  ....ÿÿÿÿ........
00000530  54455843 4F4F5244 30007465 78636F6F  TEXCOORD0.texcoo
00000540  72640054 4558554E 49543000 5F436F70  rd.TEXUNIT0._Cop
00000550  79546578 00434F4C 4F52006D 61696E2E  yTex.COLOR.main.
00000560  636F6C00 00000000 00000000 00000000  col.............
00000570  00000001 00004000 00000000 0001FFFE  ......@.......ÿþ
00000580  00000200 00000000 00000000 00000000  ................
00000590  9E011700 C8011C9D C8000001 C8003FE1  ž...È...È...È.?á
000005A0  00001B5C 00000006 000001F0 00000005  ...\.......ð....
000005B0  00000020 00000170 00000060 00000190  ... ...p...`....
000005C0  00000418 00000AC5 00001005 FFFFFFFF  .......Å....ÿÿÿÿ
000005D0  00000117 00000000 00000000 00000110  ................
000005E0  00001001 00000000 00000001 00000000  ................
000005F0  00000418 00000C94 00001005 FFFFFFFF  .......”....ÿÿÿÿ
00000600  00000128 00000000 00000000 0000011E  ...(............
00000610  00001001 00000001 00000001 00000000  ................
00000620  00000418 00000AC5 00001005 FFFFFFFF  .......Å....ÿÿÿÿ
00000630  00000136 00000000 00000000 0000012F  ...6.........../
00000640  00001002 00000002 00000001 00000000  ................
00000650  0000042A 00000800 00001006 FFFFFFFF  ...*........ÿÿÿÿ
00000660  00000147 00000000 00000000 0000013E  ...G...........>
00000670  00001001 00000003 00000001 00000000  ................
00000680  00000415 00000CB8 00001006 FFFFFFFF  .......¸....ÿÿÿÿ
00000690  00000158 00000000 00000150 00000000  ...X.......P....
000006A0  00001001 00000004 00000001 00000000  ................
000006B0  434F4C4F 52300063 6F6C5F69 6E005445  COLOR0.col_in.TE
000006C0  58434F4F 52443000 7465785F 696E0043  XCOORD0.tex_in.C
000006D0  4F4C4F52 3000636F 6C5F6F75 74005445  OLOR0.col_out.TE
000006E0  58554E49 5430005F 54657800 00000000  XUNIT0._Tex.....
000006F0  00000001 00000050 5F546578 456E6162  .......P_TexEnab
00000700  6C656400 00000000 00000000 00000000  led.............
00000710  00000006 00004005 00000000 0001FFFE  ......@.......ÿþ
00000720  00000200 00000000 00000000 00000000  ................
00000730  3F800140 C8011C9D C8000001 C8003FE1  ?€.@È...È...È.?á
00000740  9E021700 C8011C95 C8000001 C8003FE1  ž...È..•È...È.?á
00000750  1E020400 C9001C9D C8040001 C9000003  ....É...È...É...
00000760  1E7E7E00 C8001C9D C8000001 C8000001  .~~.È...È...È...
00000770  1E010400 C8041C9D 00020000 C9000001  ....È.......É...
00000780  00000000 00000000 00000000 00000000  ................
00000790  00001B5B 00000006 00000890 0000001D  ...[............
000007A0  00000020 000007F0 00000080 00000810  ... ...ð...€....
000007B0  00000418 00000841 00001005 FFFFFFFF  .......A....ÿÿÿÿ
000007C0  0000059A 00000000 00000000 00000590  ...š............
000007D0  00001001 00000000 00000001 00000000  ................
000007E0  00000418 00000844 00001005 FFFFFFFF  .......D....ÿÿÿÿ
000007F0  000005A8 00000000 00000000 000005A1  ...¨...........¡
00000800  00001001 00000001 00000001 00000000  ................
00000810  00000418 00000843 00001005 FFFFFFFF  .......C....ÿÿÿÿ
00000820  000005B6 00000000 00000000 000005AF  ...¶...........¯
00000830  00001001 00000002 00000000 00000000  ................
00000840  00000418 00000849 00001005 FFFFFFFF  .......I....ÿÿÿÿ
00000850  000005C7 00000000 00000000 000005BD  ...Ç...........½
00000860  00001001 00000003 00000001 00000000  ................
00000870  00000418 000008C3 00001005 FFFFFFFF  .......Ã....ÿÿÿÿ
00000880  000005D8 00000000 00000000 000005CE  ...Ø...........Î
00000890  00001002 00000004 00000001 00000000  ................
000008A0  00000418 000008C5 00001005 FFFFFFFF  .......Å....ÿÿÿÿ
000008B0  000005E7 00000000 00000000 000005E0  ...ç...........à
000008C0  00001002 00000005 00000001 00000000  ................
000008D0  00000418 00000C94 00001005 FFFFFFFF  .......”....ÿÿÿÿ
000008E0  000005F9 00000000 00000000 000005EF  ...ù...........ï
000008F0  00001002 00000006 00000001 00000000  ................
00000900  00000417 00000CB8 00001006 FFFFFFFF  .......¸....ÿÿÿÿ
00000910  00000601 00000000 00000000 00000000  ................
00000920  00001001 00000007 00000000 00000000  ................
00000930  00000418 00000CB8 00001006 FFFFFFFF  .......¸....ÿÿÿÿ
00000940  00000611 00000000 00000000 00000000  ................
00000950  00001001 00000008 00000000 00000000  ................
00000960  00000415 00000CB8 00001006 FFFFFFFF  .......¸....ÿÿÿÿ
00000970  0000061E 00000000 00000000 00000000  ................
00000980  00001001 00000009 00000000 00000000  ................
00000990  00000418 00000CB8 00001006 FFFFFFFF  .......¸....ÿÿÿÿ
000009A0  00000632 00000000 00000000 00000000  ...2............
000009B0  00001001 0000000A 00000000 00000000  ................
000009C0  00000418 00000CB8 00001006 FFFFFFFF  .......¸....ÿÿÿÿ
000009D0  0000063B 00000000 00000000 00000000  ...;............
000009E0  00001001 0000000B 00000000 00000000  ................
000009F0  00000418 00000CB8 00001006 FFFFFFFF  .......¸....ÿÿÿÿ
00000A00  00000644 00000000 00000000 00000000  ...D............
00000A10  00001001 0000000C 00000000 00000000  ................
00000A20  00000428 00000882 00001006 00000100  ...(...‚........
00000A30  0000064E 00000000 00000000 00000000  ...N............
00000A40  00001001 0000000D 00000001 00000000  ................
00000A50  00000418 00000882 00001006 00000100  .......‚........
00000A60  00000663 00000000 00000000 00000000  ...c............
00000A70  00001001 0000000D 00000001 00000000  ................
00000A80  00000418 00000882 00001006 00000101  .......‚........
00000A90  0000067B 00000000 00000000 00000000  ...{............
00000AA0  00001001 0000000D 00000001 00000000  ................
00000AB0  00000418 00000882 00001006 00000102  .......‚........
00000AC0  00000693 00000000 00000000 00000000  ...“............
00000AD0  00001001 0000000D 00000001 00000000  ................
00000AE0  00000418 00000882 00001006 00000103  .......‚........
00000AF0  000006AB 00000000 00000000 00000000  ...«............
00000B00  00001001 0000000D 00000001 00000000  ................
00000B10  00000428 00000CB8 00001006 FFFFFFFF  ...(...¸....ÿÿÿÿ
00000B20  000006C3 00000000 00000000 00000000  ...Ã............
00000B30  00001001 0000000E 00000000 00000000  ................
00000B40  00000418 00000CB8 00001006 FFFFFFFF  .......¸....ÿÿÿÿ
00000B50  000006DE 00000000 00000000 00000000  ...Þ............
00000B60  00001001 0000000E 00000000 00000000  ................
00000B70  00000418 00000CB8 00001006 FFFFFFFF  .......¸....ÿÿÿÿ
00000B80  000006FC 00000000 00000000 00000000  ...ü............
00000B90  00001001 0000000E 00000000 00000000  ................
00000BA0  00000418 00000CB8 00001006 FFFFFFFF  .......¸....ÿÿÿÿ
00000BB0  0000071A 00000000 00000000 00000000  ................
00000BC0  00001001 0000000E 00000000 00000000  ................
00000BD0  00000418 00000CB8 00001006 FFFFFFFF  .......¸....ÿÿÿÿ
00000BE0  00000738 00000000 00000000 00000000  ...8............
00000BF0  00001001 0000000E 00000000 00000000  ................
00000C00  00000428 00000CB8 00001006 FFFFFFFF  ...(...¸....ÿÿÿÿ
00000C10  00000756 00000000 00000000 00000000  ...V............
00000C20  00001001 0000000F 00000000 00000000  ................
00000C30  00000418 00000CB8 00001006 FFFFFFFF  .......¸....ÿÿÿÿ
00000C40  00000768 00000000 00000000 00000000  ...h............
00000C50  00001001 0000000F 00000000 00000000  ................
00000C60  00000418 00000CB8 00001006 FFFFFFFF  .......¸....ÿÿÿÿ
00000C70  0000077D 00000000 00000000 00000000  ...}............
00000C80  00001001 0000000F 00000000 00000000  ................
00000C90  00000418 00000CB8 00001006 FFFFFFFF  .......¸....ÿÿÿÿ
00000CA0  00000792 00000000 00000000 00000000  ...’............
00000CB0  00001001 0000000F 00000000 00000000  ................
00000CC0  00000418 00000CB8 00001006 FFFFFFFF  .......¸....ÿÿÿÿ
00000CD0  000007A7 00000000 00000000 00000000  ...§............
00000CE0  00001001 0000000F 00000000 00000000  ................
00000CF0  00000443 00000882 00001007 000001D3  ...C...‚.......Ó
00000D00  000007D0 000007C0 00000000 00000000  ...Ð...À........
00000D10  00001001 FFFFFFFE 00000001 00000000  ....ÿÿÿþ........
00000D20  504F5349 54494F4E 3000706F 735F696E  POSITION0.pos_in
00000D30  00434F4C 4F523000 636F6C5F 696E004E  .COLOR0.col_in.N
00000D40  4F524D41 4C006E6F 725F696E 00544558  ORMAL.nor_in.TEX
00000D50  434F4F52 44300074 65785F69 6E00504F  COORD0.tex_in.PO
00000D60  53495449 4F4E3000 706F735F 6F757400  SITION0.pos_out.
00000D70  434F4C4F 52300063 6F6C5F6F 75740054  COLOR0.col_out.T
00000D80  4558434F 4F524430 00746578 5F6F7574  EXCOORD0.tex_out
00000D90  005F4C69 67687444 69726563 74696F6E  ._LightDirection
00000DA0  005F476C 6F62616C 436F6C6F 72005F47  ._GlobalColor._G
00000DB0  6C6F6261 6C436F6C 6F72456E 61626C65  lobalColorEnable
00000DC0  64005F41 6D626961 6E74005F 44696666  d._Ambiant._Diff
00000DD0  75736500 5F537065 63756C61 72005F4D  use._Specular._M
00000DE0  6F64656C 76696577 50726F6A 65637469  odelviewProjecti
00000DF0  6F6E005F 4D6F6465 6C766965 7750726F  on._ModelviewPro
00000E00  6A656374 696F6E5B 305D005F 4D6F6465  jection[0]._Mode
00000E10  6C766965 7750726F 6A656374 696F6E5B  lviewProjection[
00000E20  315D005F 4D6F6465 6C766965 7750726F  1]._ModelviewPro
00000E30  6A656374 696F6E5B 325D005F 4D6F6465  jection[2]._Mode
00000E40  6C766965 7750726F 6A656374 696F6E5B  lviewProjection[
00000E50  335D005F 4D6F6465 6C766965 77496E76  3]._ModelviewInv
00000E60  65727365 5472616E 73706F73 65005F4D  erseTranspose._M
00000E70  6F64656C 76696577 496E7665 72736554  odelviewInverseT
00000E80  72616E73 706F7365 5B305D00 5F4D6F64  ranspose[0]._Mod
00000E90  656C7669 6577496E 76657273 65547261  elviewInverseTra
00000EA0  6E73706F 73655B31 5D005F4D 6F64656C  nspose[1]._Model
00000EB0  76696577 496E7665 72736554 72616E73  viewInverseTrans
00000EC0  706F7365 5B325D00 5F4D6F64 656C7669  pose[2]._Modelvi
00000ED0  6577496E 76657273 65547261 6E73706F  ewInverseTranspo
00000EE0  73655B33 5D005F54 65787475 72655472  se[3]._TextureTr
00000EF0  616E7366 6F726D00 5F546578 74757265  ansform._Texture
00000F00  5472616E 73666F72 6D5B305D 005F5465  Transform[0]._Te
00000F10  78747572 65547261 6E73666F 726D5B31  xtureTransform[1
00000F20  5D005F54 65787475 72655472 616E7366  ]._TextureTransf
00000F30  6F726D5B 325D005F 54657874 75726554  orm[2]._TextureT
00000F40  72616E73 666F726D 5B335D00 00000000  ransform[3].....
00000F50  3F800000 00000000 00000000 00000000  ?€..............
00000F60  696E7465 726E616C 2D636F6E 7374616E  internal-constan
00000F70  742D3000 00000000 00000000 00000000  t-0.............
00000F80  00000008 00000000 00000001 00000109  ................
00000F90  00004001 00000000 00000000 00000000  ..@.............
00000FA0  401F9C6C 0040030D 8106C083 6041FF84  @.œl.@....Àƒ`Aÿ„
00000FB0  401F9C6C 0040080D 8106C083 6041FF9C  @.œl.@....Àƒ`Aÿœ
00000FC0  00001C6C 005D3000 0186C083 60403FFC  ...l.]0..†Àƒ`@?ü
00000FD0  00001C6C 0040000C 0106C083 6041DFFC  ...l.@....Àƒ`Aßü
00000FE0  401F9C6C 01D0300D 8086C0C3 60403F80  @.œl.Ð0.€†ÀÃ`@?€
00000FF0  401F9C6C 01D0200D 8086C0C3 60405F80  @.œl.Ð .€†ÀÃ`@_€
00001000  401F9C6C 01D0100D 8086C0C3 60409F80  @.œl.Ð..€†ÀÃ`@Ÿ€
00001010  401F9C6C 01D0000D 8086C0C3 60411F81  @.œl.Ð..€†ÀÃ`A..
</div>
===Container XML prototypes===
These .XML's are used to build the different container variations, the tags from the XML are included in the "strings table" inside the container and defines his contents and structure
The examples are speculative and based in the XML used by themes
====QRCF====
'''QRCF_1'''
{{Boxcode|content=<syntaxhighlight lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<qrc>
<file-table>
<file id="file1" src="file1.png"/>
<file id="file2" src="file2.png"/>
<file id="file3" src="file3.png"/>
</file-table>
</qrc>
</syntaxhighlight>}}
'''QRCF_2'''
{{Boxcode|content=<syntaxhighlight lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<qrc>
<file-table>
<file id="file1" src="file1.png" size="12345"/>
<file id="file2" src="file2.png" size="12345"/>
<file id="file3" src="file3.png" size="12345"/>
</file-table>
</qrc>
</syntaxhighlight>}}
*Notes:
**Size is added by the compiler, the xml used to build the container doesnt needs it (like in themes)
====P3TF====
See: http://www.psdevwiki.com/ps3/Themes_%28.p3t%29#Theme_Name_.28.XML.29 for an example of an XML before compilation, and see: http://www.psdevwiki.com/ps3/Talk:Themes_%28.p3t%29#p3t_format.2C_p3tcompiler.2C_and_p3textractor_notes for a list of tags added by the compiler
====RAFO====

Latest revision as of 07:43, 14 June 2014

VPO FPO Decoding[edit source]

If you are interested in decoding the vpo & fpo files, use cgc-disasm.exe (wrote by eustolio at: http://www.ps3hax.net/showthread.php?t=25618&p=229602&viewfull=1#post229602 )

sce-cgcdisasm -o outfile imputfile (shader)
# profile sce_vp_rsx
# parameterCount 20
# instructionCount 4
# registerCount 1
# attributeInputMask Attr0
# attributeOutputMask None
# userClipMask 0: DISABLE, 1: DISABLE, 2: DISABLE, 3: DISABLE, 4: DISABLE, 5: DISABLE

index: type: name: semantic: res or resIndex
#0: float4: oldpos: in.POSITION0: ATTR0
#1: float4: newpos: out.POSITION0: HPOS
#2: float2: oldcrd: in.TEXCOORD0: ATTR8
#3: float4: oldnrm: in.TEXCOORD1: ATTR9
#4: float4: newcol: out.COLOR0: COL0
#5: float: _Fresnel: : UNDEFINED
#6: float: _Falloff: : UNDEFINED
#7: float: _Brightness: : UNDEFINED
#8: float: _MipmapBias: : UNDEFINED
#9: float4: _Eye: : UNDEFINED
#10: float4x4: _MVM: : C[256]
#11: float4: _MVM[0]: : C[256]
#12: float4: _MVM[1]: : C[257]
#13: float4: _MVM[2]: : C[258]
#14: float4: _MVM[3]: : C[259]
#15: float4x4: _MIT: : UNDEFINED
#16: float4: _MIT[0]: : UNDEFINED
#17: float4: _MIT[1]: : UNDEFINED
#18: float4: _MIT[2]: : UNDEFINED
#19: float4: _MIT[3]: : UNDEFINED

DP4 o[0].w, v[0], c[259];
DP4 o[0].z, v[0], c[258];
DP4 o[0].y, v[0], c[257];
DP4 o[0].x, v[0], c[256];
END
sce-cgcdisasm -h outfile imputfile (for header)
#ifndef _lib_moyou_lines0_params_H_
#define _lib_moyou_lines0_params_H_

typedef struct {
	int res;
	int resindex;
	int dvindex;
} CellGcm_lib_moyou_lines0_params_Table;

typedef struct {
	float defaultvalue[4];
} CellGcm_lib_moyou_lines0_params_DefaultValueTable;

enum CellGcm_lib_moyou_lines0_params_Enum {
	CELL_GCM_lib_moyou_lines0_params_oldpos = 0,
	CELL_GCM_lib_moyou_lines0_params_newpos = 1,
	CELL_GCM_lib_moyou_lines0_params_oldcrd = 2,
	CELL_GCM_lib_moyou_lines0_params_oldnrm = 3,
	CELL_GCM_lib_moyou_lines0_params_newcol = 4,
	CELL_GCM_lib_moyou_lines0_params___Fresnel = 5,
	CELL_GCM_lib_moyou_lines0_params___Falloff = 6,
	CELL_GCM_lib_moyou_lines0_params___Brightness = 7,
	CELL_GCM_lib_moyou_lines0_params___MipmapBias = 8,
	CELL_GCM_lib_moyou_lines0_params___Eye = 9,
	CELL_GCM_lib_moyou_lines0_params___MVM = 10,
	CELL_GCM_lib_moyou_lines0_params___MVM_0 = 11,
	CELL_GCM_lib_moyou_lines0_params___MVM_1 = 12,
	CELL_GCM_lib_moyou_lines0_params___MVM_2 = 13,
	CELL_GCM_lib_moyou_lines0_params___MVM_3 = 14,
	CELL_GCM_lib_moyou_lines0_params___MIT = 15,
	CELL_GCM_lib_moyou_lines0_params___MIT_0 = 16,
	CELL_GCM_lib_moyou_lines0_params___MIT_1 = 17,
	CELL_GCM_lib_moyou_lines0_params___MIT_2 = 18,
	CELL_GCM_lib_moyou_lines0_params___MIT_3 = 19,
};

CellGcm_lib_moyou_lines0_params_Table lib_moyou_lines0_params[20] = {
	{2113, -1, -1}, /* index:0, "oldpos" */
	{2243, -1, -1}, /* index:1, "newpos" */
	{2121, -1, -1}, /* index:2, "oldcrd" */
	{2122, -1, -1}, /* index:3, "oldnrm" */
	{2245, -1, -1}, /* index:4, "newcol" */
	{3256, -1, -1}, /* index:5, "_Fresnel" */
	{3256, -1, -1}, /* index:6, "_Falloff" */
	{3256, -1, -1}, /* index:7, "_Brightness" */
	{3256, -1, -1}, /* index:8, "_MipmapBias" */
	{3256, -1, -1}, /* index:9, "_Eye" */
	{2178, 256, -1}, /* index:10, "_MVM" */
	{2178, 256, -1}, /* index:11, "_MVM[0]" */
	{2178, 257, -1}, /* index:12, "_MVM[1]" */
	{2178, 258, -1}, /* index:13, "_MVM[2]" */
	{2178, 259, -1}, /* index:14, "_MVM[3]" */
	{3256, -1, -1}, /* index:15, "_MIT" */
	{3256, -1, -1}, /* index:16, "_MIT[0]" */
	{3256, -1, -1}, /* index:17, "_MIT[1]" */
	{3256, -1, -1}, /* index:18, "_MIT[2]" */
	{3256, -1, -1}, /* index:19, "_MIT[3]" */
};

CellGcm_lib_moyou_lines0_params_DefaultValueTable lib_moyou_lines0_params_default_value[0] = {
};

#endif //_lib_moyou_lines0_params_H_