Difference between revisions of "Star Fox:ROM map"

From Data Crystal
Jump to navigation Jump to search
(Added Texture Offset Table)
 
(24 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{rommap|game=Star Fox}}
 
{{rommap|game=Star Fox}}
 
{| class="wikitable"
 
{| class="wikitable"
|+ 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
Line 8: Line 7:
 
|colspan="3"| ...
 
|colspan="3"| ...
 
|-
 
|-
| <code>001090</code>
+
| <code>001099</code>
| <code>001340</code>
+
| <code>001341</code>
| bitmap font, 2bpp planer (unused)
+
| bitmap font (unused)
 +
|-
 +
|colspan="3"| ...
 +
|-
 +
| <code>00264b</code>
 +
| <code>00283f</code>
 +
| [[Star Fox:3D Object Index Table|3D Object Index Table]] (2-byte address per entry)
 +
|-
 +
| <code>002840</code>
 +
| <code>002c3f</code>
 +
| [[Star Fox:Object Behavior Index Table|Object Behavior Index Table]] (3-byte address + 1-byte object index per entry)
 +
|-
 +
| <code>002c15</code>
 +
| <code>006900</code>
 +
| [[Star Fox:Object Data|Object Data]] (28-byte struct per entry)
 
|-
 
|-
 
|colspan="3"| ...
 
|colspan="3"| ...
Line 22: Line 35:
 
| <code>00D996</code>
 
| <code>00D996</code>
 
| <code>00E6B5</code>
 
| <code>00E6B5</code>
| bitmap font (used for dialog), 2bpp linear
+
| font (in-game text)
 
|-
 
|-
 
|colspan="3"| ...
 
|colspan="3"| ...
Line 28: Line 41:
 
| <code>00F7DB</code>
 
| <code>00F7DB</code>
 
| <code>00FBD8</code>
 
| <code>00FBD8</code>
| dialog text
+
| in-game text data
 
|-
 
|-
 
| <code>00FBD9</code>
 
| <code>00FBD9</code>
 
| <code>00FCF4</code>
 
| <code>00FCF4</code>
| dialog text pointer table
+
| in-game text pointer table
 
|-
 
|-
 
|colspan="3"| ...
 
|colspan="3"| ...
 
|-
 
|-
| <code>090000</code>
+
|<code>010000</code>
| <code>0A031F</code>
+
|<code>017FFF</code>
| tileset, 8bpp linear
+
| [[Star Fox:Material Data|Material Data]]
 +
|-
 +
|<code>018000</code>
 +
|<code>018917</code>
 +
| [[Star Fox:Material Data|Animated Material Data]]
 +
|-
 +
|<code>018918</code>
 +
|<code>018997</code>
 +
| [[Star Fox:Material Data|Texture Offset Table]]
 +
|-
 +
|<code>018ACA</code>
 +
|<code>018AE9</code>
 +
| Space Palette (2-bytes per entry, 16 entries)
 +
|-
 +
|<code>018AEA</code>
 +
|<code>018B09</code>
 +
| Night Palette (2-bytes per entry, 16 entries)
 +
|-
 +
|<code>018B0A</code>
 +
|<code>018B2A</code>
 +
| Day Palette (2-bytes per entry, 16 entries)
 +
|-
 +
|colspan="3"| ...
 +
|-
 +
|<code>018B8A</code>
 +
|<code>018E09</code>
 +
| Dynamic Colors (1-byte per entry, 32 entries per shade, 20 shades)
 +
|-
 +
|<code>018E0A</code>
 +
|<code>018F99</code>
 +
| Lighting Colors (1-byte per entry, 10 entries per color, 10 colors per shade, 4 shades)
 
|-
 
|-
 
|colspan="3"| ...
 
|colspan="3"| ...
 
|-
 
|-
| <code>0A3EDA</code>
+
|<code>01D440</code>
| <code>0A48DA</code>
+
|<code>01D63F</code>
| bitmap font (Nintendo presents, credits?), 2bpp planer
+
| 256-Color Palette (2-bytes per entry, 256 entries)
 
|-
 
|-
 
|colspan="3"| ...
 
|colspan="3"| ...
 
|-
 
|-
| <code>0BB7A4</code>
+
|<code>028000</code>
| <code>0BE523</code>
+
|<code>02803F</code>
| talking characters, 4bpp linear 4x5 blocks
+
| [[Star Fox:Level Index Table|Level Index Table]] (3-byte address per entry)
 +
|-
 +
|<code>028040</code>
 +
|<code>02FFFF</code>
 +
| [[Star Fox:Level Data|Level Data]] (Page 1)
 +
|-
 +
|<code>068000</code>
 +
|<code>06FFFF</code>
 +
| [[Star Fox:Level Data|Level Data]] (Page 2)
 
|-
 
|-
 
|colspan="3"| ...
 
|colspan="3"| ...
 
|-
 
|-
|}
+
| <code>~06F4AE</code>
 
+
| <code>~06F7D7</code>
== Notes ==
+
| end credits sequence
 
+
|-
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:
+
|colspan="3"| ...
 
 
<pre>
 
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
 
</pre>
 
 
 
The text position nibble can be either <code>0</code> or <code>8</code>. <code>0</code> vertically aligns the text with the middle of the character picture, and <code>8</code> aligns the text to its top.
 
 
 
{| class="wikitable"
 
|+ Effect of position nibble
 
! <code>0</code>
 
! <code>8</code>
 
 
|-
 
|-
|<pre> +-------+
+
| <code>090000</code>
| FALCO | ROLL, FOX!!
+
| <code>09FFFF</code>
+-------+ ROCK'N ROLL!!</pre>
+
| Texture Data (4-bits per entry, 1 entry per page, 2 pages per pixel, 256 pixels per row, 256 rows)
|<pre> +-------+ ROLL, FOX!!
 
| FALCO | ROCK'N ROLL!!
 
+-------+</pre>
 
 
|-
 
|-
|}
+
|colspan="3"| ...
 
 
{| class="wikitable"
 
|+ Characters
 
!style="text-align:left;" | Nibble
 
!style="text-align:left;" | Character
 
 
|-
 
|-
| <code>0</code>
+
| <code>0A3EDA</code>
| Fox
+
| <code>0A48D9</code>
 +
| end credits font
 
|-
 
|-
| <code>1</code>
+
| <code>0A48DA</code>
| Peppy
+
| <code>A4E25</code>
 +
| end credits text data
 
|-
 
|-
| <code>2</code>
+
|colspan="3"| ...
| Falco
 
 
|-
 
|-
| <code>3</code>
+
| <code>0BB7A4</code>
| Slippy
+
| <code>0BE523</code>
 +
| Character [[Star Fox:Graphics Data|Graphics Data]]
 
|-
 
|-
| <code>4</code>
+
|colspan="3"| ...
| Pepper
 
 
|-
 
|-
| <code>5</code>
+
| <code>0C0000</code>
| Andross
+
| <code>0EFFFF</code>
 +
| SPC700 [[Star Fox:Audio Data|Audio Data]]
 
|-
 
|-
 
|}
 
|}
 
