The current URL is datacrystal.tcrf.net.
Dragon Warrior IV (NES)/ROM map
The following article is a ROM map for Dragon Warrior IV (NES).
This page is rather stubbly and could use some expansion. Are you a bad enough dude to rescue this article? |
Bank 08: (20000)
- $8229 = Table with three possible base addresses for graphics tile data
- Value 0x8000 (used with ROM bank 0C)
- Value 0x7F01 (used with ROM bank 0D)
- Value 0x9E14 (used with ROM bank 0D)
- Memory around $8B9B (find this): Tile Numbers (TODO)
- Tile Numbers:
- Byte 0: yyyAAXXX
- Byte 1: xxxxxxxx
- yyy = Smoothing flags for front-facing tiles
- AA = Attribute data (which Color palette to use)
- XXXxxxxxxxx Tile number (Used as index into table $A80D)
- $A80D = Table of tiles, three bytes per entry
- Byte 0: Low byte of physical tile number
- Byte 1: AAAABBCC
- AAAA = ??? Flags for which VRAM tiles are unique or duplicated
- BB = Which graphics page to read the tile graphics from
- CC = High two bits of physical tile number
- Byte 2: Tile Behavior (empty space, walls, water, stairs, etc...) See: Tile Behavior
Multiply Physical Tile Number by 16, add Base Address from table $8229 depending on graphic page value. ($8000, $7F01, or $9E14), choose either Rom Bank 0C or 0D. That gives the source address of the tile graphics.
TODO: Maps between 2D 09 (Aktemto Submap 09) and 45 05 (Necrosaro's Palace Submap 05) are stored on this bank
Bank 09: (24000)
TODO: Maps Between 00 (Keeleon) and 2D 08 (Aktemto Submap 08) are stored on this bank
Bank 0A: (28000)
TODO: Maps between 45 06 (Necrosaro's Palace Submap 05) and 48 (Shrine of Colossus) are stored on this bank
Bank 0C: (30000)
- $8000: Map Tile Graphics. Used when the game wants the tile graphics from page 0
Bank 0D: (34000)
- $8001: Map Tile graphics. Used when the game wants tile graphics from page 1
- $9F14: Map Tile graphics. Used when the game wants tile graphics from page 2
- $B304: Character sprite graphics
- $BE44: Empty space
- $BFD4: End of empty space, some other code or data
Bank 0E: (38000)
- $8097: Character sprite graphics
- $BAD7: end of character sprite graphics, some other code or data
Bank 17: (5C000)
Maps 0x00-0x48 are defined. See Map List
There are two variables used to look up map numbers: Main Map Number ($63), and Submap Number ($64). Submaps include upstairs areas or different floors of a dungeon.
- $B08D-$B11F: Pointer Table for Map Information. Points to a 3-byte Map Information Data entry. Add 3 * Submap Number to the address to select a Submap instead.
- $B121-$B4AE: Map Information data. There is one entry per submap, and after the last entry, there is an FF byte separator.
- Byte 0: Tileset Number
- Byte 1,2: Map Data Address (low byte then high byte)