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.
Final Fantasy III (NES)/RAM map: Difference between revisions
Jump to navigation
Jump to search
(→WRAM: Now on to verifying 6130's... Those 6120's are quite a puzzle - debugger breakpoint time!) |
(→WRAM: MP cur/max done, so now on to 6209-623F!) |
||
Line 102: | Line 102: | ||
4000-5FFF | 2000 | Open bus | 4000-5FFF | 2000 | Open bus | ||
6000-7FFF | 2000 | Battery-backed SRAM when enabled (Also used as work RAM) | 6000-7FFF | 2000 | Battery-backed SRAM when enabled (Also used as work RAM) | ||
60C0-60DF | | 60C0-60DF | 20 | Item types in inventory screen | ||
60E0-60FF | | 60E0-60FF | 20 | Item quantity in inventory screen | ||
6100 | 1 | 1P Job | 6100 | 1 | 1P Job | ||
6101 | 1 | 1P Level | 6101 | 1 | 1P Level | ||
Line 135: | Line 135: | ||
612E | 1 | 1P Hidden defensive stat? (Always the same as highest value for single Body/Head pieces equiped) | 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) | 612F | 1 | 1P ?? (Always 00, un/equiping armor resets it back to 00) | ||
6140-617F | | 6130 | 1 | 1P MP Level 1 (Current) | ||
6180-61BF | | 6131 | 1 | 1P MP Level 1 (Max) | ||
61C0-61FF | | 6132-613F | 1 | 1P MP Levels 2-8 (Same pattern as 6130-6131) | ||
6200 | | 6140-617F | 40 | 2P repeat of 6100-613F | ||
6201 | | 6180-61BF | 40 | 3P repeat of 6100-613F | ||
6202 | | 61C0-61FF | 40 | 4P repeat of 6100-613F | ||
6203 | | 6200 | 1 | 1P Head equipment type | ||
6204 | | 6201 | 1 | 1P Body equipment type | ||
6205 | | 6202 | 1 | 1P Hand equipment type | ||
6206 | | 6203 | 1 | 1P RHand type | ||
6207 | | 6204 | 1 | 1P RHand quantity (Say, for arrows) | ||
6208 | | 6205 | 1 | 1P LHand type | ||
6240-627F | | 6206 | 1 | 1P LHand quantity | ||
6280-62BF | | 6207 | 1 | 1P LHand type | ||
62C0-62FF | | 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 | |||
</pre> | </pre> | ||
Revision as of 08:05, 22 October 2014
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.