Values 0x00-0x1F are reserved for special commands, 0x20 is reserved for a space, and the rest refer to normal characters.
The special command values behave as follows:
$00 - End message
$01,$xx - Wait XX frames
$02 - New line
$03,$xx,$yy -
$04,$xx - ???
Next byte is written to $7E0069.
$05,$xx - Set character width, in pixels
If xx is FF, the text will use a dynamic width instead.
$06,$xx,$yy - ???
Stores #$xx to $005B and #$yy to $005D.
$07 : dw $BBAA - ???
Stores #$BBAA to $005F.
$08,$xx - Change text color
Writes XX to the text color settings; format: ----bbff
ff - Foreground text color.
bb - Background text color.
$09,$xx -
$0A - Disable ???
$0B - Enable ???
Toggles $0066.
$0C,$xx,$yy - ???
$0D,$xx - ???
$0E : dl $CCBBAA - Jump to text macro
Changes the text pointer to $CCBBAA. When the end of that text is reached, returns back to the byte after this command.
$0F : dl $CCBBAA -
Not really sure what this is doing, among other things it changes the text pointer to 0077.
$10 : dl $CCBBAA : db $DD - Write 8-bit value to RAM address
Writes #$DD to the RAM address at $CCBBAA.
$11 : dl $CCBBAA : dw $EEDD - Write 16-bit value to RAM address
Writes #$EEDD to the RAM address at $CCBBAA.
$12 - Enable text cursor.
$13 - Disable text cursor.
Toggles the display of the blinking cursor in the bottom right of the text window.
$14 - Enable secondary color.
$15 - Disable secondary color.
Toggles the secondary (i.e. shadow) color of all subsequent characters.
$18,$xx - Write character 1xx.
$19,$xx - Write character 2xx.
Outputs non-standard character tiles.
$1B - Skip 1 byte?
$1D,$xx - ???
Next byte is written to $7E0067.
$1E,$xx - Play song/SFX?
$1F,$xx - Play song/SFX?
Commands $16, $17, $1A, and $1C all appear to be unused and do not do anything.
Edit entry: VWF Text Format