Message Format

From Terranigma Wiki
Revision as of 12:09, 20 February 2016 by Crediar (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Messages are parsed bytewise, if the 8th bit is set it is a special command.


A byte is converted to the command opcode like this

( Byte << 1 ) & 0x7F
Opcode Length (byte) Function
0x00 1 Resets the text frame
0x02 1 Automatically resizes the text frame
0x04 6 Text frame settings
Offset Name
0 Position X
1 Position Y
2 Offset in VRAM to GFX?
3 Sprite offset in VRAM?
4 Draws on the BG when changed?
0x08 2
Offset Name
0 Enable/Disable text frame
0x0E 2 Control text type sound
Offset Name
0 0xFF Disable, anything else Enable
0x10 2 Control text type speed
Offset Name
0 Type speed setting
0x1A 2 displays a value from RAM
0x1E 1 New line
0x2A 1 waits
0x26,0x28,0x2E 1 Message end
0x4A 2 Word placeholder, inserts a word from the table at 0x120000

Non-Command Bytes

Value Char
0x20 (space)
0x3B ü
0x3C ä
0x3D Ä
0x3E ö
0x3F Ö
0x5B Ü
0x5D ¿
0x5E ¡
0x5F ß
0x60  ?
0x61 (
0x62 )
0x6D  !
0x6E ,
0x6F  :
0x76 \
0x77 =
0x7B +
0x7C -
0x7E &
0x7F .

The other values are converted by adding 0x20 to them.

Personal tools