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/RAM map: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
(removed values, started basic table formatting) |
||
(22 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
{{rammap | {{rammap}} | ||
{{stub}} | |||
=Main= | |||
{| | {| class="wikitable" | ||
| | |- | ||
! RAM !! Function !! Details | |||
|- | |||
| 0x000E || Unused | |||
|- | |||
| 0x0011 || Map horizontal offset || Modifying this offset seems to shift map tiles horizontally? | |||
|- | |||
| 0x0012 || Map load information || Modifying this causes other maps to load entirely, but does not impact NPCs | |||
|- | |||
| 0x0013-14 || Tiles, linked || Both bytes are always the same and differ on each map. Setting the bytes to 9 will cause the world map to become entirely water. | |||
|- | |||
| 0x0015 || Exterior Tile || Changing this changes the tile that is displayed on the border of maps. 0 is grass, 15 is water, 16 in caves, 21 in the throne room | |||
|- | |||
| 0x0016 || Terrain Offset || $20 for caves, $10 for most towns, $00 for world map. | |||
The game uses this to determine which slate of background "squares" is utilized by the current area map. | |||
|- | |||
| 0x0037 || A-reg value stored here during BRK interrupt. | |||
|- | |||
| 0x0038 || X-reg value stored here during BRK interrupt. | |||
|- | |||
| 0x0039 || Y-reg value stored here during BRK interrupt. | |||
|- | |- | ||
| 0x003A || Player X Position || X position on current map. Map not redrawn on direct change. | | 0x003A || Player X Position || X position on current map. Map not redrawn on direct change. | ||
Line 11: | Line 33: | ||
| 0x003E || Player V-position on Overworld Map || #00 = Horizontal Strip two rows north of Garinham. | | 0x003E || Player V-position on Overworld Map || #00 = Horizontal Strip two rows north of Garinham. | ||
|- | |- | ||
| 0x0042 || Player H-position on Overworld Map || #00 = | | 0x0042 || Player H-position on Overworld Map || #00 = Vertical Strip two columns west of Garinham. | ||
|- | |||
| 0x0045 || Map ID || | |||
{| border="1" cellpadding="1" | |||
| '''Value''' || '''Map''' || || '''Value''' || '''Map''' | |||
|- | |||
| 01 || World Map || || 10 || Dragonlord B2 | |||
|- | |||
| 02 || Charlock Castle || || 11 || Dragonlord B3 | |||
|- | |||
| 03 || Ruins of Hauksness || || 12 || Dragonlord B4 | |||
|- | |||
| 04 || Tantegel Castle || || 13 || Dragonlord B5 | |||
|- | |||
| 05 || Throne Room || || 14 || Dragonlord B6 | |||
|- | |||
| 06 || Dragonlord's Lair || || 15 || Swamp Cave | |||
|- | |||
| 07 || Kol || || 16 || Mountain Cave B1 | |||
|- | |||
| 08 || Breconary || || 17 || Mountain Cave B2 | |||
|- | |||
| 09 || Garinham || || 18 || Garin's Grave B1 | |||
|- | |||
| 0A || Cantlin || || 19 || Garin's Grave B2 | |||
|- | |||
| 0B || Rimuldar || || 1A || Garin's Grave B3 | |||
|- | |||
| 0C || Sun Shrine || || 1B || Garin's Grave B4 | |||
|- | |||
| 0D || Rain Shrine || ||1C || Erdrick's Cave B1 | |||
|- | |||
| 0E || Magic Temple || || 1D || Erdrick's Cave B2 | |||
|- | |||
| 0F || Dragonlord B1 || || || | |||
|- | |||
|} | |||
|- | |- | ||
| 0x0047 || Button(s) pressed || Uses binary processing. Here are the values: | | 0x0047 || Button(s) pressed || Uses binary processing. Here are the values: | ||
Line 30: | Line 89: | ||
|- | |- | ||
| 0x004F || Countup Clock on Overworld || Activates small status window in upper-left corner when player doesn't move. | | 0x004F || Countup Clock on Overworld || Activates small status window in upper-left corner when player doesn't move. | ||
|- | |||
| 0x0050 || Countup Clock (to what?) || Increments by #08. | |||
|- | |||
| 0x0051-8C || Series of twenty, three-byte segments for NPC's (townsfolk, guards, etc.):|| | |||
{| border="1" cellpadding="1" | |||
| '''Byte/Bits''' || '''Controls''' || '''Data''' | |||
|- | |||
| 1, d7-d5 || NPC Type || 000 = Man; 001 = Red Soldier; 010 = Grey Soldier; 011 = Merchant; 100 = King; 101 = Old Man; 110 = Woman; 111 = Stationary Guard | |||
|- | |||
| 1, d4-d0 || x-pos || simple grid coords | |||
|- | |||
| 2, d7 || frame? || | |||
|- | |||
| 2, d6-d5 || Direction Faced || 00 = north; 01 = east; 10 = south; 11 = west | |||
|- | |||
| 2, d4-d0 || y-pos || simple grid coords | |||
|- | |||
| 3, all bits? || movement || | |||
|- | |||
|} | |||
|- | |- | ||
| 0x0090-91 || Player X Position (Sprite) || Increments of 0x10 for major position. Relates to NPCs. Should match with 0x003A to ensure NPCs are in correct location on the map. | | 0x0090-91 || Player X Position (Sprite) || Increments of 0x10 for major position. Relates to NPCs. Should match with 0x003A to ensure NPCs are in correct location on the map. | ||
Line 37: | Line 118: | ||
| 0x0094-95 || Random Number generator state || 0x95 is used for the random value; influenced by 0x94. | | 0x0094-95 || Random Number generator state || 0x95 is used for the random value; influenced by 0x94. | ||
|- | |- | ||
| 0x00BA-BB || Experience || Raw experience amount. Level and other stats are generated from this value (eventually reverting changes | | 0x00BA-BB || Experience || Raw experience amount. Level and other stats are generated from this value (eventually reverting changes within 0x00C5-CD) | ||
|- | |- | ||
| 0x00BC-BD || Gold || Gold | | 0x00BC-BD || Gold || Gold | ||
|- | |||
| 0x00BE || Equipment || This byte contains your current equipment. It's compiled from the three values for your sword, your armor, and your shield. Values are below. | |||
|- | |- | ||
| 0x00BF || Magic Keys || Set $00-$0A for that amount of keys. $0A will not show a number. $0B=1, $0C=2, etc. | | 0x00BF || Magic Keys || Set $00-$0A for that amount of keys. $0A will not show a number. $0B=1, $0C=2, etc. | ||
Line 103: | Line 186: | ||
|- | |- | ||
| 0x00CF || More Spells || | | 0x00CF || More Spells / Quest Progress || This byte is used for the last two spells, two plot events, and four equipment pieces. | ||
{| border="1" cellpadding="1" | {| border="1" cellpadding="1" | ||
Line 111: | Line 194: | ||
|- | |- | ||
| *2 || Hurtmore | | *2 || Hurtmore | ||
|- | |||
| *4 || Secret Stairs in Dragonlord's Castle | |||
|- | |||
| *8 || Rainbow Bridge Constructed | |||
|- | |||
| *16 || Dragon's Scale Equipped | |||
|- | |||
| *32 || Fighter's Ring Equipped | |||
|- | |||
| *64 || Cursed Belt Equipped | |||
|- | |||
| *128 || Death Necklace Equipped | |||
|- | |- | ||
|} | |} | ||
Line 119: | Line 214: | ||
| 0x00d8 || Menu horiz ptr || Horizontal position pointer for battle menu | | 0x00d8 || Menu horiz ptr || Horizontal position pointer for battle menu | ||
|- | |- | ||
| | | 0x00d9 || Menu vert ptr || Vertical position pointer for battle menu | ||
|- | |- | ||
| 0x00da || Light timer || Set by Radiant spell and counts down. When it reaches 0, light radius is decreased. | | 0x00da || Light timer || Set by Radiant spell and counts down. When it reaches 0, light radius is decreased. | ||
|- | |- | ||
| 0x00e2 || Enemy HP | | 0x00db || Repel timer || Set by Repel spell to FF and counts down by 2. When it reaches 0, repel wears off. | ||
|- | |||
| 0x00DF || Quest / Combat Progress? || 1-bit = rescued princess, 2-bit = returned princess, 8-bit = left the first room. If you are asleep in combat, the 128-bit is set. When you wake up, it is cleared. 16-bit, 32-bit, 64-bit, 128-bit all cleared when you enter combat. | |||
|- | |||
| 0x00e0 || Terrain / Enemy pointer || In battle, is a pointer to the current enemy type. Out of battle, is a pointer to the current terrain type. Enemy list below. | |||
|- | |||
| 0x00e2 || Enemy HP || Does not get reset after battle. | |||
|- | |||
| 0x00e4 || Quest Progress || 2-bit = killed Golem, 4-bit = killed Dragonlord, 64-bit = killed Green Dragon | |||
|- | |- | ||
| 0x00e6-e7 || Music Track 1 position || Pointer | | 0x00e6-e7 || Music Track 1 position || Pointer | ||
|- | |- | ||
| 0x00ea-eb || Music Track 2 position || | | 0x00ea-eb || Music Track 2 position || Pointer | ||
|- | |- | ||
| 0x00f4 || Music note delay timer (drum/track 1) || rowspan=2 | Timers for two independent music sources. If set to 00, that track is paused. | | 0x00f4 || Music note delay timer (drum/track 1) || rowspan=2 | Timers for two independent music sources. If set to 00, that track is paused. | ||
Line 135: | Line 238: | ||
| 0x00fc || Music tempo || 00=off, ff=full | | 0x00fc || Music tempo || 00=off, ff=full | ||
|- | |- | ||
| 0x0112-1CF || Unused stack space | |||
|- | |||
| 0x0200-2FF || OAM (sprite table) | |||
|- | |||
| 0x0400-7BF || Copy of UI/Text layer | |||
|- | |||
| 0x6002 || CHR-ROM page 0 (background) || 00 = Title Screen; 01; Everything Else | |||
|- | |||
| 0x6003 || CHR-ROM page 1 (sprites) || 02 = Non-Battle; 03 = In-Battle | |||
|} | |} | ||
=Related= | |||
<br> | <br> | ||
{{ | {{Internal Data}} |
Latest revision as of 03:53, 25 May 2024
The following article is a RAM map for Dragon Warrior.
This page is rather stubbly and could use some expansion. Are you a bad enough dude to rescue this article? |
Main
RAM | Function | Details | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x000E | Unused | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x0011 | Map horizontal offset | Modifying this offset seems to shift map tiles horizontally? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x0012 | Map load information | Modifying this causes other maps to load entirely, but does not impact NPCs | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x0013-14 | Tiles, linked | Both bytes are always the same and differ on each map. Setting the bytes to 9 will cause the world map to become entirely water. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x0015 | Exterior Tile | Changing this changes the tile that is displayed on the border of maps. 0 is grass, 15 is water, 16 in caves, 21 in the throne room | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x0016 | Terrain Offset | $20 for caves, $10 for most towns, $00 for world map.
The game uses this to determine which slate of background "squares" is utilized by the current area map. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x0037 | A-reg value stored here during BRK interrupt. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x0038 | X-reg value stored here during BRK interrupt. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x0039 | Y-reg value stored here during BRK interrupt. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x003A | Player X Position | X position on current map. Map not redrawn on direct change. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x003B | Player Y Position | Y position on current map. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x003E | Player V-position on Overworld Map | #00 = Horizontal Strip two rows north of Garinham. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x0042 | Player H-position on Overworld Map | #00 = Vertical Strip two columns west of Garinham. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x0045 | Map ID |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x0047 | Button(s) pressed | Uses binary processing. Here are the values:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x004F | Countup Clock on Overworld | Activates small status window in upper-left corner when player doesn't move. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x0050 | Countup Clock (to what?) | Increments by #08. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x0051-8C | Series of twenty, three-byte segments for NPC's (townsfolk, guards, etc.): |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x0090-91 | Player X Position (Sprite) | Increments of 0x10 for major position. Relates to NPCs. Should match with 0x003A to ensure NPCs are in correct location on the map. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x0092-93 | Player Y Position (Sprite) | Increments of 0x10 for major position. Relates to NPCs. Should match with 0x003B to ensure NPCs are in correct location on the map. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x0094-95 | Random Number generator state | 0x95 is used for the random value; influenced by 0x94. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00BA-BB | Experience | Raw experience amount. Level and other stats are generated from this value (eventually reverting changes within 0x00C5-CD) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00BC-BD | Gold | Gold | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00BE | Equipment | This byte contains your current equipment. It's compiled from the three values for your sword, your armor, and your shield. Values are below. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00BF | Magic Keys | Set $00-$0A for that amount of keys. $0A will not show a number. $0B=1, $0C=2, etc. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00C0 | Amount of Herbs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00C1-0x00C4 | Items | Each nybble represents an item for a total of 8 items (not counting Magic Keys) in your inventory:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00C5 | Player HP | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00C6 | Player MP | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00C7 | Player LV | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00C8 | Player Strength | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00C9 | Player Agility | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00CA | Player Max HP | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00CB | Player Max MP | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00CC | Player Attack Power | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00CD | Player Defense Power | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00CE | Spells | Uses binary processing. Here are the values:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00CF | More Spells / Quest Progress | This byte is used for the last two spells, two plot events, and four equipment pieces.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00d0 | Light radius | Used to determine vision within dungons. Valid values are 01, 03, 05, 07. Can be set to 16, but values that high don't necessarily update the screen outside the centered 7x7 grid. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00d8 | Menu horiz ptr | Horizontal position pointer for battle menu | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00d9 | Menu vert ptr | Vertical position pointer for battle menu | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00da | Light timer | Set by Radiant spell and counts down. When it reaches 0, light radius is decreased. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00db | Repel timer | Set by Repel spell to FF and counts down by 2. When it reaches 0, repel wears off. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00DF | Quest / Combat Progress? | 1-bit = rescued princess, 2-bit = returned princess, 8-bit = left the first room. If you are asleep in combat, the 128-bit is set. When you wake up, it is cleared. 16-bit, 32-bit, 64-bit, 128-bit all cleared when you enter combat. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00e0 | Terrain / Enemy pointer | In battle, is a pointer to the current enemy type. Out of battle, is a pointer to the current terrain type. Enemy list below. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00e2 | Enemy HP | Does not get reset after battle. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00e4 | Quest Progress | 2-bit = killed Golem, 4-bit = killed Dragonlord, 64-bit = killed Green Dragon | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00e6-e7 | Music Track 1 position | Pointer | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00ea-eb | Music Track 2 position | Pointer | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00f4 | Music note delay timer (drum/track 1) | Timers for two independent music sources. If set to 00, that track is paused. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00f8 | Music note delay timer (flute/track 2) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x00fc | Music tempo | 00=off, ff=full | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x0112-1CF | Unused stack space | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x0200-2FF | OAM (sprite table) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x0400-7BF | Copy of UI/Text layer | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x6002 | CHR-ROM page 0 (background) | 00 = Title Screen; 01; Everything Else | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x6003 | CHR-ROM page 1 (sprites) | 02 = Non-Battle; 03 = In-Battle |
Related
Internal Data for Dragon Warrior
| |
---|---|