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 |
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:
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.
|
0x0050 |
Countup Clock (to what?) |
Increments by #08.
|
0x0051-8C |
Series of twenty, three-byte segments for NPC's (townsfolk, guards, etc.): |
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.
|
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:
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.
|
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
|