Dragon Warrior Monsters/RAM map

From Data Crystal
Jump to navigation Jump to search

Chip tiny.png The following article is a RAM map for Dragon Warrior Monsters.

WRAM

Address Size    Description
------- ----    -----------
  C899     2    Pseudo-Random Number
  C8A9     1    ? (related to floor change in Gate)
  C8B5     1    BGM (offset)
                0x02 - No music
                0x06 - Title Screen
                0x09 - BigTree
                0x0C - Gate music 1
                0x0F - Gate music 2
                0x12 - Gate music 3
                0x15 - Gate music 4
                0x18 - Gate music 5
                0x1B - Gate music 6
                0x1E - Arena
                0x21 - Ending
                0x24 - Main Menu
                0x27 - Battle
                0x2B - Battle against Mireille
                0x2E - Gate music 7
                0x31 - Starry Shrine
                0x34 - Gate music 8
                0x37 - Fanfare 1
                0x3A - Fanfare 2
                0x3C - Fanfare 3
                0x3F - 
                0x41 - Prayer / Heal
                0x44 - Fanfare 4
                0x47 - Level Up!
                0x49 - 
                0x4B - Monster Encounter 
                0x4D - Monster Encounter 2
                0x4F - Game Over
                0x5D - Test Stereo BGM 1 (also used for intro)
                0x9D - Test Stereo BGM 2
                0x9F - 
  C8B7     1    BGM (offset) to load
  C8B8     1    ? (related to BGM)
  C8B9     1    ? (related to BGM)
  C925     1    ? (related to current room or loading next room)
  C935     1    Current Gate
  C939     1    Current Floor
  C968     1    Map type
  C969     1    flag_in_gate
                00 - Not in a Gate
                01 - In a Gate
  C96D     1    Gate to warp to
  CA38     1    offset_specific_to_current_gate_and_current_floor + current_floor_threshold
  CA39     2    Counter before random encounter
  CA4B     3    Gold
  CA51    20    Items
  CAC0     1    Selected monster
  CAC1   149    Monster n°1 (see structure below)
  CB56   149    Monster n°2
  CBEB   149    Monster n°3
  CC80   149    Monster n°4
  CD15   149    Monster n°5
  CDAA   149    Monster n°6
  CE3F   149    Monster n°7
  CED4   149    Monster n°8
  CF69   149    Monster n°9
  CFFE   149    Monster n°10
  D093   149    Monster n°11
  D128   149    Monster n°12
  D1BD   149    Monster n°13
  D252   149    Monster n°14
  D2E7   149    Monster n°15
  D37C   149    Monster n°16
  D411   149    Monster n°17
  D4A6   149    Monster n°18
  D53B   149    Monster n°19
  D5D0   149    Monster n°20
  D665   149    Pedigree monster (when breeding)
  D6FA   149    Other monster (when breeding)
  1:D7B8   1    Main character sprite being displayed
                00 - Front, still
                01 - Side, still
                02 - Back, still
                03 - Front, walking
                04 - Side, walking
                05 - Back, walking
  1:D8D3   1    Copy of current Map type
                See wC968
  1:D8D4   1    Next step or next room id
  1:D988   1    Current step in Labyrinth
                From the initial room:
                  RIGHT (north one): Mimic
                  DOWN DOWN DOWN RIGHT (south one): Watabou doll
                  UP UP LEFT (south one): Empty spot
                  UP UP UP LEFT DOWN DOWN LEFT (north one): Boss
  1:D997   1    Current step (?) in Unused Gate
  1:D999   1    Current Arena Battle in Starry Night Tournament (00 01 02), or post-game battle against the King (04)
  1:D9CD   1    Current Coliseum Battle in Gates, and current Arena Battle (except Starry Night Tournament)
  1:D9E9   1    Current step in multi-step screens
  1:DA03   1    Enemy 1 ID
                Enemy stats ID 1 (while loading battle)
  1:DA05   1    Enemy 2 ID
                Enemy stats ID 2 (while loading battle)
  1:DA07   1    Enemy 3 ID
                Enemy stats ID 3 (while loading battle)
  1:DA12   2    Enemy stats ID
  1:DA18  25    Enemy stats being loaded
  1:DA1D   2    Enemy Max HP being loaded
  ; Below are in-battle stats and effects, they're loaded at the start of every battle
  1:DB00   1    Party whole field effects (bit field)
                  0 - ??
                  1 - ??
                  2 - Deity summoned?
                  3 - ThickFog / FILTHZONE
                  4 - Guardian
                  5 - StormWind
                  6 - SuckAll
                  7 - ??
  1:DB01   1    Enemy whole field effects (bit field, see above)
  1:DB02   8    Party 1 status effects
                  DB02 (bit field):
                    0 - Poison
                    1 - ?? also cured by Antidote
                    3~2 - max(?) turns to sleep for (set to 3 by Sleep)
                    4 - confused
                    5 - Cursed
                    6 - Paralyzed (PalsyAir)
                    7 - Sleep
                  DB03 (bit field):
                    0 - StopSpell
                    1 - Surround
                    2 - TwinHits
                    3 - ALLCHANGE
                    4 - ??
                    5 - Transform
                    6 - DanceShut
                    7 - MouthShut
                  DB04 (bit field):
                    0 - TakeMagic
                    1 - Bounce
                    2 - Barrier
                    3 - ??
                    4 - ??
                    5 - MagicBack (reset on hit if Bounce bit is 0)
                    6 - TailWind
                    7 - Massacre/EvilSlash (reset end of turn)
                  DB05 (bit field):
                    0 - ?? (clears on paralysis)
                    1 - LureDance (clears on paralysis)
                    2 - LegSweep / Trip (clears on paralysis)
                    3 - SickLick (clears on paralysis)
                    4 - WarCry (clears on paralysis)
                    5 - Ahhh (112) used (clears on paralysis)
                    6 - MagicWall
                    7 - EerieLite
                  DB06 (bit field):
                    1~0 - ChargeUP (set to 3)
                    3~2 - HighJump (set to 3, cleared after attack)
                    5~4 - SuckAir (set to 3)
                    6 - ??
                    7 - Focus
                  DB07 (bit field):
                    1~0 - Radiant/SandStorm (set to 3)
                    3~2 - SideStep (set randomly as 1 or 2)
                    5~4 - LifeSong
                    7~6 - Ironize
                  DB08 (bit field):
                    0 - ??
                    1 - set by SuckAll (on caster)
                    2 - ??
                    3 - set by Imitate (on caster)
                    4 - ?? prevents Sacrifice if 0
                    5 - Dodge
                    6 - stats increased by a skill (Upper, Increase, Speed)
                    7 - stats decreased by a skill (Defence, Slow)
                  DB09 (bit field):
                    0 - Defence
                    1 - StrongD
                    2 - ?? (some from of defense)
                    3 - BladeD
                    7~4 - ?? target index of some sort
  1:DB0A   8    Party 2 status effects
  1:DB12   8    Party 3 status effects
  1:DB1A   8    Party deity status effects
  1:DB22   8    Enemy 1 status effects
  1:DB2A   8    Enemy 2 status effects
  1:DB32   8    Enemy 3 status effects
  1:DB3A   8    Enemy deity status effects
  1:DB88   1    Caster index (00 for party member 1, 04 for enemy member 1, etc)
  1:DB89   1    Target index
  1:DB8A   1    Index of skill being used
  1:DBA3   2    Party 1 HP
  1:DBA5   2    Party 2 HP
  1:DBA7   2    Party 3 HP
  1:DBA9   2    Party deity HP
  1:DBAB   2    Enemy 1 HP
  1:DBAD   2    Enemy 2 HP
  1:DBAF   2    Enemy 3 HP
  1:DBB1   2    Enemy deity HP
  1:DBB3   2    Party 1 Max HP
  1:DBB5   2    Party 2 Max HP
  1:DBB7   2    Party 3 Max HP
  1:DBB9   2    Party deity Max HP
  1:DBBB   2    Enemy 1 Max HP
  1:DBBD   2    Enemy 2 Max HP
  1:DBBF   2    Enemy 3 Max HP
  1:DBC1   2    Enemy deity Max HP
  1:DBC3   2    Party 1 MP
  1:DBC5   2    Party 2 MP
  1:DBC7   2    Party 3 MP
  1:DBC9   2    Party deity MP
  1:DBCB   2    Enemy 1 MP
  1:DBCD   2    Enemy 2 MP
  1:DBCF   2    Enemy 3 MP
  1:DBD1   2    Enemy deity MP
  1:DBD3   2    Party 1 Max MP
  1:DBD5   2    Party 2 Max MP
  1:DBD7   2    Party 3 Max MP
  1:DBD9   2    Party deity Max MP
  1:DBDB   2    Enemy 1 Max MP
  1:DBDD   2    Enemy 2 Max MP
  1:DBDF   2    Enemy 3 Max MP
  1:DBE1   2    Enemy deity Max MP
  1:DBE3   2    Party 1 ATK
  1:DBE5   2    Party 2 ATK
  1:DBE7   2    Party 3 ATK
  1:DBE9   2    Party deity ATK
  1:DBEB   2    Enemy 1 ATK
  1:DBED   2    Enemy 2 ATK
  1:DBEF   2    Enemy 3 ATK
  1:DBF1   2    Enemy deity ATK
  1:DBF3   2    Party 1 DEF
  1:DBF5   2    Party 2 DEF
  1:DBF7   2    Party 3 DEF
  1:DBF9   2    Party deity DEF
  1:DBFB   2    Enemy 1 DEF
  1:DBFD   2    Enemy 2 DEF
  1:DBFF   2    Enemy 3 DEF
  1:DC01   2    Enemy deity DEF
  1:DC03   2    Party 1 AGL
  1:DC05   2    Party 2 AGL
  1:DC07   2    Party 3 AGL
  1:DC09   2    Party deity AGL
  1:DC0B   2    Enemy 1 AGL
  1:DC0D   2    Enemy 2 AGL
  1:DC0F   2    Enemy 3 AGL
  1:DC11   2    Enemy deity AGL
  1:DC13   2    Party 1 INT
  1:DC15   2    Party 2 INT
  1:DC17   2    Party 3 INT
  1:DC19   2    Party deity INT
  1:DC1B   2    Enemy 1 INT
  1:DC1D   2    Enemy 2 INT
  1:DC1F   2    Enemy 3 INT
  1:DC21   2    Enemy deity INT
  1:DC23   2    Party 1 WLD
  1:DC25   2    Party 2 WLD
  1:DC27   2    Party 3 WLD
  1:DC29   2    Party deity WLD
  1:DC2B   2    Enemy 1 WLD
  1:DC2D   2    Enemy 2 WLD
  1:DC2F   2    Enemy 3 WLD
  1:DC31   2    Enemy deity WLD
  1:DC3C   1    Party 1 monster ID
  1:DC3D   1    Party 2 monster ID
  1:DC3E   1    Party 3 monster ID
  1:DC3F   1    Party deity monster ID
  1:DC40   1    Enemy 1 monster ID
  1:DC41   1    Enemy 2 monster ID
  1:DC42   1    Enemy 3 monster ID
  1:DC43   1    Enemy deity monster ID
  1:DC44   1    Party 1 Charge
  1:DC45   1    Party 2 Charge
  1:DC46   1    Party 3 Charge
  1:DC47   1    Party deity Charge
  1:DC48   1    Enemy 1 Charge
  1:DC49   1    Enemy 2 Charge
  1:DC4A   1    Enemy 3 Charge
  1:DC4B   1    Enemy deity Charge
  1:DC4C   1    Party 1 Mixed
  1:DC4D   1    Party 2 Mixed
  1:DC4E   1    Party 3 Mixed
  1:DC4F   1    Party deity Mixed
  1:DC50   1    Enemy 1 Mixed
  1:DC51   1    Enemy 2 Mixed
  1:DC52   1    Enemy 3 Mixed
  1:DC53   1    Enemy deity Mixed
  1:DC54   1    Party 1 Cautious
  1:DC55   1    Party 2 Cautious
  1:DC56   1    Party 3 Cautious
  1:DC57   1    Party deity Cautious
  1:DC58   1    Enemy 1 Cautious
  1:DC59   1    Enemy 2 Cautious
  1:DC5A   1    Enemy 3 Cautious
  1:DC5B   1    Enemy deity Cautious
  1:DC5C   1    Party 1 Motivation
  1:DC5D   1    Party 2 Motivation
  1:DC5E   1    Party 3 Motivation
  1:DC5F   1    Party deity Motivation
  1:DC60   1    Enemy 1 Motivation
  1:DC61   1    Enemy 2 Motivation
  1:DC62   1    Enemy 3 Motivation
  1:DC63   1    Enemy deity Motivation
  1:DC64  16    Party 1 skills
                  Each entry is 2 bytes, idk the first, second is the skill ID
  1:DC74  16    Party 2 skills
  1:DC84  16    Party 3 skills
  1:DC94  16    Party deity skills
  1:DCA4  16    Enemy 1 skills
  1:DCB4  16    Enemy 2 skills
  1:DCC4  16    Enemy 3 skills
  1:DCD4  16    Enemy deity skills
  1:DD23   1    ? (related to random battles or exp)
  1:DD28   7    Party 1 resistances
                  This is a compressed version of the 27 byte resistance array, of the form:
                  Offset   76 54 32 10 (bits -> index)
                  ------   ---------------------------
                     00    1A 00 01 02
                     01    03 04 05 06
                     02    07 08 09 0A
                     03    0B 0C 0D 0E
                     04    0F 10 11 12
                     05    13 14 15 16
                     06    17 18 19 --
  1:DD2F   7    Party 2 resistances
  1:DD36   7    Party 3 resistances
  1:DD3D   7    Party deity resistances
  1:DD44   7    Enemy 1 resistances
  1:DD4B   7    Enemy 2 resistances
  1:DD52   7    Enemy 3 resistances
  1:DD59   7    Enemy deity resistances

