Final Fantasy VI/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
No edit summary
No edit summary
 
(7 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{rammap|game=Final Fantasy VI}}
{{rammap|game=Final Fantasy VI}}
: The list corresponds to RAM variables used by the game engine. They are generally accessed by LDA and STA instructions.
==Actors==
* $1600-$184F: Actors block (#$10 blocks, #$25 bytes/block)
** $1600,X: Actor identifier. See [[Final Fantasy VI:Digits#Actor digits|Actor]].
** $1601,X: Actor graphics.
** $1602,X-$1607,X: Name.
** $1608,X: Level.
** $1609,X-$160A,X: Current HP.
** $160B,X-$160C,X: Max HP.
** $160D,X-$160E,X: Current MP.
** $160F,X-$1610,X: Max MP.
** $1611,X-$1613,X: Experience.
** $1614,X: Non-battle status 1. See [[Final Fantasy VI:Digits#Status ailment digits|Status ailment]].
** $1615,X: Non-battle status 4. See [[Final Fantasy VI:Digits#Status ailment digits|Status ailment]].
** $1616,X-$1619,X: Battle commands. See [[Final Fantasy VI:Digits#Battle command digits|battle command]].
** $161A,X: Vigor.
** $161B,X: Speed.
** $161C,X: Stamina.
** $161D,X: Magic power.
** $161E,X: Equipped esper.
** $161F,X: Item equipped on right hand. See [[Final Fantasy VI:Digits#Item digits|Item]].
** $1620,X: Item equipped on left hand. See [[Final Fantasy VI:Digits#Item digits|Item]].
** $1621,X: Item equipped on head. See [[Final Fantasy VI:Digits#Item digits|Item]].
** $1622,X: Item equipped on body. See [[Final Fantasy VI:Digits#Item digits|Item]].
** $1623,X: Item equipped on relic (slot #$00). See [[Final Fantasy VI:Digits#Item digits|Item]].
** $1624,X: Item equipped on relic (slot #$01). See [[Final Fantasy VI:Digits#Item digits|Item]].
** Repeat for all blocks. The block index corresponds to the character.
* $1850-$185F: Multi-party block. (#$10 blocks, #$01 bytes/block)
** #$07: Party identifier.
** #$18: Party slot (0-3).
** #$20: Row.
** #$40: Availability.
** #$80: Leader of party.
** Repeat for all blocks. The block index corresponds to the character.
==Attack==
* $11A1: Elemental type
** #$01: Fire
** #$02: Ice
** #$04: Bolt
** #$08: Poison
** #$10: Wind
** #$20: Pearl
** #$40: Earth
** #$80: Water
* $11A2: Attack flags
** #$01: Physical or magical damage
** #$02: Miss if target immune to death
** #$04: Only target dead or undead targets
** #$08: Make heal spells damage undead
** #$10: Randomize target
** #$20: Ignore defense
** #$40: Don't split damage in multi-target spells
** #$80: Abort on allies
* $11A3: Attack flags
** #$01: Spell is usable outside battle
** #$02: Ignore reflect
** #$04: Can learn as Lore
** #$08: Enable Runic
** #$10: Quick/Warp flag
** #$20: Re-target if target is dead
** #$40: Caster dies after attack
** #$80: Concern MP
* $11A4: Attack flags
** #$01: Heal damage
** #$02: Redirection
** #$04: Lift status
** #$08: Toggle status
** #$10: Stamina used in defense
** #$20: Can't dodge attack
** #$40: Use evasion as Lv X Spells
** #$80: Use HP fraction
* $11A5: Spell cost
* $11A6: Spell power
* $11A7: Attack flags
** #$01: Miss if immune to status
** #$02: Show text is attack hits
* $11A8: Hit rate
* $11A9: Special effect
* $11AA: Status
** #$01: Dark
** #$02: Zombie
** #$04: Poison
** #$08: Magitek
** #$10: Clear
** #$20: Imp
** #$40: Petrify
** #$80: Death
* $11AB: Status
** #$01: Condemned
** #$02: Near fatal
** #$04: Image
** #$08: Mute
** #$10: Berserk
** #$20: Muddle
** #$40: Seizure
** #$80: Sleep
* $11AC: Status
** #$01: Dance
** #$02: Regen
** #$04: Slow
** #$08: Haste
** #$10: Stop
** #$20: Shell
** #$40: Safe
** #$80: Reflect
* $11AD: Status
** #$01: Rage
** #$02: Freeze
** #$04: Life 3
** #$08: Morph
** #$10: Chant
** #$20: Disappear
** #$40: Dog block
** #$80: Float
* $11AE: (Vigor * 2) if physical or (Magic Power) if magical
* $11AF: Level of attacker
* $11B0-$11B1: Damage


==Battle==
==Battle==
* <tt>11E0-11E1</tt> - Encountered [[Final Fantasy VI:Digits#Monster formation digits|monster formation]]
* $11E0-$11E1: Encountered monster formation. See [[Final Fantasy VI:Digits#Monster formation digits|monster formation]].
* <tt>11E2</tt> - Battle background
* $11E2: Battle background.
* $1DDD-$1E1C: Monster formations available on veldt.
 
==Items==
* $1869-$1968: Item identifier. See [[Final Fantasy VI:Digits#Item digits|Item]].
* $1969-$1A68: Item quantity.
* $1EBA-$1EBD: Rare items. See [[Final Fantasy VI:Digits#Rare item flags|Rare items]].


==Actors main characteristics==
==Magic and skills==
'''First actor''' (default</tt> - Terra)
* $1A69-$1A6C: gained Espers.
* <tt>1600</tt> - [[Final Fantasy VI:Digits#Actor digits|Actor]]
* $1A6E-$1CF5: gained spells block. (#$0C blocks, #$36 bytes/block)
* <tt>1601</tt> - Character sprite
* $1CF6: Morphy supply.
* <tt>1602-1607</tt> - Name, 1st letter to 6th letter
* $1CF7: gained Sword Tech levels.
* <tt>1608</tt> - Level
* $1D28: gained Blitz levels.
* <tt>1609-160A</tt> - Current HP
* $1D29-$1D2B: gained Lores.
* <tt>160B-160C</tt> - Max HP
* $1D2C-$1D4B: gained Rages.
* <tt>160D-160E</tt> - Current MP
* $1D4C: gained Dances.
* <tt>160F-1610</tt> - Max MP
* <tt>1611-1613</tt> - Experience
* <tt>1614-1615</tt> - Non-battle [[Final Fantasy VI:Digits#Status ailment digits|Status ailment]] (bytes 1 and 4)
* <tt>1616-1619</tt> - [[Final Fantasy VI:Digits#Battle command digits|battle command]], slot 1 to slot 4
* <tt>161A</tt> - Vigor
* <tt>161B</tt> - Speed
* <tt>161C</tt> - Stamina
* <tt>161D</tt> - Magic power
* <tt>161E</tt> - Equipped esper
* <tt>161F</tt> - [[Final Fantasy VI:Digits#Item digits|Item]] equipped on right hand
* <tt>1620</tt> - [[Final Fantasy VI:Digits#Item digits|Item]] equipped on left hand
* <tt>1621</tt> - [[Final Fantasy VI:Digits#Item digits|Item]] equipped on head
* <tt>1622</tt> - [[Final Fantasy VI:Digits#Item digits|Item]] equipped on body
* <tt>1623</tt> - [[Final Fantasy VI:Digits#Item digits|Item]] equipped on relic slot 1
* <tt>1624</tt> - [[Final Fantasy VI:Digits#Item digits|Item]] equipped on relic slot 2


'''The codes go in sequence for all 14 prime actors slots and then continue on for the 2 guest character slots.<br>
==Miscellaneous==
'''Add 0x25 from a [[Final Fantasy VI:Digits#Actor digits|actor]] to the following.
* $1860-$1862: Gil.
* $1863-$1865: Play time. (hours/minutes/seconds)
* $1866-$1868: Number of steps.
* $1CF8-$1D27: Sword Tech names. Unused in USA version. (#$08 blocks, #$06 bytes/block)


* <tt>1625-184F</tt> - actors caracteristics from slot 2 to slot 16
==Party==
* <tt>1850-185F</tt> - actors location
* $69-$6C: Characters in actual party.
{| class = "bordered" cellpadding = "4" border = "1" style = "text-align</tt> - center"
* $1A6D: Active party.
! TEAMS || T1 || T2 || T3
* $1EDE-1EDF: Gained characters.
|-
| '''slot 1''' || 0xE1 || 0xE2 || 0xE3
|-
| '''slot 2''' || 0xE9 || 0xEA || 0xEB
|-
| '''slot 3''' || 0xF1 || 0xF2 || 0xF3
|-
| '''slot 4''' || 0xF9 || 0xFA || 0xFB
|}
* <tt>1860-1862</tt> - Gils
* <tt>1863-1865</tt> - Play time (hours-minutes-seconds)
* <tt>1866-1868</tt> - Steps count


==Items==
==Misc==
* <tt>1869-1968</tt> - [[Final Fantasy VI:Digits#Item digits|Item]], slot 1 to slot 256
* $628A: Game is in Flashback Mode (#$00 = no, #$01 = yes)
* <tt>1969-1A68</tt> - Quantity, slot 1 to slot 256 (Item in slot 256 doesn't appear in the inventory).
* $62AB: Game is paused (#$00 = no, #$01 = yes)


==Magic and skills acquired==
==$7E5000==
* <tt>1A69-1A6C</tt> - Espers
[[Final Fantasy VI:7E5000 from C2686C|$7E5000 - $7E7C62 (while code/data decompressed from $C2686C - $C28A60 is active)]]
* <tt>1A6D</tt> - Active party
* <tt>1A6E-1AA3</tt> - Magic, actor 1
* <tt>1AA3-1AD9</tt> - Magic, actor 2
* <tt>1ADA-1B0F</tt> - Magic, actor 3
* <tt>1B10-1B45</tt> - Magic, actor 4
* <tt>1B46-1B7B</tt> - Magic, actor 5
* <tt>1B7C-1BB1</tt> - Magic, actor 6
* <tt>1BB2-1BE7</tt> - Magic, actor 7
* <tt>1BE8-1C1D</tt> - Magic, actor 8
* <tt>1C1E-1C53</tt> - Magic, actor 9
* <tt>1C54-1C89</tt> - Magic, actor 10
* <tt>1C8A-1CBF</tt> - Magic, actor 11
* <tt>1CC0-1CF5</tt> - Magic, actor 12
:1 byte per spell, value within [0x01,0x63] for % learning, value 0xFF = learned.
* <tt>1CF6</tt> - Terra's magic points count (used for the Morph command)
* <tt>1CF7</tt> - Sword techniques
* <tt>1CF8-1D27</tt> - Sword techniques names in japanese game, 6 bytes per name
* <tt>1D28</tt> - Blitz
* <tt>1D29-1D2B</tt> - Lores
* <tt>1D2C-1D4B</tt> - Rages
* <tt>1D4C</tt> - Dances
* <tt>1DDD-1E1C</tt> - [[Final Fantasy VI:Digits#Monster formation digits|Monster formations]] available on veldt (bits correspond to formations 0-511 on list)
* <tt>1EBA-1EBD</tt> - [[Final_Fantasy_VI:Digits#Rare_item_flags|Rare items]]


[[Category: Final Fantasy VI]]
{{Internal Data}}

Latest revision as of 14:31, 24 January 2024

Chip tiny.png The following article is a RAM map for Final Fantasy VI.

The list corresponds to RAM variables used by the game engine. They are generally accessed by LDA and STA instructions.

Actors

  • $1600-$184F: Actors block (#$10 blocks, #$25 bytes/block)
    • $1600,X: Actor identifier. See Actor.
    • $1601,X: Actor graphics.
    • $1602,X-$1607,X: Name.
    • $1608,X: Level.
    • $1609,X-$160A,X: Current HP.
    • $160B,X-$160C,X: Max HP.
    • $160D,X-$160E,X: Current MP.
    • $160F,X-$1610,X: Max MP.
    • $1611,X-$1613,X: Experience.
    • $1614,X: Non-battle status 1. See Status ailment.
    • $1615,X: Non-battle status 4. See Status ailment.
    • $1616,X-$1619,X: Battle commands. See battle command.
    • $161A,X: Vigor.
    • $161B,X: Speed.
    • $161C,X: Stamina.
    • $161D,X: Magic power.
    • $161E,X: Equipped esper.
    • $161F,X: Item equipped on right hand. See Item.
    • $1620,X: Item equipped on left hand. See Item.
    • $1621,X: Item equipped on head. See Item.
    • $1622,X: Item equipped on body. See Item.
    • $1623,X: Item equipped on relic (slot #$00). See Item.
    • $1624,X: Item equipped on relic (slot #$01). See Item.
    • Repeat for all blocks. The block index corresponds to the character.
  • $1850-$185F: Multi-party block. (#$10 blocks, #$01 bytes/block)
    • #$07: Party identifier.
    • #$18: Party slot (0-3).
    • #$20: Row.
    • #$40: Availability.
    • #$80: Leader of party.
    • Repeat for all blocks. The block index corresponds to the character.

Attack

  • $11A1: Elemental type
    • #$01: Fire
    • #$02: Ice
    • #$04: Bolt
    • #$08: Poison
    • #$10: Wind
    • #$20: Pearl
    • #$40: Earth
    • #$80: Water
  • $11A2: Attack flags
    • #$01: Physical or magical damage
    • #$02: Miss if target immune to death
    • #$04: Only target dead or undead targets
    • #$08: Make heal spells damage undead
    • #$10: Randomize target
    • #$20: Ignore defense
    • #$40: Don't split damage in multi-target spells
    • #$80: Abort on allies
  • $11A3: Attack flags
    • #$01: Spell is usable outside battle
    • #$02: Ignore reflect
    • #$04: Can learn as Lore
    • #$08: Enable Runic
    • #$10: Quick/Warp flag
    • #$20: Re-target if target is dead
    • #$40: Caster dies after attack
    • #$80: Concern MP
  • $11A4: Attack flags
    • #$01: Heal damage
    • #$02: Redirection
    • #$04: Lift status
    • #$08: Toggle status
    • #$10: Stamina used in defense
    • #$20: Can't dodge attack
    • #$40: Use evasion as Lv X Spells
    • #$80: Use HP fraction
  • $11A5: Spell cost
  • $11A6: Spell power
  • $11A7: Attack flags
    • #$01: Miss if immune to status
    • #$02: Show text is attack hits
  • $11A8: Hit rate
  • $11A9: Special effect
  • $11AA: Status
    • #$01: Dark
    • #$02: Zombie
    • #$04: Poison
    • #$08: Magitek
    • #$10: Clear
    • #$20: Imp
    • #$40: Petrify
    • #$80: Death
  • $11AB: Status
    • #$01: Condemned
    • #$02: Near fatal
    • #$04: Image
    • #$08: Mute
    • #$10: Berserk
    • #$20: Muddle
    • #$40: Seizure
    • #$80: Sleep
  • $11AC: Status
    • #$01: Dance
    • #$02: Regen
    • #$04: Slow
    • #$08: Haste
    • #$10: Stop
    • #$20: Shell
    • #$40: Safe
    • #$80: Reflect
  • $11AD: Status
    • #$01: Rage
    • #$02: Freeze
    • #$04: Life 3
    • #$08: Morph
    • #$10: Chant
    • #$20: Disappear
    • #$40: Dog block
    • #$80: Float
  • $11AE: (Vigor * 2) if physical or (Magic Power) if magical
  • $11AF: Level of attacker
  • $11B0-$11B1: Damage

Battle

  • $11E0-$11E1: Encountered monster formation. See monster formation.
  • $11E2: Battle background.
  • $1DDD-$1E1C: Monster formations available on veldt.

Items

  • $1869-$1968: Item identifier. See Item.
  • $1969-$1A68: Item quantity.
  • $1EBA-$1EBD: Rare items. See Rare items.

Magic and skills

  • $1A69-$1A6C: gained Espers.
  • $1A6E-$1CF5: gained spells block. (#$0C blocks, #$36 bytes/block)
  • $1CF6: Morphy supply.
  • $1CF7: gained Sword Tech levels.
  • $1D28: gained Blitz levels.
  • $1D29-$1D2B: gained Lores.
  • $1D2C-$1D4B: gained Rages.
  • $1D4C: gained Dances.

Miscellaneous

  • $1860-$1862: Gil.
  • $1863-$1865: Play time. (hours/minutes/seconds)
  • $1866-$1868: Number of steps.
  • $1CF8-$1D27: Sword Tech names. Unused in USA version. (#$08 blocks, #$06 bytes/block)

Party

  • $69-$6C: Characters in actual party.
  • $1A6D: Active party.
  • $1EDE-1EDF: Gained characters.

Misc

  • $628A: Game is in Flashback Mode (#$00 = no, #$01 = yes)
  • $62AB: Game is paused (#$00 = no, #$01 = yes)

$7E5000

$7E5000 - $7E7C62 (while code/data decompressed from $C2686C - $C28A60 is active)