Star Fox/Notes: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
m (addes notes)
m (Xkeeper moved page Star Fox:Notes to Star Fox/Notes: normalize subpages and titles)
 
(No difference)

Latest revision as of 02:42, 24 January 2024

Chip tiny.png The following article is a Notes Page for Star Fox.

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

Scoring screen after defeating boss

ROM Position   Desc
16BA9 - pointer to "peppy"
16BAB - pointer to "falco"
16BAD - pointer to "slippy"
16BAF - adjust position of "peppy"
16BB1 - adjust position of "falco"
16BB3 - adjust position of "slippy"
16BB5 - adjust position of peppy's "is down"
16BB7 - adjust position of falco's "is down"
16BB9 - adjust position of slippy's "is down"
16BBB - adjust x position of peppy image
16BBC - adjust y position of peppy image
16BBD - adjust x position falco image
16BBE - adjust y position falco image
16BBF - adjust x position slippy image
16BC0 - adjust y position slippy image

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
...