Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.
The wiki has recently moved; please report any issues in Discord. Pardon the dust.
Final Fantasy III (NES)/RAM map
Jump to navigation
Jump to search
The following article is a RAM map for Final Fantasy III (NES).
SRAM
File Structure (0x2000 = 8192 bytes, starts at 0x6000 when mapped) Offset | Len | Description _______|______|____________ 0x0000 | 1024 | Last Save 0x0400 | 1024 | Slot #1 0x0800 | 1024 | Slot #2 0x0C00 | 1024 | Slot #3 Save Slot Structure (0x400 = 1024 bytes) Offset | Len | Description _______|_____|______________________ 0x0000 | 1 | Any Airship Visible 0x0001 | 1 | Airship X 0x0002 | 1 | Airship Y 0x0004 | 1 | Big Airship Visible 0x0005 | 1 | Big Airship X 0x0006 | 1 | Big Airship Y 0x0008 | 1 | Map ID 0x0009 | 1 | Player X 0x000A | 1 | Player Y 0x000B | 1 | Following 0x000E | 1 | Player Icon 0x000F | 1 | Player Vehicle 0x0014 | 1 | Save Count 0x001A | 1 | Checksum 0x001B | 1 | CP (Change Points) 0x001C | 3 | Gold 0x0021 | 1 | Crystal Level (Max: 0x1F) 0x00C0 | 32 | Inventory IDs 0x00E0 | 32 | Inventory Count 0x0100 | 256 | Characters A x 4 0x0200 | 256 | Characters B x 4 Character Structure A (0x40 = 64 bytes) Offset | Len | Description _______|_____|_____________________ 0x0000 | 1 | Job ID 0x0001 | 1 | Level (Starts at 0) 0x0002 | 1 | Status 0x0003 | 3 | Experience 0x0006 | 6 | Name 0x000C | 2 | Current HP 0x000E | 2 | Maximum HP 0x0010 | 1 | Current Job Level 0x0011 | 1 | Current Job Experience 0x0012 | 5 | Stats w/o Equip 0x0017 | 5 | Stats with Equip 0x001E | 1 | Magic Evade % 0x001F | 1 | Magic Defense 0x0021 | 1 | Attack Roll 0x0022 | 1 | Hit % 0x0023 | 1 | Attack Power 0x0026 | 1 | Bonus Attack Roll 0x0027 | 1 | Hit % Modifier 0x0028 | 1 | Bonus Attack Power 0x002B | 1 | Guard Roll 0x002C | 1 | Evade % 0x002D | 1 | Guard Power 0x0030 | 16 | Curr/Max MP x 8 Character Structure B (0x40 = 64 bytes) Offset | Len | Description _______|_____|_____________________ 0x0000 | 1 | Equip: Head 0x0001 | 1 | Equip: Body 0x0002 | 1 | Equip: Arms 0x0003 | 1 | Equip: Right 0x0004 | 1 | Equip: Left 0x0007 | 8 | Equip: Magic 0x000F | 1 | Row (2: Front, 3: Back) 0x0010 | 44 | Job Level, Experience x 22
WRAM
Zero Page Variables Offset | Len | Description _______|_____|_____________________ 0027 | 1 | Horizontal position (Overworld) 0029 | 1 | Horizontal position (Non-overworld) in area 002A | 1 | Vertical position (Non-overworld) in area (needs more details/incomplete) 002B | 1 | Horizontal position (Overworld) that tile engine sees? 0031 | 1 | Horizontal position (Overworld) that tile engine sees? 0033 | 4b | Direction character walks/faces (Non-overworld) 01=Right 02=Left 04=Down 08=Up 0068 | 1 | Horizontal position that NPCs think you're at (They can walk through you if you change this) 00F5 | 1 | Encounter Counter (Goes up when doing stuff like using potions or moving on screen)
40-7F pages Offset | Len | Description __________|______|_____________________ 4000-5FFF | 2000 | Open bus 6000-7FFF | 2000 | Battery-backed SRAM when enabled (Also used as work RAM) 60C0-60DF | 20 | Item types in inventory screen 60E0-60FF | 20 | Item quantity in inventory screen 6100 | 1 | 1P Job 6101 | 1 | 1P Level 6102 | 1 | 1P Status conditions 6103-6105 | 3 | 1P Experience 6106-610B | 6 | 1P ?? (Never changes - some kind of PRNG seed/salt?) 610C-610D | 2 | 1P HP (Current) 610E-610F | 2 | 1P HP (Max) 6110 | 1 | 1P Skill level in job 6111 | 1 | 1P Job 6112-6116 | 4 | 1P Strength, Agility, Vitality, Intellect, Spirit (Base) 6117-611B | 4 | 1P Strength, Agility, Vitality, Intellect, Spirit (After equipment) 611C | 1 | 1P ?? (Always 00) 611D | 1 | 1P ?? (Goes from 00 to 04 from beginning to end of game) 611E | 1 | 1P Magic Evade 611F | 1 | 1P Magic Defense 6120 | 1 | 1P ?? (Barely changes from beginning to end of game) 6121 | 1 | 1P ?? (Barely changes from beginning to end of game) 6122 | 1 | 1P ?? (Barely changes from beginning to end of game) 6123 | 1 | 1P Attack damage(per hit) added to weapon type and job class modifiers 6124 | 1 | 1P ?? (Always 00) 6125 | 1 | 1P ?? (Known values: 10,24,20,40 from beginning to end of game) 6126 | 1 | 1P ?? (Known values: 03,04,08 from beginning to end of game) 6127 | 6b? | 1P ?? (Known values: 00-63) 6128 | 1 | 1P ?? (Increases from beginning of game to end) 6129 | 1 | 1P ?? (Known values: 00,05) 612A | 1 | 1P ?? (Known values: 00,04,18) 612B | 1 | 1P ?? (Known values: 01,02,04) 612C | 1 | 1P Evade 612D | 1 | 1P Defence 612E | 1 | 1P Hidden defensive stat? (Always the same as highest value for single Body/Head pieces equiped) 612F | 1 | 1P ?? (Always 00, un/equiping armor resets it back to 00) 6130 | 1 | 1P MP Level 1 (Current) 6131 | 1 | 1P MP Level 1 (Max) 6132-613F | 1 | 1P MP Levels 2-8 (Same pattern as 6130-6131) 6140-617F | 40 | 2P repeat of 6100-613F 6180-61BF | 40 | 3P repeat of 6100-613F 61C0-61FF | 40 | 4P repeat of 6100-613F 6200 | 1 | 1P Head equipment type 6201 | 1 | 1P Body equipment type 6202 | 1 | 1P Hand equipment type 6203 | 1 | 1P RHand type 6204 | 1 | 1P RHand quantity (Say, for arrows) 6205 | 1 | 1P LHand type 6206 | 1 | 1P LHand quantity 6207 | 1 | 1P LHand type 6208 | 1 | 1P LHand quantity 6240-627F | 40 | 2P repeat of 6200-623F 6280-62BF | 40 | 3P repeat of 6200-623F 62C0-62FF | 40 | 4P repeat of 6200-623F
PPU
CHR-RAM Offset | Len | Description __________|______|_____________________ 0000-07FF | 2000 | Bank pair (2KB) 0800-0FFF | 2000 | Bank pair (2KB) 1000-13FF | 2000 | Bank (1KB) 1400-17FF | 2000 | Bank (1KB) 1800-1BFF | 2000 | Bank (1KB) 1C00-1FFF | 2000 | Bank (1KB)
See also for 8000-FFFF: Final_Fantasy_III:ROM_map Note: Not done yet - need to find out why this was deleted.