Messages are parsed bytewise, if the 8th bit is set it is a special CMD.
Commands
A byte is converted to the CMD 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
|
|
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
|
Ö
|
0x5F
|
ß
|
0x60
|
?
|
0x61
|
(
|
0x62
|
)
|
0x6D
|
!
|
0x6E
|
,
|
0x6F
|
:
|
0x76
|
\
|
0x77
|
=
|
0x7C
|
-
|
0x7F
|
.
|
The other values are converted by adding 0x20 to them.