Rich Appearance Format (RAF)

From PS3 Developer wiki
Revision as of 01:38, 20 October 2014 by Ada L0ve Lace (talk | contribs) (.JSX)
Jump to: navigation, search


RAF (Rich Appearance Format) is a container, used by the animation when PS3 boots (coldboot.raf), and inside dynamic Themes (as the animated scene displayed at the background of the theme)

  • RAF related firmware modules in dev_flashvsh/modules/:
    • raf.sprx <--- generic animations

RAF structure

See: CXML Containers page

RAF tools

Rich Apparence Maker


R.A.M on PS3 News:

R.A.M on PSX Scene:

PS3 Color Logo Creator V2.511

PCLC Source:

PCLC on PS3 News:

PCLC V2.511 Download:

RAF contents

It must comply with these restrictions :

-Textures size max: 15 mb ( 15728640 Bytes ) ( on RSX local memory at run time )
-Geometry & script size max: 1 mb ( 1048576 Bytes ) ( on main memory at run time ) 
-Actor size max: 1.25mb ( 1310720 Bytes ) ( in the intermediate buffer ) 
-Actor number max: 128
-Cameras: 1
-Lights: 2 (ambient + point)
-Scripts: 1
-Models: 64 (with 8 animations each model)

RAF Scene (.XML)

Models and Lights (.DAE)

Models can be geometric 3D objects, or 3D light points

  • Typical objects and names used:
    • bg.dae
    • ambient_light.dae
    • point_light.dae

Models files contains references to the libraries that were used by the 3D app that build the object

  • Typical entries found in models (3d objects)
    • <asset>
    • <library_physics_scenes>
    • <library_images>
    • <library_materials>
    • <library_effects>
    • <library_geometries>
    • <library_visual_scenes>
    • <scene>
  • Typical entries found in models (3d lights)
    • <asset>
    • <library_physics_scenes>
    • <library_lights>
    • <library_visual_scenes>
    • <scene>


See Multimedia Formats and Tools page

Before compiling, only .dds and jpeg are supported.

After compiling, Graphics Texture Format (GTF) (is a container for storing one or multiple textures, "pack GTF", data in a layout that can be used as is by RSX).



script.js (an PlayStation JavaScript, known as PSJS, based on ECMA-262)

ECMA-262: several well-known implementations such as JavaScript, JScript and ActionScript.

Some examples of PS3 theme using PSJS:


The script.js is later on compiled into an intermediate code (.jsx) with a magic header "VSMX".

Virtual Script Machine Instructions (VSMX) file layout:

VSMX header
Compiled instructions
String constants
Object property/method names?
Variable/function names


Offset Size Example (h) Value (conversion) Notes
0x00 0x04 0x56534D58 Magic
0x04 0x04 0x00000200 0002.0000 Version?
  • v1.0 on PSP RCO RCOs (from video/music UMDs and two lftv RCOs in the PSP's flash0/vsh/ressource/.)?
  • V2.0 on PS3 PSJS script.jsx
0x08 0x04 0x34000000 34 (52) header length
0x0C 0x04 - length of compiled instructions section
0x10 0x04 - offset of string constants section
0x14 0x04 - length of string constants section
0x18 0x04 - number of string constants (seen: 1 or 2)
0x1C 0x04 - offset of property/method section
0x20 0x04 - length of property/method section
0x24 0x04 - number of property/method names
0x28 0x04 - offset of variable/function names section
0x2C 0x04 - length of variable/function names section
0x30 0x04 - number of variable/function names section