Final Fantasy III (NES)/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
(→‎WRAM: Finished 62XX page)
Line 80: Line 80:
</pre>
</pre>


==WRAM==
==Zero Page==
<pre>
<pre>
Zero Page Variables
Zero Page Variables
Line 94: Line 94:
0068  |  1 | Horizontal position that NPCs think you're at (They can walk through you if you change this)
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)
00F5  |  1 | Encounter Counter (Goes up when doing stuff like using potions or moving on screen)
</pre>
<pre>
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-620E |    1 | 1P Spells known levels 1-8 (See table for bitfields)
620F      |    1 | 1P Row (02=Front, 03=Back)
6210      |    1 | 1P OnionKid Skill Level
6211      |    1 | 1P ??
6212      |    1 | 1P Fighter Skill Level
6213      |    1 | 1P ??
6214      |    1 | 1P Monk Skill Level
6215      |    1 | 1P ??
6216      |    1 | 1P WhiteWiz Skill Level
6217      |    1 | 1P ??
6218      |    1 | 1P BlackWiz Skill Level
6219      |    1 | 1P ??
621A      |    1 | 1P RedWiz Skill Level
621B      |    1 | 1P ??
621C      |    1 | 1P Hunter Skill Level
621D      |    1 | 1P ??
621E      |    1 | 1P Knight Skill Level
621F      |    1 | 1P ??
6220      |    1 | 1P Thief Skill Level
6221      |    1 | 1P ??
6222      |    1 | 1P Scholar Skill Level
6223      |    1 | 1P ??
6224      |    1 | 1P Geomancer Skill Level
6225      |    1 | 1P ??
6226      |    1 | 1P Dragoon Skill Level
6227      |    1 | 1P ??
6228      |    1 | 1P Viking Skill Level
6229      |    1 | 1P ??
622A      |    1 | 1P Karateka Skill Level
622B      |    1 | 1P ??
622C      |    1 | 1P M. Knight Skill Level
622D      |    1 | 1P ??
622E      |    1 | 1P Conjurer Skill Level
622F      |    1 | 1P ??
6230      |    1 | 1P Bard Skill Level
6231      |    1 | 1P ??
6232      |    1 | 1P Warlock Skill Level
6233      |    1 | 1P ??
6234      |    1 | 1P Shaman Skill Level
6235      |    1 | 1P ??
6236      |    1 | 1P Summoner Skill Level
6237      |    1 | 1P ??
6238      |    1 | 1P Sage Skill Level
6239      |    1 | 1P ??
623A      |    1 | 1P Ninja Skill Level
623B      |    1 | 1P ??
623C-623F |    4 | 1P ?? (Always 00, doesn't seem to overwrite?)
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:57, 22 October 2014

Chip tiny.png 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

Zero Page

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)

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.