Dragon Warrior II (NES)/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
No edit summary
m (simplified template declarations)
 
(28 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{rammap|game=Dragon Warrior II}}
{{rammap}}
<br>


{| border="1" cellpadding="1"  
{| border="1" cellpadding="1"  
|'''RAM Byte Address'''  || '''Function''' || '''Details'''
|'''RAM Byte Address''' || '''Byte Size'''  || '''Function''' || '''Details'''
|-
|-
| 0x0400 - 0x04ff || (Overworld) Something with status screens || This block of RAM seems to be a bitmap showing what overworld tiles are overlaid with status popups like health or a menu... but changing it seems to have no effect. This block of RAM seems to have a different purpose during battles.
| 0x0400 - 0x04ff || 256 || (Overworld) Something with status screens || This block of RAM seems to be a bitmap showing what overworld tiles are overlaid with status popups like health or a menu... but changing it seems to have no effect. This block of RAM seems to have a different purpose during battles.
|-
|-
| 0x0624 || Party Gold, Low byte
| 0x05fb || 1 || Movement counter || Counts up as you move, unknown purpose
|-
|-
| 0x0625 || Party Gold, High byte || Total gold for your party is 255 * this byte plus the low byte.  You can just set this byte to 0xff for a LOT of gold.
| 0x0600 - 0x0607 || 8 || Character 1: Inventory Slots || Each byte is one inventory slot. Values are as follows:
|-
|-
| 0x063b || Character 1 Current HP || Current hit points for the first character (the hero you start with). Appears fine to set this higher than your max HP.
| || || ||
0x00 = [Empty Slot]
0x01 = Bamboo Stick
0x02 = Magic Knife
0x03 = Wizard's Wand
0x04 = Staff of Thunder
0x05 = Club
0x06 = Copper Sword
0x07 = Chain Sickle
0x08 = Iron Spear
0x09 = Falcon Sword
0x0a = Broad Sword
0x0b = Giant Hammer
0x0c = Sword of Destruction
0x0d = Dragon Killer
0x0e = Light Sword
0x0f = Sword of Erdrick
0x10 = Thunder Sword
0x11 = Clothes
0x12 = Clothes Hiding
0x13 = Water Flying Cloth
0x14 = Mink Coat
0x15 = Leather Armor
0x16 = Chain Mail
0x17 = Gremlin's Armor
0x18 = Magic Armor
0x19 = Full Plate Armor
0x1a = Armor of Gaia
0x1b = Armor of Erdrick
0x1c = Leather Shield
0x1d = Shield of Strength
0x1e = Steel Shield
0x1f = Evil Shield
0x20 = Shield of Erdrick
0x21 = Mysterious Hat
0x22 = Iron Helmet
0x23 = Helmet of Erdrick
0x24 = Token of Erdrick
0x25 = Treasures
0x26 = Moon Fragment
0x27 = Charm of Rubiss
0x28 = Eye of Malroth
0x29 = Leaf of The World Tree
0x2a = Echoing Flute
0x2b = Mirror of Ra
0x2c = Dew's Yarn
0x2d = Magic Loom
0x2e = Cloak of Wind
0x2f = Gremlin's Tail
0x30 = Dragon's Bane
0x31 = Dragon's Potion
0x32 = Golden Card
0x33 = Lottery Ticket
0x34 = Fairy Water
0x35 = Wing of the Wyvern
0x36 = [Blank, If used it says you have taken Golden Card, Sell price is 2 Gold]
0x37 = Golden Key
0x38 = Silver Key
0x39 = Jailor's Key
0x3a = Watergate Key
0x3b = Antidote Herb
0x3c = Medical Herb
0x3d = Wizard's Ring
0x3e = Perilous [Purpose unknown... appears as しのオルゴール in Japanese Dragon Quest 2 inventory, Sell price is 2 Gold]
0x3f = [Blank, Use and nothing happens, Sell price is 2 Gold]
0x40 = [Equipped Blank]
0x41 - 0x63 = [Equipped Versions of 0x01 - 0x23]
|-
| 0x0608 - 0x060f || 8 || Character 2: Inventory Slots || Each byte is one inventory slot.
|-
| 0x0610 - 0x0607 || 8 || Character 3: Inventory Slots || Each byte is one inventory slot.
|-
| 0x0624 - 0x0625 || 2 || Party Gold || Little-endian value. Total gold for your party is 255 * 0x0625 byte plus the 0x0624 byte.  You can just set the 0x0625 byte to 0xff for a LOT of gold.
|-
| 0x062d || 1 || Character 1: Status || Status of first character as one byte bit mask field. Values are as follows:
|-
| || || ||
Bit    Mask    Description
---    ----    -----------
0      1      Stopped
1      2      ??? TBD
2      4      On by default? TBD
3      8      ??? TBD
4      16      ??? TBD
5      32      Poisoned
6      64      Sleep
7      128    On by default? TBD
 
Toggle bit:    byte value ^= mask
Add bit:      byte value |= mask
|-
| 0x0630 || 1 || Character 1: Max HP || Current max hit points for the first character. Changes to this will be undone when character is leveled up.
|-
| 0x0632 || 1 || Character 1: Max MP || Current max magic points for the first character. Changes to this will be undone when character is leveled up.
|-
| 0x0633 - 0x0635 || 3 || Character 1: Current XP || Little-endian value. Current total experience points for the first character. Careful, changing this will potentially result in a long process of level up messages after your next battle!
|-
| 0x063b || 1 || Character 1: Current HP || Current hit points for the first character. You can temporarily set this higher than your max HP, but healing may bring you back down to your max!
|-
| 0x063d || 1 || Character 1: Current MP || Current magic points for the first character. You can temporarily set this higher than your max MP, but healing may bring you back down to your max!
|-
| 0x063f || 1 || Character 2: Status || Status of second character as one byte bit mask field.
|-
| 0x0642 || 1 || Character 2: Max HP || Current max hit points for the second character. Changes to this will be undone when character is leveled up.
|-
| 0x0644 || 1 || Character 2: Max MP || Current max magic points for the second character. Changes to this will be undone when character is leveled up.
|-
| 0x0645 - 0x0647 || 3 || Character 2: Current XP || Little-endian value. Current total experience points for the second character. Careful, changing this will potentially result in a long process of level up messages after your next battle!
|-
| 0x064d || 1 || Character 2: Current HP || Current hit points for the second character. You can temporarily set this higher than your max HP, but healing may bring you back down to your max!
|-
| 0x064f || 1 || Character 2: Current MP || Current magic points for the second character. You can temporarily set this higher than your max MP, but healing may bring you back down to your max!
|-
| 0x0651 || 1 || Character 3: Status || Status of second character as one byte bit mask field.
|-
| 0x0654 || 1 || Character 3: Max HP || Current max hit points for the third character. Changes to this will be undone when character is leveled up.
|-
| 0x0656 || 1 || Character 3: Max MP || Current max magic points for the third character. Changes to this will be undone when character is leveled up.
|-
| 0x0657 - 0x0659 || 3 || Character 3: Current XP || Little-endian value. Current total experience points for the third character. Careful, changing this will potentially result in a long process of level up messages after your next battle!
|-
| 0x065f || 1 || Character 3: Current HP || Current hit points for the third character. You can temporarily set this higher than your max HP, but healing may bring you back down to your max!
|-
| 0x0661 || 1 || Character 3: Current MP || Current magic points for the third character. You can temporarily set this higher than your max MP, but healing may bring you back down to your max!
|-
|-
|}
|}
{{Internal Data}}

