Users browsing this thread: 1 Guest(s)
About the routine text from right to left(RTL)
I wanted to add last night that the main entry point for dialogue display and decoding seems to be $C0814C. There are call to code before and after this offset. Here is also some RAM values from the FF6 wiki that could help:
Code:
$BA-$BC Dialog Window
---------------------
$BA Enable Dialog Window ($01 = open, $80 = close)
$BB Dialog Window Size ($00: smallest, $05: fully open)
$BC Dialog Window Top Y Position ($01: top, $12: bottom)
$BD-$D3 Dialog Text
-------------------
$BD Current Dialog Character
$BE Next Dialog Character
$BF Text's Current X Position on Dialog Window ($04-$E0)
$C0 Width of Current Word
+ $C1 Pointer to Next Tile in VRAM (+$3800)
+ $C3 Pointer to Current Tile in VRAM (+$3800)
$C5 Text Graphics Needs to be Copied to VRAM
+ $C6 Unused (set to #$0700)
$C8 Max X Position on Dialog Window (always $E0?)
++ $C9 Pointer to Current Dialog Character
$CC current region of dialog window that needs to be cleared in VRAM (starts at 9, decrements once per frame)
9 = none, waiting for keypress
+-----------+-----------+
| 8 | 7 |
+-----------+-----------+
| 6 | 5 |
+-----------+-----------+
| 4 | 3 |
+-----------+-----------+
| 2 | 1 |
+-----------+-----------+
0 = none, no text displayed (or map name displayed)
+ $CD Character to Display (top byte is for extra characters from FF6j)
$CF eppppppp
e: text buffer is empty
p: dialog text buffer position (+$7E9183)
+ $D0 Dialog Index
$D2 -
$D3 Keypress State (decrements when button is pressed or released)
0 = not waiting for keypress
1 = waiting for keypress
2 = waiting for key release
« Next Oldest | Next Newest »
|
||||
Users browsing this thread: 1 Guest(s)