Dragon Warrior:RAM map

From Data Crystal
Revision as of 17:24, 2 August 2010 by (talk)
Jump to: navigation, search

RAM Function Details
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 Tile ?? 32 for caves, 16 for towns, 0 for world map, changing value causes random tiles and obstruction issues to show up. Could have to do with reduced visibility?
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? Seems to be unique for each map; changing it sometime screws up tiles and exits and definitely screws up NPC dialog. Different IDs bring different dialogs. Talking to the King with this set to 6 starts the Dragonlord conversation.
0x0047 Button(s) pressed Uses binary processing. Here are the values:
Value Button Value Button
*1 A 1* Up
*2 B 2* Down
*4 Select 4* Left
*8 Start 8* Right
0x004F Countup Clock on Overworld Activates small status window in upper-left corner when player doesn't move.
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 wihtin 0x00C5-CD)
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.
0x00BC-BD Gold Gold
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:
Value Item Value Item
0 Nothing 8 Gwaelin's Love
1 Torch 9 Cursed Belt
2 Fairy Water A Silver Harp
3 Wings B Death Necklace
4 Dragon's Scale C Stones of Sunlight
5 Fairy Flute D Staff of Rain
6 Fighter's Ring E Rainbow Drop
7 Erdrick's Token F Herb
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:
Value Spell Value Spell
*1 Heal 1* Stopspell
*2 Hurt 2* Outside
*4 Sleep 4* Return
*8 Radiant 8* Repel
0x00CF More Spells / Quest Progress This byte is used for the last two spells, two plot events, and four equipment pieces.
Value Spell
*1 Healmore
*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
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.
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
0x6003 In battle or not? 03=in battle, 02=not in battle.

Enemy IDs:
00 = slime
01 = red slime
02 = drakee
03 = ghost
04 = magician
05 = magidrakee
06 = scorpion
07 = druin
08 = poltergeist
09 = droll
0a = drameema
0b = skeleton
0c = warlock
0d = metal scorpion
0e = wolf
0f = wraith
10 = metal slime
11 = specter
12 = wolflord
13 = druinlord
14 = drollmagi
15 = wyvern
16 = rogue scorpion
17 = wraith knight
18 = golem
19 = goldman
1a = knight
1b = magiwyvern
1c = demon knight
1d = werewolf
1e = green dragon
1f = starwyvern
20 = wizard
21 = axe knight
22 = blue dragon
23 = stoneman
24 = armored knight
25 = red dragon
26 = dragonlord form 1
27 = dragonlord form 2 * setting this outside of battle will freeze all NPCs, make movement impossible, black out parts of the screen, etc.

Equipment values:
Bamboo Pole: 0x20
Club: 0x40
Copper Sword: 0x60
Hand Axe: 0x80
Broad Sword: 0xA0
Flame Sword: 0xC0
Erdrick's Sword: 0xE0

Clothes: 0x04
Leather Armor: 0x08
Chain Mail: 0x0C
Half Plate Armor: 0x10
Full Plate Armor: 0x14
Magic Armor: 0x18
Erdrick's Armor: 0x1C

Small Shield: 0x01
Large Shield: 0x02
Silver Shield: 0x03