Latest revision as of 05:02, 18 April 2024

Chip tiny.png The following article is a RAM map for Dragon Warrior II (NES).

RAM Byte Address Byte Size Function Details
0x0400 - 0x04ff 256 (Overworld) Something with status screens This block of RAM seems to be a bitmap showing what overworld tiles are overlaid with status popups like health or a menu... but changing it seems to have no effect. This block of RAM seems to have a different purpose during battles.
0x05fb 1 Movement counter Counts up as you move, unknown purpose
0x0600 - 0x0607 8 Character 1: Inventory Slots Each byte is one inventory slot. Values are as follows:
0x00 = [Empty Slot]
0x01 = Bamboo Stick
0x02 = Magic Knife
0x03 = Wizard's Wand
0x04 = Staff of Thunder
0x05 = Club
0x06 = Copper Sword
0x07 = Chain Sickle
0x08 = Iron Spear
0x09 = Falcon Sword
0x0a = Broad Sword
0x0b = Giant Hammer
0x0c = Sword of Destruction
0x0d = Dragon Killer
0x0e = Light Sword
0x0f = Sword of Erdrick
0x10 = Thunder Sword
0x11 = Clothes
0x12 = Clothes Hiding
0x13 = Water Flying Cloth
0x14 = Mink Coat
0x15 = Leather Armor
0x16 = Chain Mail
0x17 = Gremlin's Armor
0x18 = Magic Armor
0x19 = Full Plate Armor
0x1a = Armor of Gaia
0x1b = Armor of Erdrick
0x1c = Leather Shield
0x1d = Shield of Strength
0x1e = Steel Shield
0x1f = Evil Shield
0x20 = Shield of Erdrick
0x21 = Mysterious Hat
0x22 = Iron Helmet
0x23 = Helmet of Erdrick
0x24 = Token of Erdrick
0x25 = Treasures
0x26 = Moon Fragment
0x27 = Charm of Rubiss
0x28 = Eye of Malroth
0x29 = Leaf of The World Tree
0x2a = Echoing Flute
0x2b = Mirror of Ra
0x2c = Dew's Yarn
0x2d = Magic Loom
0x2e = Cloak of Wind
0x2f = Gremlin's Tail
0x30 = Dragon's Bane
0x31 = Dragon's Potion
0x32 = Golden Card
0x33 = Lottery Ticket
0x34 = Fairy Water
0x35 = Wing of the Wyvern
0x36 = [Blank, If used it says you have taken Golden Card, Sell price is 2 Gold]
0x37 = Golden Key
0x38 = Silver Key
0x39 = Jailor's Key
0x3a = Watergate Key
0x3b = Antidote Herb
0x3c = Medical Herb
0x3d = Wizard's Ring
0x3e = Perilous [Purpose unknown... appears as しのオルゴール in Japanese Dragon Quest 2 inventory, Sell price is 2 Gold]
0x3f = [Blank, Use and nothing happens, Sell price is 2 Gold]
0x40 = [Equipped Blank]
0x41 - 0x63 = [Equipped Versions of 0x01 - 0x23]
0x0608 - 0x060f 8 Character 2: Inventory Slots Each byte is one inventory slot.
0x0610 - 0x0607 8 Character 3: Inventory Slots Each byte is one inventory slot.
0x0624 - 0x0625 2 Party Gold Little-endian value. Total gold for your party is 255 * 0x0625 byte plus the 0x0624 byte. You can just set the 0x0625 byte to 0xff for a LOT of gold.
0x062d 1 Character 1: Status Status of first character as one byte bit mask field. Values are as follows:
Bit    Mask    Description
---    ----    -----------
0      1       Stopped
1      2       ??? TBD
2      4       On by default? TBD
3      8       ??? TBD
4      16      ??? TBD
5      32      Poisoned
6      64      Sleep
7      128     On by default? TBD
Toggle bit:    byte value ^= mask
Add bit:       byte value |= mask
0x0630 1 Character 1: Max HP Current max hit points for the first character. Changes to this will be undone when character is leveled up.
0x0632 1 Character 1: Max MP Current max magic points for the first character. Changes to this will be undone when character is leveled up.
0x0633 - 0x0635 3 Character 1: Current XP Little-endian value. Current total experience points for the first character. Careful, changing this will potentially result in a long process of level up messages after your next battle!
0x063b 1 Character 1: Current HP Current hit points for the first character. You can temporarily set this higher than your max HP, but healing may bring you back down to your max!
0x063d 1 Character 1: Current MP Current magic points for the first character. You can temporarily set this higher than your max MP, but healing may bring you back down to your max!
0x063f 1 Character 2: Status Status of second character as one byte bit mask field.
0x0642 1 Character 2: Max HP Current max hit points for the second character. Changes to this will be undone when character is leveled up.
0x0644 1 Character 2: Max MP Current max magic points for the second character. Changes to this will be undone when character is leveled up.
0x0645 - 0x0647 3 Character 2: Current XP Little-endian value. Current total experience points for the second character. Careful, changing this will potentially result in a long process of level up messages after your next battle!
0x064d 1 Character 2: Current HP Current hit points for the second character. You can temporarily set this higher than your max HP, but healing may bring you back down to your max!
0x064f 1 Character 2: Current MP Current magic points for the second character. You can temporarily set this higher than your max MP, but healing may bring you back down to your max!
0x0651 1 Character 3: Status Status of second character as one byte bit mask field.
0x0654 1 Character 3: Max HP Current max hit points for the third character. Changes to this will be undone when character is leveled up.
0x0656 1 Character 3: Max MP Current max magic points for the third character. Changes to this will be undone when character is leveled up.
0x0657 - 0x0659 3 Character 3: Current XP Little-endian value. Current total experience points for the third character. Careful, changing this will potentially result in a long process of level up messages after your next battle!
0x065f 1 Character 3: Current HP Current hit points for the third character. You can temporarily set this higher than your max HP, but healing may bring you back down to your max!
0x0661 1 Character 3: Current MP Current magic points for the third character. You can temporarily set this higher than your max MP, but healing may bring you back down to your max!