Difference between revisions of "Star Fox:ROM map"

From Data Crystal
Jump to navigation Jump to search
Line 40: Line 40:
 
== Notes ==
 
== Notes ==
  
Dialog text has prefix of two bytes and <code>0E</code>, 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. For example:  
+
Dialog text has prefix of two bytes and <code>0E</code> (what is its purpose?), 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. For example:  
  
 
<pre>
 
<pre>

Revision as of 02:04, 4 November 2017

Star Fox (USA) (Rev 2)
CRC32: 8FC4E6D0
Start End Description
...
001090 001340 bitmap font, 2bpp planer (unused)
...
00D996 00E6B5 bitmap font, 2bpp linear
...
00F7DB 00FBD8 dialog text
00FBD9 00FCF4 dialog text pointer table
...
090000 0A031F tileset, 8bpp linear
...

Notes

Dialog text has prefix of two bytes and 0E (what is its purpose?), 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. For 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

Color obviously depends on the palette.

Text is mostly ASCII. # is used as a period.