The current URL is datacrystal.tcrf.net.
Blaster Master/ROM map: Difference between revisions
(Created article, most info from documentation on romhacking.net.) |
(fixed bad link) |
||
Line 1: | Line 1: | ||
{{rommap|game=Blaster Master}} | {{rommap|game=Blaster Master}} | ||
The corresponding [http://www.datacrystal.org/wiki/Blaster_Master: | The corresponding [http://www.datacrystal.org/wiki/Blaster_Master:RAM_Map RAM Map]. | ||
<br> | <br> | ||
<br> | <br> |
Revision as of 14:23, 9 June 2010
The following article is a ROM map for Blaster Master.
The corresponding RAM Map.
Offsets are for a headerless ROM. To get the offset for a headered ROM (.nes) file, add 0x10 (16 in decimal) to the offset.
This ROM map covers the entire first 16k bank. All listed entries are contiguous. The size of each data entry can be calculated by subtracting the next offset by
the former offset. Data strucutres are described at Data Strucutres
Note that because the game references data via pointers, the layout of level data doesn't necessarily need to be
in a consistent order. Note that Level 2's combo attribute data comes after the scroll map whereas in each other level
the combo attribute data comes before the scroll map. In theory the data for all of the levels within a single bank could be intermixed, though
this would be impractical.
Banks
The first three banks contain map data for a number of levels each. Enemy/object data for all levels is contained in bank 3. Map data for each level, both overhead and tank levels, is in the same format, and each of the first three banks is laid out in a similar fashion.
Bank | Offset | Data |
---|---|---|
0 | 0x00000 | Tank Levels 1 - 5 |
1 | 0x04000 | Tank Levels 6 - 8, Overhead levels 1 and 3 |
2 | 0x08000 | Overhead Levels 2 and 6 - 8 |
3 | 0x0C000 | Enemy/Object data and other |
Level Pointers
Offset | Description |
---|---|
0000 | Level 1 map data pointer |
0002 | Level 1 map scroll data pointer |
0004 | Level 2 map data pointer |
0006 | Level 2 map scroll data pointer |
0008 | Level 3 map data pointer |
000A | Level 3 map scroll data pointer |
000C | Level 4 map data pointer |
000E | Level 4 map scroll data pointer |
0010 | Level 5 map data pointer |
0012 | Level 5 map scroll data pointer |
Level 1
Offset | Description |
---|---|
0014 | Map pointers |
0020 | Bg Palette |
0030 | Combos (count = 0x9A) |
0298 | Structures (count = 0xF4) |
0668 | Blocks (count = CB) |
0994 | Map |
0D94 | Combo attributes (count = 0x9A) |
0E2E | Scroll map |
Level 2
Offset | Description |
---|---|
0E3E | Map pointers |
0E4A | Bg palette |
0E5A | Combos (count = 0x98) |
10BA | Strucutres (count = 0x8E) |
12F2 | Blocks (count = 0xA0) |
1572 | Map |
1972 | Scroll map |
1982 | Combo attributes (count = 0x98) |
Level 3
Offset | Description |
---|---|
1A1A | Map pointers |
1A26 | Bg palette |
1A36 | Combos (count = 0x79) |
1C1A | Strucutres (count = 0x80) |
1E1A | Blocks (count = 0xB3) |
20E6 | Map |
24E6 | Combo attributes (count = 0x79) |
255F | Scroll map |
Level 4
Offset | Description |
---|---|
256F | Map pointers |
257B | Bg palette |
258B | Combos (count = 0x83) |
2797 | Structures (count = 0xB6) |
2A6F | Blocks (count = 0x9E) |
2CE7 | Map |
30E7 | Combo attributes (count = 0x83) |
316A | Scroll map |
Level 5
Offset | Description |
---|---|
317A | Map pointers |
3186 | Bg palette |
3196 | Combos (count = 0x82) |
339E | Structures (count = 0x9F) |
361A | Blocks (count = 0xB8) |
38FA | Map |
3CFA | Combo attributes (count = 0x82) |
3D7C | Scroll map |
End of Bank
Offset | Description |
---|---|
3D8C | Unknown. Zero-ing out 0x3D8C to 0x3FFF does not appear to affect the game. |
4000 | BANK: Bank 1 |