If you are still using the old URL (datacrystal.romhacking.net), please update your bookmarks! The old URL may stop working soon.
The current URL is datacrystal.tcrf.net.
The current URL is datacrystal.tcrf.net.
Dragon Warrior IV (NES)/ROM map
Jump to navigation
Jump to search
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.
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)