Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Dragon Warrior III rough memory map
- ===================================
- [Note: item, spell, Return target lists were taken from
- http://datacrystal.romhacking.net/wiki/Dragon_Warrior_III:RAM_map]
- Memory map
- ----------
- 0000+4 ???
- 0004+10 Temporary storage
- 0014+2 Controller state: newly pressed buttons on controllers 1 and 2
- 0016+2 Controller state: still-pressed buttons on controllers 1 and 2
- 0018+2 Controller state: repeat timers for controllers 1 and 2
- 001A+1 ???
- 001B+1 Some sort of flag byte?
- $01: lock flag used by $C1F9/$C1FD/$C204
- $04: seems to be a lock, see $C2B0 and $C2BA
- $10: OAM mirror lock (set by $C427, cleared by $C431)
- 001C+2 RNG seed (2 bytes)
- 001E+3 ???
- 0021+5 Temporary storage
- 0026+2 ???
- 0028+1 Saved message buffer line for multi-target spells? (see 14/$ABE4)
- 0029+1 ???
- 002A+2 Lead party member X/Y tile position on overworld
- 002C+1 Flag: nonzero = movement blocked? (see sta $2C in bank 14)
- 002D+2 Ship X/Y tile position on overworld
- 002F+1 Map type flags:
- $01 = in town/dungeon (not set = overworld)
- $02 = in Alefgard
- 0030+2 Lead party member X/Y tile position in current map
- 0032+1 Flag? (see $C90A)
- 0033+1 Set to 2 by NMI to indicate that the OAM mirror ($02xx) has been
- pushed to OAM, or 0 to indicate that OAM was not updated; the
- sprite swapping routine ($C90A) doesn't attempt to swap sprites
- if this is zero.
- 0034+3 Save space for A/X/Y registers in BRK handler
- 0037+5 ???
- 003C+27 Temporary storage
- 0040+2: call pointer for battle functions applied to all allies/enemies
- 0042+1: used by bank 0 spell lookup routines
- 004C+1: number of living party members in battle
- 004D+1: number of living enemies in battle
- 0050+1: used to return menu result (menu item index, $FF if cancelled)
- 0051+1: current character (0-3=party, 4-11=enemies) in battle routines
- 0052+1: current turn order index (0-11) in battle turn resolution
- 0062+1: passes preset encounter ID ($6A6B) to battle entry point
- 0063+2 ???
- 0065+1 Temporary storage (some routines store number of characters in party)
- 0066+2 Temporary storage (used as counter and limit in 14/$B1EE)
- 0068+4 ???
- 006C+2 Temporary storage (used as pointer for map data in $DA32)
- 006E+2 ???
- 0070+10 Temporary storage
- 007C: holds tile returned from tile lookup routine at 15/$EF34
- 0080+1 Current column in message window
- 0081+1 Current row in message window
- 0082+4 ???
- 0086+1 Flag: nonzero = map has no poison damage (? see $CE52)
- 0087+1 Flag: nonzero = disable player control (? see $CE52)
- 0088+2 Width and height of current map (in tiles)
- 008A+1 Out-of-range tile for current map
- 008B+1 Current map number
- 008C+1 $E0: Current map layer (high 3 bits of tile bytes)
- 008D+4 ???
- 0090+1 Field frame counter (advances whenever the player can move)
- 0091+1 ???
- 0092+1 Tile type lead party member is about to step on (when moving)
- 0093+4 Tile type under each party member
- 0097+3 ??? (see 13/$995D)
- 0098+2 ???
- 009A+1 Type of current map
- <$0C = Return is allowed
- 009B+2 ??? (might be ghost ship position? cleared in Return handling at 6/$B607)
- 009D+1 ??? (might be ghost ship orientation? see 13/$9971)
- 009E+2 Ramia X/Y tile position on world map
- 00A0+1 ???
- 00A1+1 Temporary storage (loop counter used by $C952)
- 00A2+2 ???
- 00A4+1 Random number counter, added to the low 8 bits of the RNG seed to
- return a random number
- 00A5+8 ???
- 00AD+1 Repel status
- Bits 0-6: Remaining step count
- Bit 7: 1 if Fairy Water, 0 if Repel
- 00AE+2 ???
- 00B0+4 Movement flags for party members:
- $01: No damage from damage tiles (Water Flying Cloth, etc.)
- $02: Gain HP while walking (Armor of Radiance, Ring of Life)
- $04: Gain experience while walking (Shoes of Happiness)
- 00B4+4 ???
- 00B8+2 Arguments to some bank 2 routines (2/$9939, 2/$9956)
- 00BA+1 Temporary storage (2/$9939)
- 00BB+F ???
- 00CA+1 Controller status returned by $CB86
- 00CB+3 ???
- 00CE+7 Temporary storage; mostly used to pass arguments to bank 0 and
- message routines
- 00CE+1: Party member index for various subroutines
- 00CF+2: Damage amount for damage subroutine (0/$9302), etc.
- 00CE+3: Gold add/subtract amount (0/$95FD, 0/$963D)
- 00CF+3: Experience add amount (0/$959A)
- 00D3+1: spell/item ID for messages
- 00D4+1: item ID for second item name in messages
- 00D5+1 ???
- 00D6+8 Pointers to music data for each of 4 sound channels
- 00DE+2 Pointer for the PCM channel
- 00E0+2 Temporary storage (pointer for music routines)
- 00E2+8 Timers? for each of 4 sound channels
- 00EA+1 Flag for the PCM channel
- 00EB+2 ???
- 00ED+8 ??? for each of 4 sound channels
- 00F5+1 ??? for the PCM channel
- 00F6+8 Envelope type and offset for each of 4 sound channels
- 00FE+2 ???
- 0100+74 Character sprite data (4 bytes per slot: X pos, Y pos, char ID?, flags)
- First 4 entries are for the party
- Flags:
- $80 = stationary NPC
- $40 = terminate processing? (see $CE52)
- $10 = ???
- $0C = slots 0-3 (party): party index
- $03 = direction (0=up, 1=right, 2=down, 3=left)
- $FF = slot unused
- 02xx OAM mirror
- 03E7+1 Current background color
- 03E8+18 Current palette (8 tile/sprite palettes * 3 colors each)
- 0472+8 ??? for each of 4 sound channels (see 30/$B904)
- 047C+1 ??? (see 30/$B904; initialized to $FF)
- 047D+1 ??? (see 30/$B904; gets first byte from channel 0)
- 047E+1 ??? (see 30/$B904)
- 047F+1 ??? (see 30/$B904)
- 0500+10 Current HP for each of 8 enemies
- 0510+8 Current MP for each of 8 enemies
- 0518+8 Current agility for each of 8 enemies
- 0520+10 Current defense power for each of 8 enemies
- 0530+10 Current status for each of 8 enemies:
- Status byte 0:
- $80 = character present (?)
- $40 = BeDragon
- $20 = StopSpell
- $10 = Surround
- $0C = enemy group number
- $03 = max # turns of sleep left
- Status byte 1:
- $80 = alive ($00 indicates a dead character)
- $40 = parrying
- $20 = asleep
- $10 = confused
- $0F = Bounce (set to $0F when Bounce is cast on the character)
- 10540+C Flags for each character:
- $80 = character is enemy
- $78 = turn order
- $07 = enemy index (if enemy)
- $03 = party index (if not enemy); this is the battle party
- index (as modified by Limbo/Chance), not the
- original party index
- 054C+C Battle command (bits $70) and target (bits $87) for each character
- 0 = Attack
- 1 = Spell
- 2 = Parry
- 3 = Item
- 4 = (BeDragon action 0)
- 5 = (BeDragon action 1)
- 7 = Do nothing (dummy value used for dead characters)
- (also used to hold randomized speed when computing turn order)
- 0558+C Battle command data (e.g. item ID) for each party member; action
- ID for each enemy (also used to hold turn order when computing
- turn order)
- 0564+1 ???
- 0565+1 Bitmask of enemies with Bikill status
- 0566+1 Battle flags:
- $C0 = Ironize turns left
- $20 = last attack missed
- $10 = ???
- $08 = suppress enemy actions, 100% hit/run chance
- (preemptive attack)
- $04 = suppress party actions, 25% chance to cancel enemy
- actions (failed run, back attack)
- $03 = run counter (number of run attempts so far during
- the battle)
- 0567+1
- Battle flags:
- $80 = current effect is reflectable
- $40 = current effect was reflected
- $20 = Chance forced-critical effect
- $10 = forced effect (e.g. Spider's Web, Dream Ruby)
- $0C = Chance time-stop effect turns left
- $03 = Character who used Chance to get the time-stop effect
- 0568+1 Battle flags:
- $80 = enemies "departed"
- $40 = at least one enemy defeated
- $20 = multiple enemy types present
- $10 = spells disallowed (Pyramid basement or Chance darkness)
- $08 = ??? (set at beginning of an enemy action)
- $01 = used for battle message selection with some effects
- 0569+4 Action index for scripted enemies (4 bits per enemy)
- 056D+4 Enemy IDs for each enemy group (used in encounter setup, see 0/$844E)
- 0571+4 Enemy counts for each enemy group (used in encounter setup)
- 0575+1 Special effect flags for attacks:
- $80: Possible instant death (Poison Needle)
- $20: Damage from Shield of Sorrow
- $10: Extra damage (Zombie Slasher / Dragon Killer)
- $08: High miss chance (Demon Axe)
- $04: Return 1/4 damage to attacker (Multi-Edge Sword)
- $02: 8x critical chance (Sword of Destruction / Demon Axe)
- $01: Return 1/2 damage to attacker (Swordedge Armor)
- 0576+1 Used by enemy AI to avoid using spells without enough MP more than once
- 0577+9 ???
- 0580+B0 Message window buffer (22 characters * 8 lines)
- 0634+A ??? (see 1/$82A9)
- 063F+3 Number for messages
- 0642+1 Temporary storage (used in map decompression)
- 0643+8 Second action command for multi-action enemies
- 0643+1: Also used in map decompression (16-bit address with $0642)
- 064B+8 Second action target for multi-action enemies
- 0653+8 Third action command for multi-action enemies
- 065B+8 Third action target for multi-action enemies
- 0663+4 ???
- 0667+10 Temporary storage (holds computed damage per enemy during battle)
- 0677+8 Temporary storage (holds post-damage HP / 4 or $FE if overkill)
- 067F+48 ???
- 06C7+1 MMC1 register 0 mirror
- 06C8+1 MMC1 register 1 mirror
- 06C9+9 ???
- 06D2+1 NMI counter
- 06D3+1 ???
- 06D4+1 Flags:
- $10 = run battle entry animation? (see 0/$88BD)
- 06D5+1 Current $8000 ROM bank
- 06D6+1 ???
- 06D7+1 ??? (see $C925, $C204)
- 06D8+5 ???
- 06DD+1 Current message speed (0-7)
- 06DE+2 Day/night timer (16 bits)
- - Incremented by #$DF+random()%32 each step outside; see $D022
- - Cycle length = $CC00
- - $1E00 = midday, $3C00 = afternoon, $5A00 = evening, $7800 = night
- 06E0+1 Current text color
- 06E1+1 (? see 12/$AF95)
- 06E2+E ???
- 06F0+1 Flag? (see 30/$B9B3, 30/$B9BC)
- 06F1+1 Channel counter for music routines
- 06F2+1 ??? (see 30/$B962)
- 06F3+1 ??? (see 30/$B96A)
- 06F4+C ???
- 0700+4 Party member level
- 0704+4 Party member strength
- 0708+4 Party member agility
- 070C+4 Party member intelligence
- 0710+4 Party member luck
- 0714+4 Party member vitality
- 0718+4 Party member class/sex
- Bits 0-2: class
- 0 = Hero
- 1 = Wizard
- 2 = Pilgrim
- 3 = Sage
- 4 = Soldier
- 5 = Merchant
- 6 = Fighter
- 7 = Goof-off
- Bit 3: sex (0 = male, 1 = female)
- 071C+8 Party member HP (16 bits)
- 0724+8 Party member max HP (16 bits)
- 072C+8 Party member MP (16 bits)
- 0734+8 Party member max MP (16 bits)
- 073C+8 Party member status (2 bytes of flags)
- Status byte 0:
- $80 = character present
- $40 = BeDragon
- $20 = StopSpell
- $10 = Surround
- $08 = Bikill
- $04 = Barrier
- $03 = max # turns of sleep left (note that sleep status
- is recorded at $6A9B+N for party member N)
- Status byte 1:
- $80 = alive ($00 indicates a dead character)
- $40 = numb
- $20 = poison
- $10 = confused
- $0F = Bounce (set to $0F when Bounce is cast on the character)
- 0744+C Party member experience (24 bits)
- 0750+C Party member Return list (3 bytes)
- Byte 0:
- $01 = Aliahan
- $02 = Reeve
- $04 = Romaly
- $08 = Kanave
- $10 = Noaniels
- $20 = Assaram
- $40 = Isis
- $80 = Portoga
- Byte 1:
- $01 = Baharata
- $02 = Dhama
- $04 = Lancel
- $08 = Jipang
- $10 = Eginbear
- $20 = Samano
- $40 = Soo
- $80 = Tantegel
- Byte 2:
- $01 = Hauksness
- $02 = Cantlin
- $04 = Kol
- $08 = Rimuldar
- 075C+20 Party member name (8 bytes)
- 077C+20 Party member inventory (8 bytes, see item list below)
- 079C+20 Party member spells (8 bytes, see spell list below)
- 07BC+3 Party gold (24 bits)
- 07BF+2 Bitmap of in-use stored PC slots (16 bits)
- 07C1+4 Party order (stored PC slot indices, $FF = none)
- 07C5+3B Unused
- 6001+C ??? (copied to save file at $6313, etc.)
- 600D+80 Vault contents
- 608D+1 Vault gold (in units of 1000 gold)
- 608E+1 Game flags:
- $08 = Final Key chest
- 608F+1 Game flags:
- $04 = ???
- $02 = ???
- 6090+1 Game flags:
- $80 = ???
- $40 = ???
- $20 = ???
- $10 = ???
- $08 = ???
- $04 = Norud's cave, left chest
- $02 = Norud's cave, right chest
- 6091+1 Game flags?
- 6092+1 Game flags:
- $20 = Pyramid 1F chest, hidden NW room
- $10 = Pyramid 1F chest, hidden N room left side
- $08 = Pyramid 1F chest, hidden N room right side
- $04 = Pyramid 1F chest, top of W side 3-way fork
- $02 = Pyramid 1F chest, middle of W side 3-way fork
- $01 = Pyramid 1F chest, bottom of W side 3-way fork
- 6093+1 Game flags:
- $80 = Pyramid 1F chest, SW room
- $40 = Pyramid 1F chest, SE room
- $10 = ???
- $02 = Aliahan castle treasury, upper-left chest
- $01 = Aliahan castle treasury, upper-right chest
- 6094+1 Game flags:
- $80 = Aliahan castle treasury, middle-left chest
- $40 = Aliahan castle treasury, middle-right chest
- $20 = Aliahan castle treasury, lower-left chest
- $10 = Aliahan castle treasury, lower-right chest
- $04 = Isis castle B2 chest (Meteorite Armband)
- $02 = Isis castle NW treasury, upper-left chest
- $01 = Isis castle NW treasury, upper-right chest
- 6095+1 Game flags:
- $80 = Isis castle NE treasury, upper-left chest
- $40 = Isis castle NE treasury, upper-right chest
- $20 = Isis castle NW treasury, lower-left chest
- $10 = Isis castle NW treasury, lower-right chest
- $08 = Isis castle NE treasury, lower-left chest
- $04 = Isis castle NE treasury, lower-right chest
- 6096+1 Game flags:
- $20 = Portoga castle treasury, left chest
- $10 = Portoga castle treasury, center chest
- $08 = Portoga castle treasury, right chest
- 6097+1 Game flags?
- 6098+1 Game flags:
- $08 = ???
- $04 = ???
- $02 = ???
- $01 = ???
- 6099+1 Game flags:
- $80 = ???
- $40 = ???
- $20 = ???
- $10 = ???
- $08 = ???
- $04 = ???
- $02 = ???
- $01 = ???
- 609A+1 Game flags:
- $80 = ???
- 609B+3 Game flags?
- 609E+1 Game flags:
- $02 = Charlock B3 SW chest (Multi-edge Sword)
- $01 = Charlock B4 treasure room chest #1 (Mimic)
- 609F+1 Game flags:
- $80 = Charlock B4 treasure room chest #2 (Stone of Life)
- $80 = Charlock B4 treasure room chest #3 (Leaf of World Tree)
- $80 = Charlock B4 treasure room chest #4 (Sage's Stone)
- $80 = Charlock B4 treasure room chest #5 (Wizard's Ring)
- $80 = Charlock B4 treasure room chest #6 (Mimic)
- $04 = Pyramid 2F chest
- $02 = Pyramid 3F left chest
- $01 = Pyramid 3F right chest (Magic Key)
- 60A0+1 Game flags:
- $80 = Pyramid 5F chest
- $40 = Pyramid 5F chest
- $20 = Pyramid 5F chest
- $10 = Pyramid 5F chest
- $08 = Pyramid 5F chest
- $04 = Pyramid 5F chest
- $02 = Pyramid 5F chest
- $01 = Pyramid 5F chest
- 60A1+1 Game flags:
- $80 = Pyramid 5F chest
- $40 = Pyramid 5F chest
- $20 = Pyramid 5F chest
- $10 = Pyramid 5F chest
- $08 = Pyramid 6F chest (Flashy Clothes)
- $04 = ???
- $02 = ???
- $01 = ???
- 60A2+1 Game flags?
- 60A3+1 Game flags:
- $10 = ???
- $08 = ???
- $04 = ???
- 60A4+1 Game flags?
- 60A5+1 Game flags:
- $01 = ???
- 60A6+1 Game flags?
- 60A7+1 Game flags:
- $01 = found Wizard's Ring in Isis Castle 3F
- 60A8+1 ??? (does not seem to be a bitmask)
- 60A9+D Game flags?
- 60B6+1 Game flags:
- $20 = opened Norud passage
- $04 = used Vase of Drought
- $02 = ???
- 60B7+1 Game flags:
- $80 = prevent Return in maps $0C and $7A (see 6/$B512)
- Also affects text, see 2/$A9EF
- Appears to be set and cleared in various places
- $40 = ??? (see 9/$BC84)
- $20 = currently in battle (suppresses blue text at nighttime,
- $C90A sprite swapping, etc.)
- $10 = pressed SW button on Pyramid 3F
- $08 = pressed SE button on Pyramid 3F
- $04 = used Wake-Up Powder in Noaniels
- 60B8+1 Game flags:
- $C0 = if $80, the ship is owned (see 6/$B5C4 Return handling)
- $3F = ??? (see 14/$B91E)
- 60B9+1 Game flags:
- $40 = Ramia available
- $10 = ???
- $04 = saw Galen event in Baharata
- $02 = ???
- $01 = thrown into Samanoa prison
- 60BA+1 Game flags:
- $08 = talked to king of Tantegel
- $04 = ???
- $01 = prevent Return (see 6/$B512)
- 60BB+4 New Town merchant name (first 4 characters)
- 60BF+1 Game flags:
- $40 = Received Royal Scroll from Portoga king
- $20 = ???
- $02 = ???
- 60C0+2 ??? (does not seem to a bitmask)
- 60C2+1 Game flags?
- 60C3+1 Game flags:
- $02 = ???
- $01 = ???
- 60C4+1 Game flags:
- $80 = defeated 3rd pair of Granite Titans
- $40 = defeated 2nd pair of Granite Titans
- $20 = defeated 1st pair of Granite Titans
- $1F = number of steps in Charlock's Granite Titan room
- (entrance closes at 1; battles at 27, 29, 31)
- 60C5+1 Game flags:
- $80 = Zoma defeated?
- - Disables field damage (see 14/$B16A)
- - Suppresses night mode in Alefgard (see 6/$B59D)
- 60C6+1 Game flags:
- $40 = talked to the Aliahan king (if clear, hero's mother
- blocks the castle exit)
- $10 = set on talking to the Aliahan king for the first time
- 60C7+1 Game flags:
- $80 = ???
- $40 = obtained Orochi Sword
- 60C8+1 Game flags:
- $80 = ???
- 60C9+1 Game flags:
- $3F = ??? (see 14/$B91E)
- 60CA+1 Game flags:
- $80 = defeated first Orochi
- 60CB+1 Game flags:
- $80 = defeated Baramos
- $10 = saw Zoma cutscene in Aliahan
- 60CC+1 Game flags?
- 60CD+1 New Town flags:
- $01 = merchant left in New Town
- $02 = New Town can reach level 2 (set by entering ship after leaving merchant)
- $04 = New Town reached level 2
- $08 = New Town can reach level 3 (set by getting Purple Orb)
- $10 = New Town reached level 3
- $20 = New Town can reach level 4 (set by defeating Boss Troll)
- $40 = New Town reached level 4
- $80 = Yellow Orb available in New Town (set by getting 3 orbs)
- 60CE+1 Game flags:
- $20 = obtained Green Orb
- $10 = obtained Blue Orb
- $08 = obtained Purple Orb
- $04 = obtained Yellow Orb
- $02 = obtained Red Orb
- $01 = obtained Silver Orb
- 60CF+2 Game flags?
- 60D1+4 New Town merchant name (last 4 characters)
- 60D5+1 ???
- Saved game data (for the active save slot; others follow at $315-byte intervals)
- ---------------
- 60D6+C PC level (for all stored PCs, 12 slots)
- 60E2+C PC strength
- 60EE+C PC agility
- 60FA+C PC intelligence
- 6106+C PC vitality
- 6112+C PC luck
- 611E+C PC class/sex
- 612A+18 PC HP (16 bits)
- 6142+18 PC max HP (16 bits)
- 615A+18 PC MP (16 bits)
- 6172+18 PC max MP (16 bits)
- 618A+18 PC status (2 bytes)
- 61A2+24 PC experience (24 bits)
- 61C6+24 PC Return list (3 bytes)
- 61EA+60 PC name (8 bytes)
- 624A+60 PC inventory (8 bytes)
- - Note that there's a 1-byte overrun when writing the inventory for
- a new character, which causes the "hero learns first 8 battle
- spells when registering the maximum number of characters" bug.
- This is caused by a missing INY instruction after the INX at
- $AF59 in bank 7 (in the code to store the initial inventory).
- This bug may have been introduced during localization, since in
- the Japanese version, all extra PCs start out with only Clothes
- in their inventories, and the king of Aliahan gives the hero
- weapons for the party.
- 62AA+60 PC spells (8 bytes)
- 630A+3 Party gold
- 630D+2 Bitmap of in-use stored PC slots (16 bits)
- 630F+4 Party order (stored PC slot indices, $FF = none)
- 6313+C ???
- 631F+80 Vault contents
- 639F+1 Vault gold (in units of 1000 gold)
- 63A0+47 Game flags
- 63E7+1 Message speed (0-7)
- 63E8+1 Save file index for the main menu (0-2)
- 63E9+2 Save file checksum
- 63EB... Second save file (may not actually be save file number 2; see the
- ...66FF save file index byte)
- 6700... Third save file (may not actually be save file number 3; see the
- ...6A14 save file index byte)
- 6A15+1A Two copies of the string "MANABU YAMADA", used to check whether
- save RAM has been initialized
- 6A2F+3 ??? (possibly related to save files; see bank 7)
- 6A30+2 ???
- 6A32+1 Message drawing flags:
- $20 = end of message reached
- 6A33+1 Temporary storage (saved value of A used by a few routines in bank 14)
- 6A34+9 ???
- 6A3D+1 DMC enable flag
- 6A3E+1 ???
- 6A3F+C Next level's experience for each character
- 6A4B+4 ??? (some 1-byte data for characters, see 0/$9B8D)
- 6A4F+14 ???
- 6A63+1 Battle flags:
- $80: non-interactive battle (unset = normal battle)
- $40: if $80, Ortega/Hydra battle (unset = monster arena battle)
- 6A64+1 $80 if in a monster arena battle, $00 otherwise (does not seem to be
- used anywhere)
- 6A65+1 Group index of enemy that won a non-interactive battle, -2 if the
- battle ended with no enemies left, or -1 if a monster arena battle
- was aborted after 10 turns with no result
- 6A66+1 Battle turn counter (used to end arena battles after 10 turns)
- 6A67+1 Player's chosen monster group in monster arena battles
- 6A68+1 Random number set after entering commands for all characters in
- battle; used as a counter to drive the RNG in 4/$ACBE. This is
- not cleared on reset, which is why battles can have different
- outcomes even after resetting the RNG seed with a known save
- checksum.
- 6A69+1 ???
- 6A6A+1 Lead party member's level minus highest enemy level in an encounter
- (0 if enemy's level is higher)
- 6A6B+1 Current preset encounter ID + 1, or 0 if a random encounter
- 6A6C+3 ???
- 6A6F+4 Original enemy ID for each enemy group in battle
- 6A73+4 Effective enemy ID for each enemy group in battle (for Shadows,
- this is the enemy the Shadow is imitating)
- 6A77+4 Enemy group flags:
- $80 = group is present
- $03 = focus-fire target (party index)
- 6A7B+20 Flags for enemies in each battle group (8 bytes * 4 groups):
- $80 = valid value
- $07 = enemy index
- 6A9B+4 PC battle flags (see 0/$93D0, 4/$950E)
- $20 = parrying
- $10 = ??? (see 0/$9BCC)
- $08 = asleep
- $04 = ??? (copied from $08 at start of turn)
- $03 = original party index (may differ from current battle
- index due to Limbo/Chance)
- 6A9F+4 PC current speed in battle
- 6AA3+8 PC current defense power in battle
- 6AAB+8 PC current attack power in battle
- 6ABE+5 Temporary storage (see 14/$B91E)
- 6ACB+1 Message buffer line number * 2
- 6ACC+1 Message buffer offset (see 14/$AB4F)
- 6ACD+1 Character popped from message buffer (see 14/$AB9E)
- 6ACE+1 Step counter for poison
- 6AD0+1 ??? (see 14/$AC10)
- 6AE6+1 Flags:
- $02 = just changed rooms in a dungeon (higher encounter rate)
- 6B0A+16 Message buffer
- 6B2F... Far call trampolines to bank 0 subroutines
- ...6C50
- 6C51+1F Copy of subroutine at 0/$A26E
- 6DE0+20 Tile types for each map tile (low 5 bits of tile byte used as index)
- 7400... Tile data for current map
- ...7FFF
- -------------------------------------------------------------------
- Map list
- --------
- | +0 | +1 | +2 | +3
- ---+------------------+------------------+------------------+------------------
- 00 | Aliahan | Romaly | Eginbear | Castle of Baramos
- 04 | Final Key shrine | ---------------- | Samanao | Brecconary
- 08 | Charlock 1F | Reeve | Portoga | Noaniels
- 0C | Assaram | ---------------- | Baharata | Lancel
- 10 | Cantlin | Rimuldar | Hauksness | Luzami
- 14 | Kanave | Tedanki | Muor | Jipang
- 18 | Pirate House | Soo | Kol | Ali E field house
- 1C | Portoga S shrine | Shrine Jail | Isis swamp shrine| Isis south shrine
- 20 | Necrogond shrine | Inn N of Dhama | Hobbit shrine | Dragon Queen cstl
- 24 | Jipang shrine | Liamland shrine | Samanao shrine | Greenlad shrine
- 28 | Garinham | Cantlin shrine | Shrine of Honor | Rom-Prt shrine W
- 2C | Rom-Prt shrine E | Aliahan SW cave | Dream Ruby B1 | Assaram tunnel
- 30 | Assaram tunnel(*)| Necrogond 5F | Necrogond 1F | Dhama
- 34 | Baharata cave B1 | Jipang cave B1 | Lancel cave B1 | Samanao cave B1
- 38 | Erdrick Cave B1 | Rock Mtn Cave B1 | Swamp Cave | Pyramid 1F
- 3C | Najima Tower 1F | Garuna Tower 1F | Arp Tower 1F | Shanpane 1F
- 40 | Kol Tower 1F | Hero's home 2F | Aliahan house 2F | Aliahan inn 2F
- 44 | Luisa 2F | Aliahan cstl B1 | Aliahan castle | Aliahan cstl 2F
- 48 | Romaly arena | ---------------- | Romaly castle 2F | Romaly cstl 3F-W
- 4C | Romaly cstl 4F-W | Romaly cstl 4F-E | Eginbear B1 | Eginbear 2F
- 50 | Isis | Isis house 2F | Isis house 2F | Isis castle B2
- 54 | Isis castle B1 | Isis castle 1F | Isis castle 2F | Isis castle 3F
- 58 | Baramos boss rm | Baramos B1 | Baramos 2F | -----------------
- 5C | Dhama 2F | Samanao house 2F | Samanao shop 2F | Samanao cstl B2
- 60 | Samanao cstl B1 | Samanao castle | Samanao cstl 2F | Samanao cstl 3F
- 64 | Samanao cstl 4F | Brecconary 2F-A | Brecconary 2F-B | Brecconary 2F-C
- 68 | Tantegel B1 | Tantegel Castle | Tantegel 2F-A | Tantegel 2F-B
- 6C | Tantegel 2F-C | Reeve inn 2F | Reeve house 2F | Portoga B1
- 70 | Portoga house 2F | Portoga castle | New Town (Lv1) | New Town (Lv2)
- 74 | New Town (Lv3) | New Town (Lv4) | (empty map) | Noaniels house
- 78 | Noaniels shop 2F | Assaram house 2F | Assaram fortune | -----------------
- 7C | ---------------- | Baha pepper 2F | Lancel house 2F | Cantlin 2F
- 80 | Rimuldar 2F | Brecconary 2F(+) | Luzami observ 2F | Kanave tavern 2F
- 84 | Elf Village | Tedanki B1 | Tedanki shop 2F | Isis arena
- 88 | ---------------- | Muor shop 2F | Jipang cellar | Pirate House B1A
- 8C | Pirate House B1B | Greenlad house | Kol shop 2F | Port S shrine 2F
- 90 | Garinham B1 | Alefgard port | Romaly S gate 1F | Romaly S gate B1
- 94 | Rom-Port pass B1 | ---------------- | Isis oasis | AliTnl Reeve ent
- 98 | Aliahan E lake | Samanao arena | Cantlin arena | Romaly cstl 3F-E
- 9C | Phantom Ship 1F | Phantom Ship B1 | ---------------- | Aliahan Tunnel
- A0 | Ali lake cave B1 | Ali lake cave B2 | Ali lake cave B3 | Dream Ruby B2
- A4 | Dream Ruby B3 | Dream Ruby B4 | Giaga Pit (open) | Rock Mtn Cave B2
- A8 | Necrogond 2F | Necrogond 3F | Necrogond 4F | -----------------
- AC | ---------------- | ---------------- | ---------------- | -----------------
- B0 | ---------------- | ---------------- | Baharata cave B2 | -----------------
- B4 | ---------------- | ---------------- | ---------------- | -----------------
- B8 | ---------------- | ---------------- | ---------------- | Jipang cave B2
- BC | Lancel cave B2 | Lancel cave B3 | Samanao cave B2 | Samanao cave B3
- C0 | ---------------- | ---------------- | ---------------- | Erdrick Cave B2
- C4 | ---------------- | Erdrick Cave B3 | Giaga Pit (clsd) | -----------------
- C8 | Charlock B1 | Charlock B2 | Charlock B3 | Charlock B4
- CC | Charlock B5 | ---------------- | ---------------- | Pyramid B2
- D0 | Pyramid B1 | Pyramid 2F | Pyramid 3F | Pyramid 4F
- D4 | Pyramid 5F | Pyramid 6F/ext. | Najima Tower 2F | Najima Tower 3F
- D8 | Najima Tower 4F | ---------------- | ---------------- | Garuna Tower 2F
- DC | Garuna Tower 3F | Garuna Tower 4F | Garuna Twr 5F/6F | -----------------
- E0 | ---------------- | ---------------- | ---------------- | -----------------
- E4 | Arp Tower 2F | Arp Tower 3F | Arp Tower 4F | Arp Tower 5F
- E8 | Shanpane 2F | Shanpane 3F | ---------------- | Shanpane 4F
- EC | Shanpane 5F | Najima Tower inn | Shanpane 6F | Kol Tower 5F
- F0 | Kol Tower 2F | Kol Tower 3F | Kol Tower 4F | -----------------
- (*) Maps $2F and $30 are the same map (the Assaram-Dhama tunnel); it has
- two entries for the convenience of the code to handle overworld-dungeon
- transitions.
- (+) Map $81 is for the unreachable stairways behind the two NPCs in the
- small rooms in Brecconary (the place where the curse removal NPC was
- in the original Dragon Warrior).
- Item list
- ---------
- 00 - Cypress Stick
- 01 - Club
- 02 - Copper Sword
- 03 - Magic Knife
- 04 - Iron Spear
- 05 - Battle Axe
- 06 - Broad Sword
- 07 - Wizard's Wand
- 08 - Poison Needle
- 09 - Iron Claw
- 0A - Thorn Whip
- 0B - Giant Shears
- 0C - Chain Sickle
- 0D - Thor's Sword
- 0E - Snowblast Sword
- 0F - Demon Axe
- 10 - Staff of Rain
- 11 - Sword of Gaia
- 12 - Staff of Reflection
- 13 - Sword of Destruction
- 14 - Multi-edge Sword
- 15 - Staff of Force
- 16 - Sword of Illusion
- 17 - Zombie Slasher
- 18 - Falcon Sword
- 19 - Sledge Hammer
- 1A - Thunder Sword
- 1B - Staff of Thunder
- 1C - Sword of Kings
- 1D - Orochi Sword
- 1E - Dragon Killer
- 1F - Staff of Judgement
- 20 - Clothes
- 21 - Training Suit
- 22 - Leather Armor
- 23 - Flashy Clothes
- 24 - Half Plate Armor
- 25 - Full Plate Armor
- 26 - Magic Armor
- 27 - Cloak of Evasion
- 28 - Armor of Radiance
- 29 - Iron Apron
- 2A - Animal Suit
- 2B - Fighting Suit
- 2C - Sacred Robe
- 2D - Armor of Hades
- 2E - Water Flying Cloth
- 2F - Chain Mail
- 30 - Wayfarer's Clothes
- 31 - Revealing Swimsuit
- 32 - Magic Bikini
- 33 - Shell Armor
- 34 - Armor of Terrafirma
- 35 - Dragon Mail
- 36 - Swordedge Armor
- 37 - Angel's Robe
- 38 - Leather Shield
- 39 - Iron Shield
- 3A - Shield of Strength
- 3B - Shield of Heroes
- 3C - Shield of Sorrow
- 3D - Bronze Shield
- 3E - Silver Shield
- 3F - Golden Crown
- 40 - Iron Helmet
- 41 - Mysterious Hat
- 42 - Unlucky Helmet
- 43 - Turban
- 44 - Noh Mask
- 45 - Leather Helmet
- 46 - Iron Mask
- 47 - Sacred Amulet
- 48 - Ring of Life
- 49 - Shoes of Happiness
- 4A - Golden Claw
- 4B - Meteorite Armband
- 4C - Book of Satori
- 4D - (empty name)
- 4E - Wizard's Ring
- 4F - Black Pepper
- 50 - Sage's Stone
- 51 - Mirror of Ra
- 52 - Vase of Drought
- 53 - Lamp of Darkness
- 54 - Staff of Change
- 55 - Stone of Life
- 56 - Invisibility Herb
- 57 - Magic Ball
- 58 - Thief's Key
- 59 - Magic Key
- 5A - Final Key
- 5B - Dream Ruby
- 5C - Wake-up Powder
- 5D - Royal Scroll
- 5E - Oricon
- 5F - Strength Seed
- 60 - Agility Seed
- 61 - Vitality Seed
- 62 - Luck Seed
- 63 - Intelligence Seed
- 64 - Acorns of Life
- 65 - Medical Herb
- 66 - Antidote Herb
- 67 - Fairy Water
- 68 - Wing of Wyvern
- 69 - Leaf of World Tree
- 6A - (empty name)
- 6B - Locket of Love
- 6C - Full Moon Herb
- 6D - Water Blaster
- 6E - Sailor's Thigh Bone
- 6F - Echoing Flute
- 70 - Fairy Flute
- 71 - Silver Harp
- 72 - Sphere of Light
- 73 - Poison Moth Powder
- 74 - Spider's Web
- 75 - Stone of Sunlight
- 76 - Rainbow Drop
- 77 - Silver Orb
- 78 - Red Orb
- 79 - Yellow Orb
- 7A - Purple Orb
- 7B - Blue Orb
- 7C - Green Orb
- 7D - Stick Slime
- 7E - Black Raven
- 7F - Sword Horned
- 80-FE - Equipped versions of items
- FF - Nothing
- Spell list
- ----------
- Byte | $01 | $02 | $04 | $08 | $10 | $20 | $40 | $80
- -------+---------+---------+---------+---------+---------+---------+---------+---------
- 0 (Wz) |Blaze |Upper |IceBolt |Increase |Firebal |Return |Bang |Slow
- 1 (Wz) |Blazemore|RobMagic |Snowblast|IceSpears|Firebane |Bikill |Boom |Bounce
- 2 (Wz) |Blazemost|Chaos |Snowstorm|BeDragon |Firevolt |Transform|Explodet |Chance
- 3 (Wz) |Outside |Return |X-Ray |StepGuard|Day-Night|CurseOff |Invisible|Open
- 4 (Pr) |Sap |Heal |Expel |Antidote |Infernos |SpeedUP |Surround |Sleep
- 5 (Pr) |Defence |Healmore |Beat |NumbOff |Infermore|StopSpell|Limbo |Awake
- 6 (Pr) |Barrier |Healall |Defeat |Healus |Infermost|Vivify |Sacrifice|Revive
- 7 (Pr) |Heal |Antidote |Healmore |NumbOff |Vivify |Healall |Healus |Revive
- 0 (Hr) |Blaze |Heal |Expel |Ironize |Firebal |Return |Stopspell|Sleep
- 1 (Hr) |Zap |Healmore |Firebane |Healall |Boom |Vivify |Lightning|Healusall
- 2 (Hr) | (this byte is unused)
- 3 (Hr) |Heal |Return |Outside |Repel |Healmore |Healall |Vivify |Healusall
Add Comment
Please, Sign In to add comment