Dragon Warrior IV:ROM map: Difference between revisions
Jump to navigation
Jump to search
(Created page with "{{rommap|game=Dragon Warrior IV}} {{stub}} ===Bank 08: (20000)=== *$8229 = Table with three possible base addresses for graphics tile data ** Value 0x8000 (used with ROM ban...") |
No edit summary |
||
Line 11: | Line 11: | ||
*Tile Numbers: | *Tile Numbers: | ||
** Byte 0: | ** Byte 0: yyyAAXXX | ||
** Byte 1: xxxxxxxx | ** Byte 1: xxxxxxxx | ||
*** yyy = Smoothing flags for front-facing tiles | *** yyy = Smoothing flags for front-facing tiles | ||
*** AA = Attribute data (which Color palette to use) | *** 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 | *$A80D = Table of tiles, three bytes per entry | ||
Line 27: | Line 27: | ||
Multiply Physical Tile Number by 16, add Base Address from table $8229 depending on graphic page value. ($8000, $7F01, or $8E14), choose either Rom Bank 0C or 0D. That gives the source address of the tile graphics. | Multiply Physical Tile Number by 16, add Base Address from table $8229 depending on graphic page value. ($8000, $7F01, or $8E14), choose either Rom Bank 0C or 0D. That gives the source address of the tile graphics. | ||
==Bank 0C: (30000)=== | ===Bank 0C: (30000)=== | ||
* $8000: Map Tile Graphics. Used when the game wants the tile graphics from page 0 | * $8000: Map Tile Graphics. Used when the game wants the tile graphics from page 0 | ||
==Bank 0D: (34000)=== | ===Bank 0D: (34000)=== | ||
* $8001: Map Tile graphics. Used when the game wants tile graphics from page 1 | * $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 | * $9F14: Map Tile graphics. Used when the game wants tile graphics from page 2 | ||
Line 35: | Line 35: | ||
* $BE44: Empty space | * $BE44: Empty space | ||
* $BFD4: End of empty space, some other code or data | * $BFD4: End of empty space, some other code or data | ||
==Bank 0E: (38000)=== | ===Bank 0E: (38000)=== | ||
* $8097: Character sprite graphics | * $8097: Character sprite graphics | ||
* $BAD7: end of character sprite graphics, some other code or data | * $BAD7: end of character sprite graphics, some other code or data |
Revision as of 18:32, 2 April 2021
The following article is a ROM map for Dragon Warrior IV.
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: Dragon_Warrior_IV/Tile_Behaviors
Multiply Physical Tile Number by 16, add Base Address from table $8229 depending on graphic page value. ($8000, $7F01, or $8E14), 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