Difference between revisions of "General Vritual Machine architecture"

From Final Fantasy XII Wiki
Jump to navigation Jump to search
(Created page with "Final Fantasy XII contains a stack based '''virtual machine''' that runs field and event scripts. The implementation seems to be exactly the same starting with Japanese PS2 re...")
 
Line 5: Line 5:
 
{| class="wikitable"
 
{| class="wikitable"
 
|+VM's general specifications
 
|+VM's general specifications
!Type
+
!style="text-align:left;" |Type
|stack based
+
|style="text-align:right;" |stack based
 
|-
 
|-
!Integer registers
+
!style="text-align:left;" |Integer registers
|4 (I0 to I3)
+
|style="text-align:right;" |4 (I0 to I3)
 
|-
 
|-
!Float registers
+
!style="text-align:left;" |Float registers
|4 (F0 to F3)
+
|style="text-align:right;" |4 (F0 to F3)
 
|-
 
|-
!Special registers
+
!style="text-align:left;" |Special registers
|3 (X, Y, A)
+
|style="text-align:right;" |3 (X, Y, A)
 
|-
 
|-
!Number of instructions
+
!style="text-align:left;" |Number of instructions
|100
+
|style="text-align:right;" |100
 
|-
 
|-
!Maximum stack size
+
!style="text-align:left;" |Maximum stack size
|unknown
+
|style="text-align:right;" |unknown
 
|}
 
|}

Revision as of 09:17, 15 July 2019

Final Fantasy XII contains a stack based virtual machine that runs field and event scripts. The implementation seems to be exactly the same starting with Japanese PS2 release, through PS4, PC and Nintendo Switch versions. The only thing that changes are available calls. Each subsequent version supports all previous calls and includes a few dozen of new ones at most.


General VM specifications are as follows:

VM's general specifications
Type stack based
Integer registers 4 (I0 to I3)
Float registers 4 (F0 to F3)
Special registers 3 (X, Y, A)
Number of instructions 100
Maximum stack size unknown