Color obviously depends on the palette.
 
 
Text is mostly ASCII. <code>#</code> is used as a period.
 
  
 
{{Internal Data|game=Star Fox}}
 
{{Internal Data|game=Star Fox}}

Latest revision as of 17:24, 15 February 2020

Start End Description
...
001099 001341 bitmap font (unused)
...
00264b 00283f 3D Object Index Table (2-byte address per entry)
002840 002c3f Object Behavior Index Table (3-byte address + 1-byte object index per entry)
002c15 006900 Object Data (28-byte struct per entry)
...
0075C0 007FDF SNES Header (reference)
...
00D996 00E6B5 font (in-game text)
...
00F7DB 00FBD8 in-game text data
00FBD9 00FCF4 in-game text pointer table
...
010000 017FFF Material Data
018000 018917 Animated Material Data
018918 018997 Texture Offset Table
018ACA 018AE9 Space Palette (2-bytes per entry, 16 entries)
018AEA 018B09 Night Palette (2-bytes per entry, 16 entries)
018B0A 018B2A Day Palette (2-bytes per entry, 16 entries)
...
018B8A 018E09 Dynamic Colors (1-byte per entry, 32 entries per shade, 20 shades)
018E0A 018F99 Lighting Colors (1-byte per entry, 10 entries per color, 10 colors per shade, 4 shades)
...
01D440 01D63F 256-Color Palette (2-bytes per entry, 256 entries)
...
028000 02803F Level Index Table (3-byte address per entry)
028040 02FFFF Level Data (Page 1)
068000 06FFFF Level Data (Page 2)
...
~06F4AE ~06F7D7 end credits sequence
...
090000 09FFFF Texture Data (4-bits per entry, 1 entry per page, 2 pages per pixel, 256 pixels per row, 256 rows)
...
0A3EDA 0A48D9 end credits font
0A48DA A4E25 end credits text data
...
0BB7A4 0BE523 Character Graphics Data
...
0C0000 0EFFFF SPC700 Audio Data


Internal Data for Star Fox

ROM MapRAM MapText TableNotesTutorials