If you are still using the old URL (datacrystal.romhacking.net), please update your bookmarks! The old URL may stop working soon.
The current URL is datacrystal.tcrf.net.
The current URL is datacrystal.tcrf.net.
Arcana/RAM map: Difference between revisions
< Arcana
Jump to navigation
Jump to search
mNo edit summary |
No edit summary |
||
Line 8: | Line 8: | ||
* $062D: Offset*2 used with $11F3 | * $062D: Offset*2 used with $11F3 | ||
* $0643-065x: Enemies in battle (Enemy ID + 18), set to FFFF when killed | * $0643-065x: Enemies in battle (Enemy ID + 18), set to FFFF when killed | ||
* $06F9: X position of cursor | |||
* $071D: Y position of cursor | |||
* $09CB: Turn status (02: not turning, 00: turning left, 01: turning right) | |||
* $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) | * $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) | * $09ED: Whose turn is it (Allies 0-3, enemies 4+) (May have other uses) | ||
* $0A15: Offset for treasure chest opened | * $0A15: Offset for treasure chest opened | ||
* $0A7F: Compass heading (00: N, 02: NE, 04: E, 06: SE... 0E: NW) (Tracks diagonals unlike $16FB) | |||
* $0A87-$0A8E: Current selected battle command (2 bytes per character) | * $0A87-$0A8E: Current selected battle command (2 bytes per character) | ||
** #$0001: Main menu | ** #$0001: Main menu | ||
Line 16: | Line 20: | ||
** #$0004: Cards | ** #$0004: Cards | ||
** #$0005: Weapons | ** #$0005: Weapons | ||
** #$ | ** #$0008: Attack | ||
* $0B9F,x: Stores function results (0=failure) | |||
* $0CB3,x: Stores function results (0=failure) | |||
* $1049: Code pointer | * $1049: Code pointer | ||
* $105A: Caches which H-DMA channels to run | |||
* $1064: Current music | * $1064: Current music | ||
* $1066: Current sfx | * $1066: Current sfx | ||
* $10EB-C: ASCII values for number being displayed | |||
* $1123: Used for asm x offsets | |||
* $11B9: Current page# in item list | |||
* $11C3: Party condition (a series of words in the order: Rooks, Spirit, Guest1, Guest2, Enemies 1-8) | * $11C3: Party condition (a series of words in the order: Rooks, Spirit, Guest1, Guest2, Enemies 1-8) | ||
** Odd byte: | ** Odd byte: |
Revision as of 20:03, 14 November 2020
(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
- $06F9: X position of cursor
- $071D: Y position of cursor
- $09CB: Turn status (02: not turning, 00: turning left, 01: turning right)
- $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
- $0A7F: Compass heading (00: N, 02: NE, 04: E, 06: SE... 0E: NW) (Tracks diagonals unlike $16FB)
- $0A87-$0A8E: Current selected battle command (2 bytes per character)
- #$0001: Main menu
- #$0003: Items/Magic
- #$0004: Cards
- #$0005: Weapons
- #$0008: Attack
- $0B9F,x: Stores function results (0=failure)
- $0CB3,x: Stores function results (0=failure)
- $1049: Code pointer
- $105A: Caches which H-DMA channels to run
- $1064: Current music
- $1066: Current sfx
- $10EB-C: ASCII values for number being displayed
- $1123: Used for asm x offsets
- $11B9: Current page# in item list
- $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])