Final Fantasy I & II: Dawn of Souls:RAM map

From Data Crystal
Jump to navigation Jump to search

All addresses are given in hexadecimal.

Fixed-Offset Fields

Address   Size    Description
--------  ----    -----------
02000008  2       Keys pressed on previous frame (bitfield)
0200000A  2       Frame counter for held keys (initial)
0200000C  2       Frame counter for held keys (repeat)
02000010  12      Pointers to Item, Weapon and Armor Text Tables, respectively
02000584  4       Pointer to Variable Memory base address
02001A18  4       RNG state
02002074  32      Chest state bitfield
020026CC  48*4    Player character data
020027EC  B2*4    Out-of-battle inventory (4 bytes per item)
02002AB4  4       Party Gil

Variable-Offset Fields

Battle Memory:

+$2880: Unit ID of currently selected or active character in battle
+$3826: Step counter; increments up to 0xF, resets when a battle happens; used for encounter rates
+$48E7: Stores if battle-to-be is normal, Ambush, or Preemptive
+$4AEC: Pointer to Player Characters' data in memory
+$4AF0: Pointer to inbattle inventory
+$4AFC: Sets of four-byte ministructs, one for each PC, that indicate item usage during a combat round:
+$4B30: Pointer to list of swappable gear (by inventory slot) when re-equipping an equip slot
+$4B71: When changing equips, refers to the equipment slot being changed (0-4)
+$4B72: Encounter ID to load for battle
+$4B76-79: List of monster species in this battle (up to 4)
+$4B7A-7B: Number monsters in battle per monster species (also counts deads)
+$4B7E: Battle config for this encounter (9 small, 4 large, 2 Large+6 small, etc)
+$4C90: Base offset of player unit in-battle data
  +$4CB0: Used to index to monster unit data (monsters have smaller-sozed structs, so this helps to correct for that)
+$4CE0: For first PC, this and next few bytes indicate item being used + type + position in inventory?
+$4CE4: Byte indicating horizontal position in in-battle Equip menu
+$4CE5: Byte indicating vertical scroll position in in-battle Equip menu
+$4E10: Monster data in battle
+$4E51: Indexes to monster battle data +$41 (Monster ID)
+$5714: Pointer to start of player data
+$90C4: Current X Position on World Map
+$90C6: Current Y Position on World Map

+$B57C: Caster's actor ID, when casting a spell
+$B57D: Spell target's actor ID