Opcode
|
Instruction length
|
Description
|
Operands
|
0x01
|
3
|
Execute callback[need verification]
|
- 0xXXXX: The callback number
|
0x02
|
1
|
Delimiter[need verification]
|
None
|
0x03
|
2
|
Observed
|
|
0x04
|
1
|
Observed
|
None
|
0x05
|
1
|
Not observed
|
None
|
0x06
|
4
|
Fade scene
|
- 0xXX:Unknown (possibly a bitfield)
- 0x23: Fade in from white
- 0x13: Fade in from black
- 0x21: Fade out to white[need verification]
- 0x31: Fade out to black
- 0xYY: Time to take for fade, Y/10 seconds
- 0xZZ: Final visibility
- Capped at 0x64 (100)[need verification]
|
0x07
|
1
|
Not observed
|
None
|
0x08
|
1
|
Not observed
|
None
|
0x09
|
1
|
Not observed
|
None
|
0x0A
|
3
|
Not observed
|
Unknown
|
0x0B
|
4
|
Not observed
|
Unknown
|
0x0C
|
2
|
Set map
Note: This opcode will cause the background to glitch for a second
|
0xXX: Which map to use
|
0x0D
|
1
|
Observed
|
None
|
0x0E
|
2
|
Observed
|
- 0x00: Observed
- 0x01: Observed
|
0x0F
|
4
|
Show message box
|
- 0xXX: The number of the message in the array of messages for this scene
- 0xYY: The number of the character whose portrait to use
- 0xZZ: Options (seems to be a bitfield [need verification])
- Default: Top left
- Bit 0: Horizontal middle[need verification]
- Bit 1: Right
- Bit 3: Vertical middle
- Bit 4: Bottom
- 0x80: Observed
- 0x82: Observed
- 0xA4: Observed, guess position[need verification]
|
0x10
|
3
|
Not observed
|
Unknown
|
0x11
|
2
|
Display centered, transparent message
|
- 0xXX: Which message to display
|
0x12
|
2
|
Display notice
|
- 0xXX: Which notice to display (distinct from messages)
|
0x13
|
?
|
Unknown, can trigger failsafe
|
Unknown
|
0x15
|
2
|
Scripted delay
|
- 0xXX: The length of the delay, in X/100 seconds
|
0x16
|
1
|
Unknown
|
None
|
0x17
|
2
|
Observed
|
- 0x00: Observed
- 0x02: Fade in from clip
- 0x04: Begin intro fight
- 0x05: Enter world map for the first time[need verification]
|
0x18
|
2
|
Predefined event
|
- 0x01: Place units[need verification]
- Crashes when map type is cutscene
- 0x03: Place units[need verification]
- 0x0A: Set Marche's name
- 0x0B: Set clan name
- 0x0E: Save game[need verification]
|
0x19
|
3
|
Observed
|
|
0x1A
|
4
|
Observed
|
- 0xXXXX[need verification]: Unknown
- 0xYY[need verification]: Unknown
|
0x1B
|
4
|
Not observed
|
Unknown
|
0x1C
|
3
|
Observed, 0x089A6FFF
|
|
0x1D
|
2
|
Not observed
|
Unknown
|
0x1E
|
2
|
Not observed
|
Unknown
|
0x1F
|
6
|
Place character
|
- 0xXX: Which character to place
- 0xYZ: Where to place the character. X is the NE-SW position and Y is the NW-SE position
- 0xWW: The facing direction
- 0xVVVV: Unknown, Set to 0x20 0x00
|
0x20
|
5
|
Place character
|
- 0xXX: Which character to place
- 0xYZ: Where to place the character. X is the NE-SW position and Y is the NW-SE position
- 0xWW: The facing direction
- 0xVV: Unknown
|
0x21
|
3
|
Not observed
|
Unknown
|
0x22
|
2
|
Observed
|
- 0x00: Clear character positions
- 0x4E: Reset all character animations[need verification]
|
0x23
|
2
|
Enable character[need verification]
|
- 0xXX: Which character to enable
|
0x24
|
2[need verification]
|
Observed
|
|
0x25
|
4
|
Change facing direction
|
- 0xXX: Which character should look.
- 0xYY: New facing direction
- 0xZZ: Unknown
|
0x26
|
3
|
Look at character
|
- 0xXX: Which character should look. Values less than 0x0F crash the game in the intro scene
- 0xYY: Which character to look at
|
0x27
|
5
|
Set character's sprite
|
- 0xXX: Which character to set the sprite for
- 0xYY: Which sprite to use
- 0xZZ[need verification]: Unknown
- 0xWW[need verification]: Unknown
- 0x00: Observed
- 0x04: Observed
|
0x28
|
2
|
Reset animation
|
- 0xXX: Which character's anim to stop
|
0x29
|
3
|
Observed
|
- 0xXX: Which character to affect
- 0xYY: Facing direction[need verification]
|
0x2B
|
9
|
Observed
|
Parameters unknown
|
0x2C
|
4
|
Not observed
|
Unknown
|
0x2D
|
4
|
Not observed
|
Unknown
|
0x2E
|
7
|
Observed
|
- 0xXX: Which character to affect
- 0xYYYY[need verification]: Unknown
- 0xZZZZ[need verification]: Unknown
- 0xFFF0: Observed
- 0xFFF4: Observed
- 0xFFF8: Observed
- 0xWWWW[need verification]: Unknown
|
0x2F
|
4
|
Teleport character (absolute)
|
- 0xXX: Which character to move
- 0xYY: The new NW-SE position (tile units)
- 0xZZ: The new NE-SW position (tile units)
|
0x30
|
4
|
Observed
|
- 0xXX: Which character to affect
- 0xYY: Unknown
- 0x00: Observed
- 0x01: Observed
|
0x31
|
5
|
Set character's sprite
|
- 0xXX: Which character to set the sprite for
- 0xYY: Which sprite to use
- 0xZZ[need verification]: Unknown
- 0xWW[need verification]: Unknown
|
0x36
|
?
|
Character join request
|
[Parameters unknown]
|
0x38
|
7
|
Affect sprite positioning
|
- 0xXX: Which character's sprite to affect
- 0xYY: Unknown
- 0xZZ: Unknown
- OxWW: Unknown
- 0xVV: Affects timing
- 0xUU: Unknown
|
0x39
|
9
|
Move character (relative, subunits)
|
- 0xXX: Which character to affect
- 0xYYYY: The NW-SE distance
- 0xZZZZ: The NE-SW distance
- 0xWW[need verification]: Affects timing
- 0xVV[need verification]: Affects timing
- 0xUU[need verification]: Affects timing
|
0x3A
|
7
|
Move character (absolute, tile units)
|
- 0xXX: Which character to move
- 0xYY: The new NW-SE position
- 0xZZ: The new NE-SW position
- 0xWW[need verification]: Unknown
- 0xVV[need verification]: Unknown
- 0xUU: Unknown
|
0x3C
|
2
|
Observed
|
- 0x64: Observed, 0x089A5EC5
|
0x3D
|
10[need verification]
|
Move character (relative, subunits)
|
- 0xXX: Which character to move
- 0xYYYY: The NW-SE distance
- 0xZZZZ: The NE-SW distance
- 0xWW: Facing direction during walking
- 0xVV: Time to take (units unknown)
|
0x3E
|
8
|
Move character (absolute, units)
|
- 0xXX: Which character to move
- 0xYY: The new NW-SE position
- 0xZZ: The new NE-SW position
- 0xWW[need verification]: Unknown
- 0xVV[need verification]: Unknown
- 0xUUUU: Time to take (units unknown)
|
0x3F
|
4
|
Observed
|
- 0xXX: Unknown
- 0xYY: Unknown
- 0xZZ: Unknown, seems to be incremental
|
0x41
|
4
|
Run character script[need verification]
|
- 0xXX: Which character to move
- 0xYY[need verification]: Unknown
- 0xZZ[need verification]: Unknown
|
0x42
|
4[need verification]
|
Observed, 0x089A7398
|
Parameters unknown
|
0x44
|
5
|
Move character in direction
|
- 0xXX: Which character to move
- 0xYY: Unknown (seems to be a bitfield)
|
0x46
|
4
|
Center camera on character[need verification]
|
- 0xXX: Character to center on[need verification] if Y = 0x00. Values less than 0x0F are invalid in the intro scene
- 0xYY:
- 0x00: Center on character[need verification], observed
- 0xZZ: Unknown (possibly bitfield)
- 0x00: Fast[need verification]
- 0x02: Slow[need verification], observed
|
0x47
|
7
|
Center camera
|
- 0xXXXX: The new x center (pixels[need verification])
- 0xYYYY: The new y center (pixels[need verification])
- 0xZZ[need verification]: Affects speed (possibly a bitfield)
- 0xWW[need verification]: Affects speed
|
0x48
|
2
|
Set map type
|
- 0x00: Cutscene[need verification], observed
- 0x01: Battle[need verification], observed
- 0x02: Pub[need verification]
- 0x03: "Monster farm"[need verification]
|
0x49
|
2
|
Observed
|
|
0x4A
|
1
|
Show battle sprites[need verification]
|
None
|
0x4B
|
2
|
Set background music
|
|
0x4C
|
4
|
Play sound effect
|
- 0xXXXX: Which sound effect to play
- 0xYY: Unknown
|
0x4D
|
5
|
Fade background music
|
- 0xXX: Final volume
- 0xYY: Time to take
- 0xZZ: Unknown
|
0x4E
|
1
|
Observed
|
None
|
0x53
|
3
|
Observed
|
- 0xXXXX[need verification]: Unknown
|
0x54
|
2
|
Set weather effect
|
- 0x00: None[need verification]
- 0x01: Rain
- 0x02: Snow
|
0x57
|
1
|
Unknown
|
None
|
0x58
|
1
|
Unknown
|
None
|
0x5A
|
2
|
Show clip
- Must between 0x57 and 0x58
|
- 0xXX: Which clip[need verification]
- 0x33: "Final Fantasy" book clip
- 0x25: Dissolve map
|
0x5B
|
1
|
End clip[need verification]
|
None
|
0x65
|
2
|
Observed
|
|
0x8C
|
|
Observed
|
|