Star Fox/Notes

From Data Crystal
< Star Fox
Revision as of 06:13, 22 November 2017 by Bluephoenix (talk | contribs)
Jump to navigation Jump to search

In-game text (ROM address 00F7DB-00FBD8) has prefix of two bytes and 0E, and is null-terminated. The first byte is the text position and character that speaks. The second byte is the color index for the text.

Example:

82 02 0E 72   6F 6C 6C 2C   20 66 6F 78  ....  6E 20 72 6F   6C 6C 2C 00
^^ \/    ^                                                            ^
||  |    |                                                            |
||  |    start of text                                   null terminator
||  color
|character
|
text position

The text position nibble can be either 0 or 8. 0 vertically aligns the text with the middle of the character picture, and 8 aligns the text to its top.

Effect of position nibble
0 8
 +-------+
 | FALCO | ROLL, FOX!!
 +-------+ ROCK'N ROLL!!
 +-------+ ROLL, FOX!!
 | FALCO | ROCK'N ROLL!!
 +-------+
Characters
Nibble Character
0 Fox
1 Peppy
2 Falco
3 Slippy
4 Pepper
5 Andross


Credit animation sequence - screens are constructed like this: bytes 3 and 4 is position on screen, bytes 11 and 12 is text, bytes beyond 19 is probably timer information?

          POSITIONING                TXT PTR
             -----                   -----                            
6F4AE: d0 07 38 ff b8 0b e4 3e ea fc 2c c9 8c dc 45 3c df fc 0e             8a 3e          74 00 00
6F4C6: d0 07 c8 00 b8 0b e4 3e ea fc 3f c9 8c dc 45 3c df fc 0e 3c f4 fc 20 8a 3e 12 88 13 74 00 00

6F4E5: d0 07 38 ff b8 0b e4 3e ea fc 50 c9 8c dc 45 3c df fc 0e             8a 3e          74 00 00
6F4FD: d0 07 c8 00 b8 0b e4 3e ea fc 59 c9 8c dc 45 3c df fc 0e 3c f4 fc 20 8a 3e 12 88 13 74 00 00

6F51C: d0 07 38 ff b8 0b e4 3e ea fc 6a c9 8c dc 45 3c df fc 0e             8a 3e          74 00 00
6F534: d0 07 c8 00 b8 0b e4 3e ea fc 73 c9 8c dc 45 3c df fc 0e 3c f4 fc 20 8a 3e 12 88 13 74 00 00

6F553: d0 07 38 ff b8 0b e4 3e ea fc 82 c9 8c dc 45 3c df fc 0e             8a 3e          74 00 00
6F56B: d0 07 c8 00 b8 0b e4 3e ea fc 95 c9 8c dc 45 3c df fc 0e 3c f4 fc 20 8a 3e 12 88 13 74 00 00

6F58A: d0 07 a8 fd b8 0b e4 3e ea fc 0c c9 8c dc 45 3c df fc 0e 3c f4 fc 20 8a 3e          74 00 00
6F5A6: d0 07 d4 fe b8 0b e4 e3 ea fc 17 c9 8c dc 45 3c df fc 0e             8a 3e          74 00 00
6F5BE: d0 07 00 00 30 11 e4 e3 ea fc a3 c9 8c dc 45 3c df fc 0e 3c f4 fc 64 8a 3e          74 00 00
6F5DA: d0 07 90 01 30 11 e4 3e ea fc b2 c9 8c dc 45 3c df fc 0e 3c f4 fc 64 8a 3e          74 00 00
6F5F6: d0 07 20 03 30 11 e4 3e ea fc c0 c9 8c dc 45 3c df fc 0e 3c f4 fc 64 8a 3e 12 88 13 74 00 00
...