Monster structure

The currently awake monsters and your current team (a total of 20 monsters) are stored in RAM starting at 0:CAC1 using the following format:

Offset  Size    Description
------- ----    -----------
    00     1    Entry has data (01) or not (00)
    01     8    Name (last 4 bytes are all F0)
    09     1    Monster ID
    0A     1    Family ID
                  0x00 - Slime
                  0x01 - Dragon
                  0x02 - Beast
                  0x03 - Flying
                  0x04 - Plant
                  0x05 - Bug
                  0x06 - Devil
                  0x07 - Zombie
                  0x08 - Material
                  0x09 - ???  (Boss)
    0B     1    Gender
                  0x00 - male
                  0x01 - female
    0C     8    Master name (last 4 bytes are all F0)
    14     1    ??
    15     1    Dad's monster ID
    16     1    Mom's monster ID
    17     8    Dad's master's name (last 4 bytes are all F0)
    1F     1    Dad's (master's?) ??
    20     8    Mom's master's name (last 4 bytes are all F0)
    28     1    Mom's (master's?) ??
    29     8    Skills
    31    25    Inherited skills
    4A     1    ??
    4B     1    Current level
    4C     1    Level cap
    4D     3    ??
    50     2    HP
    52     2    Max HP
    54     2    MP
    56     2    Max MP
    58     2    ATK
    5A     2    DEF
    5C     2    AGL
    5E     2    INT
    60     2    WLD
    62     1    Pluses
    63     1    Egg status
                  0x00 - not an egg
                  0x01 - egg
                  0x02 - egg with gender identified
    64     1    Charge competency
    65     1    Cautious competency
    66     1    Motivation
    67     1    Mixed competency
    68    27    Resistances
                  Can be a value of 0-3 (inclusive) where 0 is no resistance and 3 is full resistance
                  Offset    Affected skills
                  ------    ---------------
                     00     BigBang, Blazemore, FireSlash
                     01     Firebane
                     02     Boom
                     03     Infermost, MultiCut, VacuSlash, Vacuum, WindBeast
                     04     Bolt, BoltSlash, Hellblast, Lightning, Thordain
                     05     IceBolt, IceSlash, SnowStorm
                     06     Radiant, SandStorm, Surround
                     07     SleepAir, SleepAll
                     08     Defeat, EerieLite, K.O.Dance, UltraDown
                     09     OddDance, RobDance, RobMagic
                     0A     StopSpell
                     0B     PanicAll, PaniDance
                     0C     Defence, Sap, SickLick
                     0D     Slow
                     0E     Kamikaze, Ramming, Sacrifice
                     0F     MegaMagic
                     10     BlazeAir, FireAir, Scorching, WhiteFire
                     11     FrigidAir, IceAir, IceStorm, WhiteAir
                     12     PoisonAir, PoisonGas, PoisonHit
                     13     PalsyAir, Paralyze
                     14     Curse
                     15     BigTrip, LegSweep, LureDance, LushLicks, WarCry
                     16     DanceShut
                     17     MouthShut
                     18     CallHelp (damage), YellHelp (damage), RockThrow
                     19     GigaSlash
                     1A     ?? (not relevant to a skill, checked during enemies' strategizing)
    83     8    Dad's name (last 4 bytes are all F0)
    8B     1    Dad's pluses
    90     8    Mom's name (last 4 bytes are all F0)
    94     1    Mom's pluses

HRAM

Address Size    Description
------- ----    -----------
  FFD5     1    Current Column; or Next step / next room id
  FFD6     1    Current Row
  FFDB     1    High nibble: Current Column
                Low nibble: ?
  FFDD     1    High nibble: Current Row
                Low nibble: ?