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

From Data Crystal
Jump to navigation Jump to search
(New page: <pre>File Structure (0x2000 = 8192 bytes) Offset | Len | Description _______|______|____________ 0x0000 | 1024 | Last Save 0x0400 | 1024 | Slot #1 0x0800 | 1024 | Slot #2 0x0C00 | ...)
 
 
(29 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<pre>File Structure (0x2000 = 8192 bytes)
{{rammap|game=Final Fantasy III}}
 
==SRAM==
<pre>
Note:  Also used as work RAM.
 
File Structure (0x2000 = 8192 bytes, starts at CPU 0x6000 when mapped)


Offset | Len  | Description
Offset | Len  | Description
Line 49: Line 55:
0x0012 |  5 | Stats w/o Equip
0x0012 |  5 | Stats w/o Equip
0x0017 |  5 | Stats with Equip
0x0017 |  5 | Stats with Equip
0x001C |  1 | ?? (Always 00)
0x001D |  1 | ?? (Goes from 00 to 04 from beginning to end of game)
0x001E |  1 | Magic Evade %
0x001E |  1 | Magic Evade %
0x001F |  1 | Magic Defense
0x001F |  1 | Magic Defense
0x0020 |  1 | ?? (Barely changes from beginning to end of game)
0x0021 |  1 | Attack Roll
0x0021 |  1 | Attack Roll
0x0022 |  1 | Hit %
0x0022 |  1 | Hit %
0x0023 |  1 | Attack Power
0x0023 |  1 | Attack Power (added to weapon type and job class modifiers)
0x0024 |  1 | ?? (Always 00)
0x0025 |  1 | ?? (Known values:  10,24,20,40 from beginning to end of game)
0x0026 |  1 | Bonus Attack Roll
0x0026 |  1 | Bonus Attack Roll
0x0027 |  1 | Hit % Modifier
0x0027 |  1 | Hit % Modifier
0x0028 |  1 | Bonus Attack Power
0x0028 |  1 | Bonus Attack Power
0x0029 |  1 | ?? (Known values:  00,05)
0x002A |  1 | ?? (Known values:  00,04,18)
0x002B |  1 | Guard Roll
0x002B |  1 | Guard Roll
0x002C |  1 | Evade %
0x002C |  1 | Evade %
0x002D |  1 | Guard Power
0x002D |  1 | Guard Power
0x0030 |  16 | Curr/Max MP x 8
0x002F |  1 | ?? (Always 00, un/equiping armor resets it back to 00)
0x0030 |  1 | MP Level 1 (Current)
0x0031 |  1 | MP Level 1 (Max)
0x0032 14 | MP Levels 2-8 (Same pattern as 6130-6131)
 


Character Structure B (0x40 = 64 bytes)
Character Structure B (0x40 = 64 bytes)
Line 69: Line 86:
0x0001 |  1 | Equip: Body
0x0001 |  1 | Equip: Body
0x0002 |  1 | Equip: Arms
0x0002 |  1 | Equip: Arms
0x0003 |  1 | Equip: Right
0x0003 |  1 | Equip: Right Type
0x0004 |  1 | Equip: Left
0x0004 |  1 | Equip: Right Quantity (Used for arrows)
0x0007 |  8 | Equip: Magic
0x0005 |  1 | Equip: Left Type
0x0006 |  1 | Equip: Left Quantity
0x0007 |  8 | Equip: Magic levels 1-8
0x000F |  1 | Row (2: Front, 3: Back)
0x000F |  1 | Row (2: Front, 3: Back)
0x0010 |  44 | Job Level, Experience x 22</pre>
0x0010 |  44 | Job Level, Experience x 22 (Same order as in game;  On,Fi,Mo,Wh,Bl,Rd,Hu,etc.)
0x003C |  4 | ?? (Always 00, doesn't seem to overwrite?)
</pre>
 
==Zero Page==
<pre>
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
0042  |  1 | Vehichle(Overworld): 00 = On Foot; 03 = Boat
        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)
</pre>
 
==PPU==
<pre>
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)
</pre>
 
 
See also for CPU 8000-FFFF:  [[Final_Fantasy_III:ROM_map]]
 
{{Internal Data|game=Final Fantasy III}}

Latest revision as of 20:55, 28 January 2024

Chip tiny.png The following article is a RAM map for Final Fantasy III (NES).

SRAM

Note:  Also used as work RAM.

File Structure (0x2000 = 8192 bytes, starts at CPU 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
	0x001C |   1 | ?? (Always 00)
	0x001D |   1 | ?? (Goes from 00 to 04 from beginning to end of game)
	0x001E |   1 | Magic Evade %
	0x001F |   1 | Magic Defense
	0x0020 |   1 | ?? (Barely changes from beginning to end of game)
	0x0021 |   1 | Attack Roll
	0x0022 |   1 | Hit %
	0x0023 |   1 | Attack Power (added to weapon type and job class modifiers)
	0x0024 |   1 | ?? (Always 00)
	0x0025 |   1 | ?? (Known values:  10,24,20,40 from beginning to end of game)
	0x0026 |   1 | Bonus Attack Roll
	0x0027 |   1 | Hit % Modifier
	0x0028 |   1 | Bonus Attack Power
	0x0029 |   1 | ?? (Known values:  00,05)
	0x002A |   1 | ?? (Known values:  00,04,18)
	0x002B |   1 | Guard Roll
	0x002C |   1 | Evade %
	0x002D |   1 | Guard Power
	0x002F |   1 | ?? (Always 00, un/equiping armor resets it back to 00)
	0x0030 |   1 | MP Level 1 (Current)
	0x0031 |   1 | MP Level 1 (Max)
	0x0032 |  14 | MP Levels 2-8 (Same pattern as 6130-6131)


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 Type
	0x0004 |   1 | Equip: Right Quantity (Used for arrows)
	0x0005 |   1 | Equip: Left Type
	0x0006 |   1 | Equip: Left Quantity
	0x0007 |   8 | Equip: Magic levels 1-8
	0x000F |   1 | Row (2: Front, 3: Back)
	0x0010 |  44 | Job Level, Experience x 22 (Same order as in game;  On,Fi,Mo,Wh,Bl,Rd,Hu,etc.)
	0x003C |   4 | ?? (Always 00, doesn't seem to overwrite?)

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
	0042   |   1 | Vehichle(Overworld): 00 = On Foot; 03 = Boat
        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 CPU 8000-FFFF: Final_Fantasy_III:ROM_map