If you are still using the old URL (datacrystal.romhacking.net), please update your bookmarks! The old URL may stop working at any time.
The current URL is datacrystal.tcrf.net.
The current URL is datacrystal.tcrf.net.
Arcana/RAM map
< Arcana
Jump to navigation
Jump to search
(Back to Main page)
- The list corresponds to RAM variables used by the game engine. They are generally accessed by LDA and STA instructions.
Battle
- $0624-$0626: Active spirit's HP (Format: BCD)
- $062D: Offset*2 used with $11F3
- $0643-065x: Enemies in battle (Enemy ID + 18), set to FFFF when killed
- $09D3-DA: Item/Spell/Enemy chosen (Items: 00-??) (Spells: 00-0C) (Enemy target: 14, 16, 18, 1A, 1C) (Party target: 00, 01, 02, 03) (Rooks $D3-D4, Spirit $D5-D6, Guest1 $D7-D8, Guest2 $D9-DA)
- $09ED: Whose turn is it (Allies 0-3, enemies 4+) (May have other uses)
- $0A15: Offset for treasure chest opened
- $0A87-$0A8E: Current selected battle command (2 bytes per character)
- #$0001: Main menu
- #$0003: Items/Magic
- #$0004: Cards
- #$0005: Weapons
- #$0007: Attack
- $1049: Code pointer
- $1064: Current music
- $1066: Current sfx
- $11C3: Party condition (a series of words in the order: Rooks, Spirit, Guest1, Guest2, Enemies 1-8)
- Odd byte:
- #$00: Satisfactory
- #$01: Deceased
- #$02: Not Here
- #$03: Paralyzed
- #$04: Petrified
- #$05: Confused
- #$06: Sleeping
- Even byte: #$01 indicates a party member
- Odd byte:
- $11F3-11FA: Order that spells hit the party (2 bytes per character)
- #$0000: Upper left
- #$0001: Upper right
- #$0002: Lower left
- #$0003: Lower right
- $120B: Rooks' Element/Race
- $120D: Spirit's Element/Race
- $120F: Guest1's Element/Race
- $1212: Guest2's Element/Race
- $1214: Enemy1's Element/Race
- Bytes continue with Enemy2-8 in order
- $1223: Rooks' Strength
- $1225: Spirit's Strength
- $1227: Guest1's Strength
- $1229: Guest2's Strength
- $122B: Enemy1's Strength (table offset?)
- Bytes continue with Enemy2-8 in order
- $123B: Rooks' Intelligence (reduces magic damage taken)
- $123D: Spirit's Intelligence
- $123F: Guest1's Intelligence
- $1241: Guest2's Intelligence
- $1243: Monsters' Intelligence (affects spell damage)
- Bytes continue with Enemy2-8 in order
- $1253: Rooks' Endurance (reduces physical damage taken)
- $1255: Spirit's Endurance
- $1257: Guest1's Endurance
- $1259: Guest2's Endurance
- $125B: Enemy1's Endurance
- Bytes continue with Enemy2-8 in order
- $126B: Rooks' Alertness (affects accuracy, evasion and critical hits)
- $126D: Spirit's Alertness
- $126F: Guest1's Alertness
- $1271: Guest2's Alertness
- $1273: Enemy1's Alertness
- Bytes continue with Enemy2-8 in order
- $1283: Equipped weapons
- Two bytes each, in order of Rooks, Guest 1 and Guest 2.
- item ID / "Equipped by" flag
- "Equipped by" flags:
- #$00: Rooks
- #$05: Teefa
- #$06: Salah
- #$07: Darwin
- #$08: Axs
- Two bytes each, in order of Rooks, Guest 1 and Guest 2.
- $129B: Equipped armors
- $12B3: Equipped shields/accessories
- $12CB: Equipped rings
- $12E3: Accuracy modifier (concerns Acc. Increase All and Accuracy Impair)
- There are 3 possible states: StatDown, Normal and StatUp. StatUp and StatDown cancel each other out.
- Byte values are as follows:
- #$01: Rooks' accuracy up
- #$04: Spirit's accuracy up
- #$10: Guest1's accuracy up
- #$40: Guest2's accuracy up
- #$02: Rooks' accuracy down
- #$08: Spirit's accuracy down
- #$20: Guest1's accuracy down
- #$80: Guest2's accuracy down
- $12E7: Evasion modifier (concerns Dodge All and Offense Impair) (same flags)
- $12EB: Attack modifier (concerns Stomp All and Attack Impair) (same flags)
- $12EF: Defense modifier (concerns Wall All and Defense Impair) (same flags)
- $12F3: HP, Rooks
- $12F5: HP, Spirit
- $12F7: HP, Guest1
- $12F9: HP, Guest2
- $12FB: HP, Enemy1
- Bytes continue with Enemy2-8 in order
- $1323: MP, Rooks
- $1325: MP, Spirit
- $1327: MP, Guest1
- $1329: MP, Guest2
- $132B: MP, Enemy1
- Bytes continue with Enemy2-8 in order
- $1393: Max HP, Rooks
- $1395: Max HP, Spirit
- $1397: Max HP, Guest1
- $1399: Max HP, Guest2
- (Next byte is Rooks' Max HP -> Enemies have no max HP/MP stat)
- $139B: Max MP, Rooks
- $139D: Max MP, Spirit
- $139F: Max MP, Guest1
- $13A1: Max MP, Guest2
- $13A9: Card inventory (Two bytes each, eight entries)
- (item ID / quantity)
- $13B9: Item inventory (Two bytes each, 48 entries)
- (item ID / quantity)
- $1419: Equipment inventory (Two bytes each, 48 entries)
- (item ID / quantity)
- $1459: Rooks' spell list (Two bytes each, 32 entries)
- $1499: Spirit's spell list (Two bytes each, 32 entries?)
- $14D9: Guest1's spell list (Two bytes each, 32 entries?)
- $1519: Guest2's spell list (Two bytes each, 32 entries?)
- $1559: Current GP
- $155B: Current party (Two bytes each)
- #$00: Rooks
- #$01: Sylph
- #$02: Marid
- #$03: Dao
- #$04: Efrite
- #$05: Teefa
- #$06: Salah
- #$07: Darwin
- #$08: Axs
- #$09: (Empty slot)
Inventory
- $13A9-$13B7: Card inventory (2 bytes per slot, ID then quantity)
- #$00: Empty slot
- #$01: Wind Card
- #$02: Earth Card
- #$03: Water Card
- #$04: Fire Card
- #$05: Null Card
- #$06: Fog Card
- #$07: Call Amulet
- #$08: Mirror Card (bugged)
- $13B9-$1418: Item inventory (2 bytes per slot, $30 slots: ID then #$00)
- #$01: Return Ring
- #$02: Water of Life (dummied)
- #$03: Sleeping Bag
- #$04: Tent
- #$05: Strength Honey
- #$06: Intelligence Honey
- #$07: Endurance Honey
- #$08: Agility Honey
- #$09: Restore Honey
- #$0A: MP Honey
- #$0B: Herbs
- #$0C: Medicine
- #$0D: Silver Flask
- #$0E: Gold Flask
- #$0F: Maiden's Tears
- #$10: Moon Oil
- #$11: Enchanted Jewel (dummied)
- $1419-1458: Equipment inventory (2 bytes per slot, $20 slots: ID then Equipped By)
- Equipped by flags:
- #$00: Rooks
- #$05: Teefa
- #$06: Salah
- #$07: Darwin
- #$08: Axs
- #$FF: Nobody
Actors Continued
- $1459-$1398: Rooks' spell list (2 bytes per entry, Spell ID followed by #$00)
- $1499-14D8: Spirit's spell list
- $14D9-1518: Guest1's spell list
- $1519-1558: Guest2's spell list
- $155D: Active spirit
- $01: Sylph
- $02: Dao
- $03: Marid
- $04: Efrite
- $09: none
- $155F: Guest1
- $1561: Guest2
- $05: Teefa
- $06: Salah
- $07: Darwin
- $08: Axs
- $09: none
Miscellaneous
- $1573: ?? (Checked before changing music)
- $1577: Window color (Bit depth: 0BBB B0GG GG0R RRR0)
- $1579: Encounter related
- $157B: Graphics related
- $1580-16DF: Current display
- For spells, names are preceded by 06 0D (white) if usable and 06 0E (grayed) if not.
- $16DB: Temp var (Attack power, battle damage, )
- $16DD: Temp var (Defense power)
- $16F3: #$01 if in motion, #$00 if standing still
- $16F5: Current floor tile value
- $16F7: Dungeon X position
- $16F9: Dungeon Y position
- $16FB: Current direction (#$00 North, #$02 East, #$04 South, #$06 West)
- $16FD: Related to random encounters (usually 0)
- $16FF: Suspected dungeon progress
- $17BF: Suspected dungeon progress
- $18CD: Current Chapter # (01-05)
- $18DA: Pointer used for encounters?
- $18E3-$18E8: Treasure chest flags (each chest has its own bit)
- $1E10: Pointer to current data being processed ([10])