Editing VSMX
Jump to navigation
Jump to search
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 1: | Line 1: | ||
= Description = | = Description = | ||
Virtual Script Machine Instructions (VSMX) | Virtual Script Machine Instructions (VSMX) file (filename extension .jsx, a .js compiled) | ||
*http://endlessparadigm.com/forum/showthread.php?tid=21485 (History) | *http://endlessparadigm.com/forum/showthread.php?tid=21485 (History) | ||
*http://playstationhax.it/forums/topic/1060-jsxviewer/ (discussion, tool | *http://playstationhax.it/forums/topic/1060-jsxviewer/ (discussion, tool) | ||
[[Rcomage]] | [[Rcomage]] can compile/decompile .jsx (VSMX) <=> .JS (need to change the VSMX version at offset 0x04 to 01 (PSP?) instead of 02 (PS3?) | ||
<pre> | |||
but it's very buggy and usually doesn't work right | |||
</pre> | |||
*VSMX files are used on: | *VSMX files are used on: | ||
**PSP | **PSP (inside RCO's from video/music UMDs, and two lftv firmware RCO's in flash0/vsh/resource/...) | ||
**PS3 | **PS3 ([[Rich_Appearance_Format_(RAF)|inside RAF's]]: on [[Coldboot.raf]], [[Themes (.p3t)|PS3 themes]] animated) and some PS3 Games? | ||
**PSVita & PS4 (unknown | **PSVita & PS4 (unknown) | ||
= VSMX Structure = | = VSMX Structure = | ||
== Header == | == Header == | ||
Line 384: | Line 386: | ||
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 | 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 396: | ||
**'''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| | {{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 |