Message Format

From Terranigma Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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


Commands

A byte is converted to the command opcode like this

( Byte << 1 ) & 0x7F
Opcode Length (byte) Function
0x00 (0xC0) 1 Resets the text frame
0x02 (0xC1) 1 Automatically resizes the text frame
0x04 (0xC2) 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 (0xC4) 1 Enable/Disable text frame
0x0A (0xC5) 1 Wait frames
0x0C (0xC6) 1 Change color: 0:white, 4:yellow
0x0E (0xC7) 2 Control text type sound
Offset Name
0 0xFF Disable, anything else Enable
0x10 (0xC8) 1 Type speed setting
0x12 (0xC9) 1 Fill with spaces
0x14 (0xCA) 3 ?
0x16 (0xCB) 2 ?
0x18 (0xCC) 3 Call text
0x1A (0xCD) 2 displays a value from RAM
0x1C (0xCE) 2 displays an indexed value from RAM
0x1E (0xCF) 1 New line
0x26(0xD3),0x28(0xD4),0x2E(0xD7) 1 Message end
0x2A (0xD5) 1 waits
0x34 (0xDA) 1 clear box
0x38 (0xDC) 1 default(or end change color) color
0x4A (0xE5) 2 Word placeholder, inserts a word from the table at 0x120000
0x4B (0xE6) 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.