Editing VSMX

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 8: Line 8:


*VSMX files are used on:
*VSMX files are used on:
**PSP - Inside '''[[Resource_Container_(RCO)|.rco]]''' file-format (used on video/music UMDs, and the two firmware files: '''lftv_tuner_jp_jp.rco''' and '''lftv_tuner_us_en.rco''' in path flash0/vsh/resource/)
**PSP - Inside '''[[Resource_Container_(RCO)|.rco]]''' file-format (used on video/music UMDs, and two lftv firmware rco's in flash0/vsh/resource/...)
**PS3 - Inside '''[[Rich_Appearance_Format_(RAF)|.raf]]''' file-format (used on [[coldboot.raf]], and the background scene for [[Themes (.p3t)|PS3 dynamic themes]]<!-- and some PS3 Games?-->)
**PS3 - Inside '''[[Rich_Appearance_Format_(RAF)|.raf]]''' file-format (used on [[coldboot.raf]], and the background scene for [[Themes (.p3t)|PS3 dynamic themes]]<!-- and some PS3 Games?-->)
**PSVita & PS4 (unknown yet, but probable)
**PSVita & PS4 (unknown yet, but probable)


= VSMX Structure =
= VSMX Structure =
Some compiler/decompiler code samples can be seen: [https://github.com/Zarh/ManaGunZ/blob/master/MGZ/source/jsx.c managunz], [https://github.com/zingaburga/RCOMage/blob/master/src/vsmx.c rcomage]


== Header ==
== Header ==
Line 384: Line 383:
This is an example of the decodification and decompilation made with the VSMX script contained inside [[coldboot.raf]]. The decompilation has been made by hand because the vsmx decompiler by ZiNgA BuRgA doesnt supports vectors and crashes, the purpose is to serve as an explain of how the opcodes works, the features that was added to VSMX v2 format for PS3, and as an overall explain of how to decompile other VSMX files
This is an example of the decodification and decompilation made with the VSMX script contained inside [[coldboot.raf]]. The decompilation has been made by hand because the vsmx decompiler by ZiNgA BuRgA doesnt supports vectors and crashes, the purpose is to serve as an explain of how the opcodes works, the features that was added to VSMX v2 format for PS3, and as an overall explain of how to decompile other VSMX files


The file can be saved as .js and compiled directlly (there is no need to remove the comments), for a better overview of the decompiled code of this sample in [[PlayStation JavaScript]] format see [[Coldboot.raf#Script]] page
The file can be saved as .js and compiled directlly (there is no need to remove the comments), for a better view of the decompiled code without the comments in [[PlayStation JavaScript]] format see [[coldboot.raf]] page


*Form left to right:
*Form left to right:
Line 394: Line 393:
**'''DECOMPILED PSJS CODE''' - The source code in [[PlayStation JavaScript]] format ready to compile, it will generate a coldboot.jsx exactly like the one extracted from coldboot.raf by the [[CXML Containers|CXML decompiler tool]]
**'''DECOMPILED PSJS CODE''' - The source code in [[PlayStation JavaScript]] format ready to compile, it will generate a coldboot.jsx exactly like the one extracted from coldboot.raf by the [[CXML Containers|CXML decompiler tool]]


{{Boxcode|title=coldboot.js (decompiled from coldboot.jsx)|code=<syntaxhighlight lang="javascript">
{{Boxcode|content=<syntaxhighlight lang="javascript">
//---------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------
// VSMX v2 Decompilation Sample (coldboot.raf PS3). Decompiled step by step from VSMX opcodes to PSJS code by sandungas
// VSMX v2 Decompilation Sample (coldboot.raf PS3). Decompiled step by step from VSMX opcodes to PSJS code by sandungas
Please note that all contributions to PS3 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS3 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)