Star Fox/ROM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
(Created page with " {| class="wikitable" |+ Star Fox (USA) (Rev 2) !style="text-align:left;" | Start !style="text-align:left;" | End !style="text-align:left;" | Size !style="text-align:left;" |...")
 
No edit summary
Line 1: Line 1:


{| class="wikitable"
{| class="wikitable"
|+ Star Fox (USA) (Rev 2)
|+ Star Fox (USA) (Rev 2) <br>CRC32: 8FC4E6D0
!style="text-align:left;" | Start
!style="text-align:left;" | Start
!style="text-align:left;" | End
!style="text-align:left;" | End
!style="text-align:left;" | Size
!style="text-align:left;" | Description
!style="text-align:left;" | Description
|-
|-
| <code>00E841</code>
|colspan="3"| ...
|-
| <code>001090</code>
| <code>001340</code>
| bitmap font, 2bpp planer (unused)
|-
|colspan="3"| ...
|-
| <code>00D996</code>
| <code>00E6B5</code>
| bitmap font, 2bpp linear
|-
|colspan="3"| ...
|-
| <code>00F7DB</code>
| <code>00FBD8</code>
| <code>00FBD8</code>
| 5,015
| dialog text
| dialog text
|-
|-
| <code>00FBD9</code>
| <code>00FBD9</code>
| <code>00FCF4</code>
| <code>00FCF4</code>
| 283
| dialog text pointer table
| dialog text pointer table
|-
|colspan="3"| ...
|-
| <code>090000</code>
| <code>0A031F</code>
| tileset, 8bpp linear
|-
|colspan="3"| ...
|-
|-
|}
|}
== Notes ==
Dialog text has prefix of two bytes and <code>0E</code>, and is null-terminated. The first byte is the character that speaks and the second byte is the text color. For example:
<pre>
02 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
</pre>
The character byte's high nibble is usually <code>8</code> (<code>80</code>, <code>81</code>, etc.) but appears in some places as <code>0</code> (<code>00</code>, <code>01</code>, etc.) Not sure yet of the significance of this.
{| class="wikitable"
|+ Character
!style="text-align:left;" | Nibble
!style="text-align:left;" | Character
|-
| <code>0</code>
| Fox
|-
| <code>1</code>
| Peppy
|-
| <code>2</code>
| Falco
|-
| <code>3</code>
| Slippy
|-
| <code>4</code>
| Pepper
|-
| <code>5</code>
| Andross
|-
|}
Color obviously depends on the palette.
Text is mostly ASCII. <code>#</code> is used as a period.

Revision as of 04:27, 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, and is null-terminated. The first byte is the character that speaks and the second byte is the text color. For example:

02 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

The character byte's high nibble is usually 8 (80, 81, etc.) but appears in some places as 0 (00, 01, etc.) Not sure yet of the significance of this.

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