Difference between revisions of "Main Page"

From Final Fantasy Inside
Jump to navigation Jump to search
my_wiki>Vegetass4
m (Save Memory Bank 3/4)
my_wiki>Sithlord48
(The Savemap)
Line 1: Line 1:
=== The Savemap ===
+
=== The Savemap ===  
 
+
The following is the general save format for the game. This data excludes the header data that differs between the PSX and PC version. (PSX header is 512 Bytes, checksum @ 0x200) (PC header is 9 bytes, checksum @ 0x11)  
The following is the general save format for the game. This data excludes the header data that differs between the PSX and PC version. (PSX header is 512 Bytes, checksum @ 0x200) (PC header is 9 bytes, checksum @ 0x11)
 
 
 
 
Note: For the ''preview'' descriptions below, changing these values does not change any in-game values. These are only used so a player can preview the data within the save file when viewing the Save menu.
 
Note: For the ''preview'' descriptions below, changing these values does not change any in-game values. These are only used so a player can preview the data within the save file when viewing the Save menu.
 
+
{| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;"
+
{| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse; width: 600px;"
 
|+'''Table 1: FF7 Save Slot'''
 
|+'''Table 1: FF7 Save Slot'''
 
! style="background:rgb(204,204,204)" align="center" | Offset
 
! style="background:rgb(204,204,204)" align="center" | Offset
Line 15: Line 13:
 
| colspan="2" | Checksum ([http://forums.qhimm.com/index.php?topic=4211.msg60545#msg60545 how to generate])
 
| colspan="2" | Checksum ([http://forums.qhimm.com/index.php?topic=4211.msg60545#msg60545 how to generate])
 
|-
 
|-
| 0x0002
+
|style="background:rgb(255,205,154)"| 0x0002
| 2 bytes
+
|style="background:rgb(255,205,154)"| 2 bytes
| colspan="2" | Unknown  
+
|style="background:rgb(255,205,154)" colspan="2" | z_1 Unknown (Always 0x00?)
 
|-
 
|-
 
| 0x0004
 
| 0x0004
Line 88: Line 86:
 
| 0x0054
 
| 0x0054
 
| 132 bytes
 
| 132 bytes
| colspan="2" | Character record: Cloud [see below for Character record format]
+
| colspan="2" | Character record: Cloud [see below for [[#Character_Record|Character record format]]]
 
|-
 
|-
 
| 0x00D8
 
| 0x00D8
 
| 132 bytes
 
| 132 bytes
| colspan="2" | Character record: Barret
+
| colspan="2" | Character record: Barret [see below for [[#Character_Record|Character record format]]]
 
|-
 
|-
 
| 0x015C
 
| 0x015C
 
| 132 bytes
 
| 132 bytes
| colspan="2" | Character record: Tifa
+
| colspan="2" | Character record: Tifa [see below for [[#Character_Record|Character record format]]]
 
|-
 
|-
 
| 0x01E0
 
| 0x01E0
 
| 132 bytes
 
| 132 bytes
| colspan="2" | Character record: Aeris
+
| colspan="2" | Character record: Aeris [see below for [[#Character_Record|Character record format]]]
 
|-
 
|-
 
| 0x0264
 
| 0x0264
 
| 132 bytes
 
| 132 bytes
| colspan="2" | Character record: Red XIII
+
| colspan="2" | Character record: Red XIII [see below for [[#Character_Record|Character record format]]]
 
|-
 
|-
 
| 0x02E8
 
| 0x02E8
 
| 132 bytes
 
| 132 bytes
| colspan="2" | Character record: Yuffie
+
| colspan="2" | Character record: Yuffie [see below for [[#Character_Record|Character record format]]]
 
|-
 
|-
 
| 0x036C
 
| 0x036C
 
| 132 bytes
 
| 132 bytes
| colspan="2" | Character record: Cait Sith (or Young Cloud)
+
| colspan="2" | Character record: Cait Sith (or Young Cloud) [see below for [[#Character_Record|Character record format]]]
 
|-
 
|-
 
| 0x03F0
 
| 0x03F0
 
| 132 bytes
 
| 132 bytes
| colspan="2" | Character record: Vincent (or Sephiroth)
+
| colspan="2" | Character record: Vincent (or Sephiroth) [see below for [[#Character_Record|Character record format]]]
 
|-
 
|-
 
| 0x0474
 
| 0x0474
 
| 132 bytes
 
| 132 bytes
| colspan="2" | Character record: Cid
+
| colspan="2" | Character record: Cid [see below for [[#Character_Record|Character record format]]]
 
|-
 
|-
 
| 0x04F8
 
| 0x04F8
Line 134: Line 132:
 
| colspan="2" | Party member in slot 3
 
| colspan="2" | Party member in slot 3
 
|-
 
|-
| 0x04FB
+
|style="background:rgb(255,205,154)"| 0x04FB
| 1 byte
+
|style="background:rgb(255,205,154)"| 1 byte
| colspan="2" | 0xFF
+
|style="background:rgb(255,205,154)" colspan="2" | z_2 Unknown (Always 0xFF?)
 
|-
 
|-
 
| 0x04FC
 
| 0x04FC
Line 150: Line 148:
 
| colspan="2" | Materia stolen by Yuffie, 4 bytes per materia, 48 materia max [See [[#Save_Materia_List|save materia list]] ]
 
| colspan="2" | Materia stolen by Yuffie, 4 bytes per materia, 48 materia max [See [[#Save_Materia_List|save materia list]] ]
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0B5C
+
|style="background:rgb(255,205,154)" | 0x0B5C
|style="background:rgb(255,255,204)" | 32 bytes
+
|style="background:rgb(255,205,154)" | 32 bytes
|style="background:rgb(255,255,204)" colspan="2" | Unknown
+
|style="background:rgb(255,205,154)" colspan="2" | z_3 Unknown (Always 0xFF?)
 
|-
 
|-
 
| 0x0B7C
 
| 0x0B7C
Line 166: Line 164:
 
| colspan="2" | Countdown Timer (HH:MM:SS)
 
| colspan="2" | Countdown Timer (HH:MM:SS)
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0B87
+
|style="background:rgb(255,205,154); border-bottom: 1px solid #FF9A33" | 0x0B87
|style="background:rgb(255,255,204)" | 13 bytes
+
|style="background:rgb(255,205,154); border-bottom: 1px solid #FF9A33" | 13 bytes
|style="background:rgb(255,255,204)" colspan="2" | Unknown (related to Current map)
+
|style="background:rgb(255,205,154); border-bottom: 1px solid #FF9A33" colspan="2" | z_4 Unknown
 +
|-
 +
|style="background:rgb(255,205,154); border-top: 1px dashed" | 0x0B88<br />z_4[1]
 +
|style="background:rgb(255,255,204); border-top: 1px dashed; border-left: 1px dashed; border-right: 1px dashed" | 1 byte
 +
|style="background:rgb(255,255,204); border-top: 1px dashed" colspan="2" | Game timer / ~ 10 times faster that 0x0B89
 +
|-
 +
|style="background:rgb(255,205,154); border-top: 1px dashed" | 0x0B89<br />z_4[2]
 +
|style="background:rgb(255,255,204); border-top: 1px dashed; border-left: 1px dashed; border-right: 1px dashed" | 1 byte
 +
|style="background:rgb(255,255,204); border-top: 1px dashed" colspan="2" | Game timer / from 0 to 255 in one sec
 +
|-
 +
|style="background:rgb(255,205,154); border-top: 1px dashed" | 0x0B8A<br />z_4[3]
 +
|style="background:rgb(255,255,204); border-top: 1px dashed; border-left: 1px dashed; border-right: 1px dashed" | 2 bytes
 +
|style="background:rgb(255,255,204); border-top: 1px dashed" colspan="2" | Unknown 0x00 padding?
 +
|-
 +
|style="background:rgb(255,205,154); border-top: 1px dashed" | 0x0B8C<br />z_4[5]
 +
|style="background:rgb(255,255,204); border-top: 1px dashed; border-left: 1px dashed; border-right: 1px dashed" | 1 byte
 +
|style="background:rgb(255,255,204); border-top: 1px dashed" colspan="2" | Same value that 0x0B88. Game timer cs(Centiseconds???)
 +
|-
 +
|style="background:rgb(255,205,154); border-top: 1px dashed" | 0x0B8D<br />z_4[6]
 +
|style="background:rgb(255,255,204); border-top: 1px dashed; border-left: 1px dashed; border-right: 1px dashed" | 1 byte
 +
|style="background:rgb(255,255,204); border-top: 1px dashed" colspan="2" | Same value that 0x0B89. Game timer dc(Deciseconds???)
 +
|-
 +
|style="background:rgb(255,205,154); border-top: 1px dashed" | 0x0B8E<br />z_4[7]
 +
|style="background:rgb(255,255,204); border-top: 1px dashed; border-left: 1px dashed; border-right: 1px dashed" | 2 bytes
 +
|style="background:rgb(255,255,204); border-top: 1px dashed" colspan="2" | Unknown 0x00 padding?
 
|-
 
|-
 
| 0x0B94
 
| 0x0B94
Line 178: Line 200:
 
| colspan="2" | Current location
 
| colspan="2" | Current location
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0B98
+
|style="background:rgb(255,205,154)" | 0x0B98
|style="background:rgb(255,255,204)" | 2 bytes
+
|style="background:rgb(255,205,154)" | 2 bytes
|style="background:rgb(255,255,204)" colspan="2" | Unknown
+
|style="background:rgb(255,205,154)" colspan="2" | z_5 Unknown
 
|-
 
|-
 
| 0x0B9A
 
| 0x0B9A
 
| 2 bytes
 
| 2 bytes
| colspan="2" | X location on world map
+
| colspan="2" | X location on Field map (Signed)
 
|-
 
|-
 
| 0x0B9C
 
| 0x0B9C
 
| 2 bytes
 
| 2 bytes
| colspan="2" | Y location on world map
+
| colspan="2" | Y location on Field map (Signed)
 
|-
 
|-
 
| 0x0B9E
 
| 0x0B9E
 
| 2 bytes
 
| 2 bytes
| colspan="2" | Z location on world map
+
| colspan="2" | Triangle Id of player on Field map (Unsigned)
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0BA0
 
|style="background:rgb(255,255,204)" | 3 bytes
 
|style="background:rgb(255,255,204)" colspan="2" | Unknown. Related to map location and coordinates.
 
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0BA3
+
| 0x0BA0
|style="background:rgb(255,255,204)" | 1 byte
+
| 1 byte
|style="background:rgb(255,255,204)" colspan="2" | Unknown
+
| colspan="2" | Direction of Player Model on Field Map(Unsigned)
 
|-
 
|-
|style="background:rgb(255,205,154)" | 0x0BA4
+
 
|style="background:rgb(255,205,154)" |
+
|style="background:rgb(255,205,154); border-bottom: 1px solid #FF9A33" | 0x0BA1
|style="background:rgb(255,205,154)" colspan="2" | [BEGINNING OF MEMORY BANK 1/2]
+
|style="background:rgb(255,205,154); border-bottom: 1px solid #FF9A33" | 3 bytes
 +
|style="background:rgb(255,205,154); border-bottom: 1px solid #FF9A33" colspan="2" | z_6 Unknown
 
|-
 
|-
|style="background:rgb(255,205,154)" | 0x0CA4
+
|style="background:rgb(255,205,154); border-top: 1px dashed" | 0x0BA1<br />z_6[0]
|style="background:rgb(255,205,154)" |
+
|style="background:rgb(255,255,204); border-top: 1px dashed; border-left: 1px dashed; border-right: 1px dashed" | 1 byte
|style="background:rgb(255,205,154)" colspan="2" | [BEGINNING OF MEMORY BANK 3/4]
+
|style="background:rgb(255,255,204); border-top: 1px dashed" colspan="2" | Field Encounter Timer: StepID/Seed ([http://forums.qhimm.com/index.php?topic=6431.msg81091#msg81091])
 
|-
 
|-
|style="background:rgb(255,205,154)" | 0x0DA4
+
|style="background:rgb(255,205,154); border-top: 1px dashed" | 0x0BA2<br />z_6[1]
|style="background:rgb(255,205,154)" |
+
|style="background:rgb(255,255,204); border-top: 1px dashed; border-left: 1px dashed; border-right: 1px dashed" | 1 byte
|style="background:rgb(255,205,154)" colspan="2" | [BEGINNING OF MEMORY BANK B/C]
+
|style="background:rgb(255,255,204); border-top: 1px dashed" colspan="2" | Field Encounter Timer: Offset ([http://forums.qhimm.com/index.php?topic=9625.msg191219#msg191219])
 
|-
 
|-
|style="background:rgb(255,205,154)" | 0x0EA4
+
|style="background:rgb(205,205,154)" | 0x0BA4
|style="background:rgb(255,205,154)" |
+
|style="background:rgb(205,205,154)" |
|style="background:rgb(255,205,154)" colspan="2" | [BEGINNING OF MEMORY BANK D/E]
+
|style="background:rgb(205,205,154)" colspan="2" | [BEGINNING OF FIELD SCRIPT MEMORY [[#Save_Memory_Bank_1/2|BANK 1 (1/2)]]]
 
|-
 
|-
|style="background:rgb(255,205,154)" | 0x0FA4
+
|style="background:rgb(205,205,154)" | 0x0CA4
|style="background:rgb(255,205,154)" |
+
|style="background:rgb(205,205,154)" |
|style="background:rgb(255,205,154)" colspan="2" | [BEGINNING OF MEMORY BANK 7/F]
+
|style="background:rgb(205,205,154)" colspan="2" | [BEGINNING OF FIELD SCRIPT MEMORY [[#Save_Memory_Bank_3/4|BANK 2 (3/4)]]]
 +
|-
 +
|style="background:rgb(205,205,154)" | 0x0DA4
 +
|style="background:rgb(205,205,154)" |
 +
|style="background:rgb(205,205,154)" colspan="2" | [BEGINNING OF FIELD SCRIPT MEMORY [[#Save_Memory_Bank_B/C|BANK 3 (B/C)]]]
 +
|-
 +
|style="background:rgb(205,205,154)" | 0x0EA4
 +
|style="background:rgb(205,205,154)" |
 +
|style="background:rgb(205,205,154)" colspan="2" | [BEGINNING OF FIELD SCRIPT MEMORY [[#Save_Memory_Bank_D/E|BANK 4 (D/E)]]]
 +
|-
 +
|style="background:rgb(205,205,154)" | 0x0FA4
 +
|style="background:rgb(205,205,154)" |
 +
|style="background:rgb(205,205,154)" colspan="2" | [BEGINNING OF FIELD SCRIPT MEMORY [[#Save_Memory_Bank_7/F|BANK 5 (7/F)]]]
 
|-
 
|-
 
| rowspan="2" | 0x10A4
 
| rowspan="2" | 0x10A4
Line 260: Line 292:
 
|}
 
|}
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x10A8
+
|style="background:rgb(255,205,154)" | 0x10A8
|style="background:rgb(255,255,204)" | 48 bytes
+
|style="background:rgb(255,205,154)" | 48 bytes
|style="background:rgb(255,255,204)" colspan="2" | Unknown
+
|style="background:rgb(255,205,154)" colspan="2" | z_39 Unknown (Always 0x00?)
 
|-
 
|-
 
| 0x10D8
 
| 0x10D8
Line 296: Line 328:
 
| 0x10DC
 
| 0x10DC
 
| 16 bytes
 
| 16 bytes
| colspan="2" | Controller Mapping (PSX ONLY) <br />
+
| colspan="2" | Controller Mapping (PSX ONLY) <br>l2,r2,l1,r1,tri,circle,cross,square,Select,?,?,Start,u,r,d,l<br>l2,r2,l1,r1,Menu,OK,Cancel,Ext,Help,?,?,Pause,u,r,d,l
l2,r2,l1,r1,tri,circle,cross,square,Select,?,?,Start,u,r,d,l <br />
 
l2,r2,l1,r1,Menu,OK,Cancel,Ext,Help,?,?,Pause,u,r,d,l
 
 
|-
 
|-
 
| 0x10EC
 
| 0x10EC
Line 304: Line 334:
 
| colspan="2" | Message Speed
 
| colspan="2" | Message Speed
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x10ED
+
|style="background:rgb(255,205,154)" | 0x10ED
|style="background:rgb(255,255,204)" | 7 bytes
+
|style="background:rgb(255,205,154)" | 8 bytes
|style="background:rgb(255,255,204)" colspan="2" | Unknown
+
|style="background:rgb(255,205,154)" colspan="2" | z_40 Unknown (Always 0x00?)
|}
 
 
 
{| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;"
 
|+'''Table 2: Character Record'''
 
! style="background:rgb(204,204,204)" align="center" | Offset
 
! style="background:rgb(204,204,204)" align="center" | Length
 
! style="background:rgb(204,204,204)" align="center" | Description
 
|-
 
| 0x00
 
| 1 byte
 
| Character ID
 
|-
 
| 0x01
 
| 1 byte
 
| Level (0-99)
 
|-
 
| 0x02
 
| 1 byte
 
| Strength (0-255)
 
|-
 
| 0x03
 
| 1 byte
 
| Vitality (0-255)
 
|-
 
| 0x04
 
| 1 byte
 
| Magic (0-255)
 
|-
 
| 0x05
 
| 1 byte
 
| Spirit (0-255)
 
|-
 
| 0x06
 
| 1 byte
 
| Dexterity (0-255)
 
|-
 
| 0x07
 
| 1 byte
 
| Luck (0-255)
 
|-
 
| 0x08
 
| 1 byte
 
| Strength Bonus (Power Sources used)
 
|-
 
| 0x09
 
| 1 byte
 
| Vitality Bonus (Guard Sources used)
 
|-
 
| 0x0A
 
| 1 byte
 
| Magic Bonus (Magic Sources used)
 
|-
 
| 0x0B
 
| 1 byte
 
| Spirit Bonus (Mind Sources used)
 
|-
 
| 0x0C
 
| 1 byte
 
| Dexterity Bonus (Speed Sources used)
 
|-
 
| 0x0D
 
| 1 byte
 
| Luck Bonus (Luck Sources used)
 
|-
 
| 0x0E
 
| 1 byte
 
| Current limit level (1-4)
 
|-
 
| 0x0F
 
| 1 byte
 
| Current limit bar (0xFF = limit break)
 
|-
 
| 0x10
 
| 12 bytes
 
| Name ([[FF7/FF Text|FF Text]] format)
 
|-
 
| 0x1C
 
| 1 byte
 
| Equipped weapon
 
|-
 
| 0x1D
 
| 1 byte
 
| Equipped armor
 
|-
 
| 0x1E
 
| 1 byte
 
| Equipped accessory
 
|-
 
| 0x1F
 
| 1 byte
 
| Character flags - 0x10-Sadness, 0x20-Fury
 
|-
 
| 0x20
 
| 1 byte
 
| Char order - 0xFF-Normal, 0xFE-Back row
 
|-
 
| 0x21
 
| 1 byte
 
| Level progress bar
 
|-
 
| 0x22
 
| 2 bytes
 
| Learned limit skills
 
|-
 
| 0x24
 
| 2 bytes
 
| Number of kills
 
|-
 
| 0x26
 
| 2 bytes
 
| Times limit 1-1 has been used
 
|-
 
| 0x28
 
| 2 bytes
 
| Times limit 2-1 has been used
 
|-
 
| 0x2A
 
| 2 bytes
 
| Times limit 3-1 has been used
 
|-
 
| 0x2C
 
| 2 bytes
 
| Current HP
 
|-
 
| 0x2E
 
| 2 bytes
 
| Base HP (before materia alterations)
 
|-
 
| 0x30
 
| 2 bytes
 
| Current MP
 
|-
 
| 0x32
 
| 2 bytes
 
| Base MP (before materia alterations)
 
|-
 
|style="background:rgb(255,255,204)" | 0x34
 
|style="background:rgb(255,255,204)" | 4 bytes
 
|style="background:rgb(255,255,204)" | Unknown
 
|-
 
| 0x38
 
| 2 bytes
 
| Maximum HP (after materia alterations)
 
|-
 
| 0x3A
 
| 2 bytes
 
| Maximum MP (after materia alterations)
 
|-
 
| 0x3C
 
| 4 bytes
 
| Current EXP
 
|-
 
| 0x40
 
| 4 bytes
 
| Weapon materia slot number 1
 
|-
 
| 0x44
 
| 4 bytes
 
| Weapon materia slot number 2
 
|-
 
| 0x48
 
| 4 bytes
 
| Weapon materia slot number 3
 
|-
 
| 0x4C
 
| 4 bytes
 
| Weapon materia slot number 4
 
|-
 
| 0x50
 
| 4 bytes
 
| Weapon materia slot number 5
 
|-
 
| 0x54
 
| 4 bytes
 
| Weapon materia slot number 6
 
|-
 
| 0x58
 
| 4 bytes
 
| Weapon materia slot number 7
 
|-
 
| 0x5C
 
| 4 bytes
 
| Weapon materia slot number 8
 
|-
 
| 0x60
 
| 4 bytes
 
| Armor materia slot number 1
 
|-
 
| 0x64
 
| 4 bytes
 
| Armor materia slot number 2
 
|-
 
| 0x68
 
| 4 bytes
 
| Armor materia slot number 3
 
|-
 
| 0x6C
 
| 4 bytes
 
| Armor materia slot number 4
 
|-
 
| 0x70
 
| 4 bytes
 
| Armor materia slot number 5
 
|-
 
| 0x74
 
| 4 bytes
 
| Armor materia slot number 6
 
|-
 
| 0x78
 
| 4 bytes
 
| Armor materia slot number 7
 
|-
 
| 0x7C
 
| 4 bytes
 
| Armor materia slot number 8
 
|-
 
| 0x80
 
| 4 bytes
 
| EXP to next level
 
|}
 
 
 
{| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;"
 
|+'''Table 3: Chocobo Record'''
 
! style="background:rgb(204,204,204)" align="center" | Offset
 
! style="background:rgb(204,204,204)" align="center" | Length
 
! style="background:rgb(204,204,204)" align="center" | Description
 
|-
 
| 0x0
 
| 2 bytes
 
| Sprint Speed
 
|-
 
| 0x2
 
| 2 bytes
 
| Max Sprint Speed
 
|-
 
| 0x4
 
| 2 bytes
 
| Speed
 
|-
 
| 0x6
 
| 2 bytes
 
| Max Speed
 
|-
 
| 0x8
 
| 1 byte
 
| Acceleration
 
|-
 
| 0x9
 
| 1 byte
 
| Cooperation
 
|-
 
| 0xA
 
| 1 byte
 
| Intelligence
 
|-
 
| 0xB
 
| 1 byte
 
| Personality
 
|-
 
|style="background:rgb(255,255,204)" | 0xC
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Pcount (?)
 
|-
 
| 0xD
 
| 1 byte
 
| Number of races won
 
|-
 
| 0xE
 
| 1 byte
 
| Sex (0: male | 1: female)
 
|-
 
| 0xF
 
| 1 byte
 
| Type (Yellow, Green, Blue, Black, Gold)
 
 
|}
 
|}
  

Revision as of 04:50, 17 April 2013

The Savemap

The following is the general save format for the game. This data excludes the header data that differs between the PSX and PC version. (PSX header is 512 Bytes, checksum @ 0x200) (PC header is 9 bytes, checksum @ 0x11) Note: For the preview descriptions below, changing these values does not change any in-game values. These are only used so a player can preview the data within the save file when viewing the Save menu.

Table 1: FF7 Save Slot
Offset Length Description
0x0000 2 bytes Checksum (how to generate)
0x0002 2 bytes z_1 Unknown (Always 0x00?)
0x0004 1 byte Preview: Lead character's level
0x0005 1 byte Preview: Lead character's portrait
0x00: Cloud
0x01: Barret
0x02: Tifa
0x03: Aeris
0x04: Red XIII
0x05: Yuffie
0x06: Cait Sith
0x07: Vincent
0x08: Cid
0x09: Young Cloud
0x0A: Sephiroth
0x0B: Chocobo
0xFF: None
0x0006 1 byte Preview: 2nd character's portrait
0x0007 1 byte Preview: 3rd character's portrait
0x0008 16 bytes Preview: Lead character's name, FF Text format , terminated with 0xFF
0x0018 2 bytes Preview: Lead character's current HP
0x001A 2 bytes Preview: Lead character's max HP
0x001C 2 bytes Preview: Lead character's current MP
0x001E 2 bytes Preview: Lead character's max MP
0x0020 4 bytes Preview: Amount of Gil
0x0024 4 bytes Preview: Total number of seconds played
0x0028 32 bytes Preview: Save location, FF Text format, terminated with 0xFF
0x0048 3 bytes RGB value for upper left corner of window
0x004B 3 bytes RGB value for upper right corner of window
0x004E 3 bytes RGB value for lower left corner of window
0x0051 3 bytes RGB value for lower right corner of window
0x0054 132 bytes Character record: Cloud [see below for Character record format]
0x00D8 132 bytes Character record: Barret [see below for Character record format]
0x015C 132 bytes Character record: Tifa [see below for Character record format]
0x01E0 132 bytes Character record: Aeris [see below for Character record format]
0x0264 132 bytes Character record: Red XIII [see below for Character record format]
0x02E8 132 bytes Character record: Yuffie [see below for Character record format]
0x036C 132 bytes Character record: Cait Sith (or Young Cloud) [see below for Character record format]
0x03F0 132 bytes Character record: Vincent (or Sephiroth) [see below for Character record format]
0x0474 132 bytes Character record: Cid [see below for Character record format]
0x04F8 1 byte Party member in slot 1 [uses same format as character portrait above]
0x04F9 1 byte Party member in slot 2
0x04FA 1 byte Party member in slot 3
0x04FB 1 byte z_2 Unknown (Always 0xFF?)
0x04FC 640 bytes Party Item stock, 2 bytes per item, 320 item slots max [See save item list below]
0x077C 800 bytes Party Materia stock, 4 bytes per materia, 200 materia max [See save materia list ]
0x0A9C 192 bytes Materia stolen by Yuffie, 4 bytes per materia, 48 materia max [See save materia list ]
0x0B5C 32 bytes z_3 Unknown (Always 0xFF?)
0x0B7C 4 bytes Party's Gil amount
0x0B80 4 bytes Total number of seconds played
0x0B84 3 bytes Countdown Timer (HH:MM:SS)
0x0B87 13 bytes z_4 Unknown
0x0B88
z_4[1]
1 byte Game timer / ~ 10 times faster that 0x0B89
0x0B89
z_4[2]
1 byte Game timer / from 0 to 255 in one sec
0x0B8A
z_4[3]
2 bytes Unknown 0x00 padding?
0x0B8C
z_4[5]
1 byte Same value that 0x0B88. Game timer cs(Centiseconds???)
0x0B8D
z_4[6]
1 byte Same value that 0x0B89. Game timer dc(Deciseconds???)
0x0B8E
z_4[7]
2 bytes Unknown 0x00 padding?
0x0B94 2 bytes Current map
0x0B96 2 bytes Current location
0x0B98 2 bytes z_5 Unknown
0x0B9A 2 bytes X location on Field map (Signed)
0x0B9C 2 bytes Y location on Field map (Signed)
0x0B9E 2 bytes Triangle Id of player on Field map (Unsigned)
0x0BA0 1 byte Direction of Player Model on Field Map(Unsigned)
0x0BA1 3 bytes z_6 Unknown
0x0BA1
z_6[0]
1 byte Field Encounter Timer: StepID/Seed ([1])
0x0BA2
z_6[1]
1 byte Field Encounter Timer: Offset ([2])
0x0BA4 [BEGINNING OF FIELD SCRIPT MEMORY BANK 1 (1/2)]
0x0CA4 [BEGINNING OF FIELD SCRIPT MEMORY BANK 2 (3/4)]
0x0DA4 [BEGINNING OF FIELD SCRIPT MEMORY BANK 3 (B/C)]
0x0EA4 [BEGINNING OF FIELD SCRIPT MEMORY BANK 4 (D/E)]
0x0FA4 [BEGINNING OF FIELD SCRIPT MEMORY BANK 5 (7/F)]
0x10A4 2 bytes PHS Locking Mask (1: Locked)
LSB Cloud Barret Tifa Aeris Red Yuffie Vincent Cait Cid MSB
0x10A6 2 bytes PHS Visibility Mask (does not turn off party characters)
LSB Cloud Barret Tifa Aeris Red Yuffie Vincent Cait Cid MSB
0x10A8 48 bytes z_39 Unknown (Always 0x00?)
0x10D8 1 byte Battle Speed (0x00: fastest, 0xFF: slowest)
0x10D9 1 byte Battle Message Speed
0x10DA 1 byte General configuration
Sound: mono (0x00); stereo (0x01)
Controller: normal (0x00); customize (0x04)
Cursor: initial (0x00); memory (0x10)
ATB: Active (0x00); Recommended (0x40); Wait (0x80)
0x10DB 1 byte General configuration (continued)
Camera angle: Auto (0x00); Fix (0x01)
Magic order: (game crashes if flag set to 0x18 or 0x1C)
"1. restore attack indirect" (0x00)
"2. restore indirect attack" (0x04)
"3. attack indirect restore" (0x08)
"4. attack restore indirect" (0x0C)
"5. indirect restore attack" (0x10)
"6. indirect attack restore" (0x14)
Extra battle window displaying information: Inactive (0x00); Active (0x40)
0x10DC 16 bytes Controller Mapping (PSX ONLY)
l2,r2,l1,r1,tri,circle,cross,square,Select,?,?,Start,u,r,d,l
l2,r2,l1,r1,Menu,OK,Cancel,Ext,Help,?,?,Pause,u,r,d,l
0x10EC 1 byte Message Speed
0x10ED 8 bytes z_40 Unknown (Always 0x00?)

Save Memory Bank 1/2

Table 1: FF7 Save Slot
Offset Length Description
0x0BA4 2 byte Main progress variable
0x0BA6 1 Byte Yuffie's Initial Level
0x0BA7 1 byte Aeris' current love points
0x0BA8 1 byte Tifa's current love points
0x0BA9 1 byte Yuffie's current love points
0x0BAA 1 byte Barret's current love points
0x0BAB 9 bytes Unknown
0x0BB4 1 byte Game timer (Hours)
0x0BB5 1 byte Game timer (Minutes)
0x0BB6 1 byte Game timer (Seconds)
0x0BB7 1 byte Game timer (Tenths)
0x0BB8 4 bytes Unknown (curse ring usage?)
0x0BBC 2 bytes Number of battles fought
0x0BBE 2 bytes Number of escapes
0x0BC0 2 bytes Menu Visiblity Mask (Quit not affected)
LSB item magic materia equip status order limit config PHS save MSB
0x0BC2 2 bytes Menu Locking Mask (1: Locked) (Quit not affected)
LSB item magic materia equip status order limit config PHS save MSB
0x0BD4 1 byte Item masks.
0x01: Potion {MD8_3}.
0x40: Sense Materia {MDS6_2}
0x0BD5 1 byte Materia Cave masks (applied when you pick up the corresponding Materia).
0x01: Mime, 0x02: HP<->MP, 0x04: Quadra Magic, 0x08: KOTR
0x0BD6 1 bytes Unknown
0x0BD7 1 byte Item masks (applied when you pick them up).
0x10: Chaos & Death Penalty, others are unknown
0x0BD8 4 bytes Unknown
0x0BDC 1 byte Field Items, Sector 7 Wall Market and Shinra HQ. Item bit mask (applied when you pick them up).

0x01: Ether(Corneo's masion basement floor).
0x02: Hyper(Corneo's masion corneo 's bedroom floor).
0x04: Phoenix Down (Corneo's masion 2nd floor right room).
0x08: Elixir at Shinra HQ stairs.
0x40: Second Midgar part at Shinra HQ.
0x80: Third Midgar part at Shinra HQ.

0x0BDD 1 byte Field Items, Shinra HQ. Item bit mask (applied when you pick them up).

0x01: Fourth Midgar part.
0x02: First Midgar part.
0x04: Fifth Midgar Part.
0x08: Keycard 66.

0x0BDE 6 bytes Unknown
0x0BE4 8 bytes Key items [see Key Item List]
0x0BEC 8 bytes Unknown
0x0BF4 1 byte Aeris battle love points
0x0BF5 1 byte Tifa battle love points
0x0BF6 1 byte Yuffie battle love points
0x0BF7 1 byte Barret battle love points
0x0BF8 1 byte Unknown
0x0BF9 1 byte Rating for Penned Chocobo Number 1 (01: Wonderful -> 08: Worst)
0x0BFA 1 byte Rating for Penned Chocobo Number 2
0x0BFB 1 byte Rating for Penned Chocobo Number 3
0x0BFC 1 byte Rating for Penned Chocobo Number 4
0x0BFD 2 bytes Unknown
0x0BFF 3 bytes Ultimate Weapon's remaining HP
0x0C02 1 byte Field Chocobo rating?
0x0C03 1 byte Field Chocobo rating?
0x0C04 1 byte Field Chocobo rating?
0x0C05 1 byte Field Chocobo rating?
0x0C06 24 bytes Unknown
0x0C1E 1 byte Mask byte (Other masks are still to be identified on this byte)

0x04: Submarine Tutorial seen.
0x40: Mask for the "target" text appearing over all available targets in battle.

0x0C1F 1 bytes Weapons Killed 0x8:Ruby 0x10:Emerald (more?)
0x0C1F 37 bytes Unknown
0x0C44 1 byte Progress items, Wallmarket.

0x01: Cologne at Wallmarket
0x02: Flower Cologne at Wallmarket
0x04: Sexy Cologne at Wallmarket
0x40: Pharmacy coupon at Wallmarket
0x80: Wig at Wallmarket

0x0C45 1 byte Progress items, Wallmarket.

0x08: Obtaining the dress at Wallmarket
0x10: Dress used, picked up???
0x20: Cotton Dress
0x40: Satin Dress
0x80: Silk Dress

0x0C46 1 byte Progress items, Wallmarket.

0x01: Disinfectant at Wallmarket
0x02: Deodorant at Wallmarket
0x04: Digestive at Wallmarket
0x08: Speaking to materia shop seller
0x10: 200 gil Item at vending machine in Wallmarket
0x20: 100 gil Item at vending machine in Wallmarket
0x40: 50 gil Item at vending machine in Wallmarket

0x0C47 1 byte Unknown
0x0C48 1 byte Field Objects, Sector 7 Train Graveyard (so far)

Bit=0(Original Position), Bit=1(Moved).
0x01: Train 1 Position. {mds7st2}
0x02: Train 2 Position. {mds7st2}
0x04: Train 3 Position. {mds7st2}

0x0C49 1 byte Field Items, Sector 7 Wall Market

0x01: Cloud see the first battery holder and figured out the idea of using a battery there... {wcrimb_1}
0x02: First battery applied up the wall of Wallmarket{wcrimb_1}
0x04: Second battery applied up the wall of Wallmarket{wcrimb_1}
0x10: Third battery applied and Ether obtained up the wall of Wallmarket{wcrimb_2}
0x20: Battery (Gun shop batery pack 1/3) {mkt_w}
0x40: Battery (Gun shop batery pack 2/3) {mkt_w}
0x80: Battery (Gun shop batery pack 3/3) {mkt_w} Note: all 3 batteries are received at the same time.

0x0C4A 1 byte Number of Fort Condor Battles Fought
0x0C4B 1 byte Number of Fort Condor Battles Won
0x0C4C 15 bytes Unknown
0x0C5B 1 byte Conversations mask.

Bit=0(Not spoken to), Bit=1(Spoken to).
0x01: Speaking to the children near the wall of Wallmarket
0x02: Speaking to the children near the wall of Wallmarket
0x04: Conversation of children on top of the wall of Wallmarket
0x08: Speaking to the child by the pipe in Wallmarket

0x0C5A 42 bytes Unknown
0x0C84 1 byte Keeps track of which Shinra floors are unlocked (By picking keycards). Values still unknown.(255 all doors opened when set manualy)
0x0C85 1 byte Mission 1st reactor flags.

0x01: elevator on top floor.
0x08: 1st door opened.
0x10: 2nd door opened.
0x20: Jessie free from stuck.
0x40: bomb set.
0x80: set if time is out for gameover check.

0x0C86 1 byte Mission 1st reactor flags.
0x02: elevator door opened.
0x04: scrolled at map init to show reactor.
0x0C87 29 bytes Unknown

Save Memory Bank 3/4

Table 1: FF7 Save Slot
Offset Length Description
0x0CA4 16 Bytes Unknown
0x0CB4 1 byte Aeris In Church progression (document this better)
0x0CB5 49 Bytes Unknown
0x0CE6 1 byte Escape from 1st reactor progress.
0x01: after scroll at start of map MD8_2 (maybe unneded).
0x02: after people panic on MD8_3 is over to never show it again.
0x0CE7 7 Bytes Unknown
0x0CEE 2 bytes Party GP (0-10000)
0x0CF0 12 Bytes Unknown
0x0CFC 1 byte Number of chocobo stables owned
0x0CFD 1 byte Number of occupied stables
0x0CFE 1 Bytes Unknown
0x0CFF 1 byte Chocobo Stables Occupied Mask. LSB 1 2 3 4 5 6 x x MSB Stable #) Chocobo's in stables. 1=0ccupied
0x0D00 1 byte Chocobos who can't mate LSB 1 2 3 4 5 6 x x MSB (Stable #).The Chocobo Was Just Born or has Recently Mated.1=can't mate
0x0D01 18 Bytes Unknown
0x0D13 1 byte Aeris flower quest progress.
0x01: if we buy flower from Aeris.
0x0D14 15 Bytes Unknown
0x0D23 1 byte Current room in TUNNEL_1. From 1 to 6.

If less then 1 then we go to TUNNEL_3. If 6 then to TUNNEL_2.
Used instead of duplicating tunnel rooms. Start room set during mission 5 reactor train minigame.

0x0D24 1 byte Conversations mask, Kalm (applied when you speak to someone).

Bit=0(Not spoken to), Bit=1(Spoken to).
0x08: Spoke to the child in the house next to the Inn
0x10: Freed the dog in a house

0x0D25 1 Byte Unknown
0x0D26 1 byte Conversations mask, Reactor under the plate (applied when you speak).

Bit=0(Not spoken to), Bit=1(Spoken to).
0x01: Speaking with Biggs.

0x0D27 1 byte Conversations mask, Reactor under the plate (applied when you speak).

Bit=0(Not spoken to), Bit=1(Spoken to).
0x01: Speaking with Jesse(0x01)

0x0D28 1 Byte Unknown
0x0D29 1 Byte Yuffie can be found in the forests? (LSB only) others used?
0x0D2A 3 Bytes Unknown
0x0D2D 1 byte Kalm Traveler sidequest Progression (details) bit-mask (applied when you speak).

0x08: Applied when you give him the Guide Book.
0x10: For the Desert Rose
0x20: For the Earth Harp.
0x40: The first time he says he's looking for the Guide Book, the Earth Harp and the Desert Rose.
0x80: Once the Kalm Traveler has collected the 3 items he was looking for. He goes on a journey and you never see him again in the game.

0x0D2E 24 Bytes Unknown
0x0D46 1 byte Don's Mission Progress (more needed here)
0x0D47 1 byte Conversations mask, Shinra HQ (applied when you speak).

Bit=0(Not spoken to), Bit=1(Spoken to).
0x08: Elevator event at shinra HQ
0x10: First conversation while climbing Shinra HQ stairs

0x0D48 1 Bytes Unknown
0x0D49 1 byte Conversations mask, Shinra HQ (applied when you speak).

Bit=0(Not spoken to), Bit=1(Spoken to).
0x80: Second conversation while climbing Shinra HQ stairs

0x0D4A 1 byte Conversations mask, Shinra HQ (applied when you speak).

Bit=0(Not spoken to), Bit=1(Spoken to).
0x01: Third conversation while climbing Shinra HQ stairs

0x0D4B 1 Byte Unknown
0x0D4C 1 byte Conversations mask, Shinra HQ (applied when you speak).

Bit=0(Not spoken to), Bit=1(Spoken to).
0x01: Braking in Shinra HQ scene
0x02: Taking out the guards and obtaining keycard 60
0x04: Taking everyone out the first floor in Shinra HQ
0x08: Speaking to the couple in the shop at Shinra HQ
0x10: Speaking to the shop seller in Shinra HQ
0x20: Approaching Shinra HQ and conversation at the front door scene
0x40: Approaching Shinra HQ and conversation at the front door scene

0x0D4E 2 Bytes Unknown
0x0D50 1 byte Items mask, Shinra HQ (applied when you speak).

Bit=0(Item on floor), Bit=1(Item taken).
0x01: Phoenix down from locker at floor 64 (0x01)
0x02: Ether from locker at floor 64(0x02)
0x10: Exiting elevator FMV at floor 60

0x0D51 1 Byte Unknown
0x0D52 1 byte Bits kept for the doors at floor 63, Shinra HQ(applied when you speak).

Bit=0(Door opened), Bit=1(Door closed).

0x0D53 1 byte Bits kept for the doors at floor 63, Shinra HQ (applied when you speak).

Bit=0(Door opened), Bit=1(Door closed).

0x0D54 1 Byte Unknown
0x0D55 1 byte Item mask, Shinra HQ (applied when you speak).

Bit=0(Item on floor), Bit=1(Item taken).
0x02: Coupon C from Shinra HQ
0x04: Coupon C from Shinra HQ
0x08: Coupon B from Shinra HQ
0x10: Speaking to the machine at floor 63

0x0D56 1 byte Bits kept for the doors at floor 63, Shinra HQ (applied when you speak).

Bit=0(Door opened), Bit=1(Door closed).

0x0D57 1 byte Conversations mask, Shinra HQ (applied when you speak).

Bit=0(Not spoken to), Bit=1(Spoken to).
0x01: Hitting vending machine at floor 64

0x0D58 1 byte Conversations mask, Shinra HQ (applied when you speak).

Bit=0(Not spoken to), Bit=1(Spoken to).
0x08: Placing midgar fifth part
0x10: Placing midgar fourth part
0x20: Placing midgar third part
0x40: Placing midgar second part
0x80: Placing midgar first part

0x0D59 1 byte Conversations mask, Shinra HQ (applied when you speak).

Bit=0(Not spoken to), Bit=1(Spoken to).
0x01: Midgar model lights up at floor 65
0x80: Last conversation with floor 63 machine

0x0D5A 3 Bytes Unknown
0x0D5B 2 Bytes Unknown
0x0D5D 1 byte Conversations mask, Shinra HQ (applied when you speak).

Bit=0(Not spoken to), Bit=1(Spoken to).
0x20: Retrieving coupons (must know the order)
0x40: Retrieving coupons (must know the order)
0x80: Retrieving coupons (must know the order)

0x0D5E 21 Bytes Unknown
0x0D73 1 byte Yuffie Regulary. Has the character entered the party regulary? For example Yuffie further appears in the forest if this option is off.
0x6E: Yes; 0x6F: No
0x0D74 1 byte MDS7PLR1 event flags.
0x01: when everyone run to hideout.
0x02: when talk to man to view pillar to call. This will run special event script when return to this map. Remove this bit after script is called.
0x04: when Barret return to map and call us again.
0x08: after return to this map after seeing pillar.
0x10: after talking to right soldier twice (before mission in 5th reactor).
0x0D75 1 byte Conversations mask, MDS7 (applied when you speak).

Bit=0(Not spoken to), Bit=1(Spoken to). The value inside [] is the hex value of the entire byte.
Start sector 7 slums [0x00]
0x01: Right after enter s7 bar MAP[0xA1]
0x02: After 7th heaven initial scene[0xFF]or[0xBF] if bit 6 is 0
0x04: Tifa get out the bar[0xA5]?
0x08: Scene ends and barret wait outside bar[0xAD]
0x10: Barret talk before enter the bar[0xFD]or[0xBD] if bit 6 is 0
0x20: Right after enter s7 bar MAP[0xA1]
0x40: Girl talk about reactor explotion[0xED]
0x80: Right after enter s7 bar MAP[0xA1]

0x0D76 1 byte Conversations mask, MDS7 (applied when you speak).

Bit=0(Not spoken to), Bit=1(Spoken to). The value inside [] is the hex value of the entire byte.
Start sector 7 slums [0x00]
0x01: After you wake up in the Hideout[0x03]
0x02: After you wake up in the Hideout[0x03]
0x10: Avalache member continue running to s7 train station and Villagers are arround Avalache team [0x51]{mds7}
0x20: Unknown it become 1 seconds after 0x0D76[4] is set [0x51]{mds7}

0x0D77 1 byte Conversations mask, MDS7 (applied when you speak).

Bit=0(Not spoken to), Bit=1(Spoken to). The value inside [] is the hex value of the entire byte.
Start sector 7 slums [0x00]
0x01: Tell tifa did fight w/ barret (1) didn't fight (0)[0x05]or[0x04] if not
0x04: Auto tifa talk about fight w/ barret[0x04]

0x0D78 1 byte Conversations mask, MDS7 (applied when you speak).

Bit=0(Not spoken to), Bit=1(Spoken to). The value inside [] is the hex value of the entire byte.
Start sector 7 slums [0x00]
0x01: Barret chages in bar (set w/ z_26[1] state #2)[0x03]
0x02: Barret chages in bar (set w/ z_26[1] state #2)[0x03]
0x04: After we have talked to tifa[0x07]
0x08: Set to 1 if we choose no drink when talking to tifa[0x0F]
0x10: Set to 1 if we choose strong drink talking ot tifa[0x17]

0x0D79 1 byte Conversations mask, MDS7 (applied when you speak).

Bit=0(Not spoken to), Bit=1(Spoken to). The value inside [] is the hex value of the entire byte.
Start sector 7 slums [0x00]
0x01: set to 1 when tifa calls the machine down after you 1st talk down stairs, never gets unset[0x03]
0x02: 1 if elevator is in hide out (pinball machine)[0x02]
0x04: After you wake up in the Hideout[0x1F]
0x08: After you wake up in the Hideout[0x1F]
0x10: After you wake up in the Hideout[0x1F]
0x40: After giving Barret the materia tutorial[0x5D]

0x0D7A 1 byte Conversations mask, MDS7 (applied when you speak).

Bit=0(Not spoken to), Bit=1(Spoken to). The value inside [] is the hex value of the entire byte.
Start sector 7 slums [0x00]
0x01: After hide out 1st talk[0x03]
0x02: After hide out 1st talk[0x03]
0x04: second part of talk tifa enter in scene[0x07]
0x08: After you wake up in the Hideout[0x6F]
0x20: After you wake up in the Hideout[0x6F]
0x40: After you wake up in the Hideout[0x6F]
0x80: After you get out the Hideout and talk to tifa [0xEF]

0x0D7B 1 byte Items mask, Training room at sector 5 (applied when you speak).

Bit=0(Item on floor), Bit=1(Item taken).
0x10: All materia after taking ether
0x20: Ether chest that falls from ceiling

0x0D7C 1 byte MDS7ST3 event flags.

0x01: when everyone start run to hideout.
0x02: when trainman tells you about war (3 talk).
0x04: when pair on station agreed with each other.
0x08: when Jessie, Biggs and Wedge run into train.

0x0D7D 1 byte Midgard train flags.

0x01: when we talk to Biggs on way to sector 7.
0x02: when we talk to Wedge twice on way to sector 7.
0x04: when talk to Jessie, before look at map.
0x10: this bit is checked on ROOTMAP, though it doesn't use ingame.

0x0D84 32 Bytes Unknown

Save Memory Bank B/C

Table 1: FF7 Save Slot
Offset Length Description
0x0DC4 16 bytes Chocobo slot 1 [See table 3 for Chocobo Slot format]
0x0DD4 16 bytes Chocobo slot 2
0x0DE4 16 bytes Chocobo slot 3
0x0DF4 16 bytes Chocobo slot 4 [Slot 5 and 6 are located at 0x1084 - 0x10A3]
0x0E29 1 byte Chocobo breeding tutorial (taught by the Chocobo Sage) Progression Variable
0x0E2A 2 bytes Number of battles to reach in order to unlock the next part of the Chocobo breeding tutorial
0x0E33 1 byte Lucrecia's Cave sidequest Progression Variable
0x0E35 2 bytes Lucrecia's Cave sidequest:
Number of battles to get past in order to unlock Chaos & Death Penalty

Save Memory Bank D/E

Table 1: FF7 Save Slot
Offset Length Description
0 1 byte Which game-play Disc is needed
30 1 byte Field pointers mask (hand over party leader's head + red and green arrows)
0x00: Inactive
0x02: Active
31 1 byte If you have max materias in your equipment it is set to non-zero
32 6 bytes Name of Chocobo 1 (FF Text format)
38 6 bytes Name of Chocobo 2 (FF Text format)
44 6 bytes Name of Chocobo 3 (FF Text format)
50 6 bytes Name of Chocobo 4 (FF Text format)
56 6 bytes Name of Chocobo 5 (FF Text format)
62 6 bytes Name of Chocobo 6 (FF Text format)
68 2 bytes Stamina of Chocobo 1
70 2 bytes Stamina of Chocobo 2
72 2 bytes Stamina of Chocobo 3
74 2 bytes Stamina of Chocobo 4
76 2 bytes Stamina of Chocobo 5
78 2 bytes Stamina of Chocobo 6
89 1 byte Vehicle Enabler
91 1 byte Save flag.
0x02: set when we in save and unset when out
113 24 bytes Name of location (FF Text format)
0x0F5C 8 bytes Party's coordinates on world map (FF Coordinates format)
0x0F64 0x0F6B Unknown (Emerald or Ruby Weapon's coordinates on world map ?)
0x0F6C 8 bytes Tiny Bronco/Chocobo's coordinates on world map
0x0F74 8 bytes Buggy/Highwind's coordinates on world map
0x0F7C 8 bytes Submarine's coordinates on world map
0x0F84 8 bytes Ultimate Weapon's coordinates on world map

Save Memory Bank 7/F

Table 1: FF7 Save Slot
Offset Length Description
2 1 byte World map camera & map display
Add two values (one from camera, one from map) and set this byte.

Camera: Aerial(00); Closeup(20)
Map: Off(80); Small(00); Large(40)

7 1 byte If not 0x00, game crashes
32 2 bytes Fields items mask.
0x0001: first potion on MD1STIN.
0x0002: second potion on MD1STIN.
0x0004: potion at NMKIN3.
0x0008: phoenix down on NKMIN1.
87 1 byte Kalm Traveler rewards visibility (each bit set back to 0 when picked up)
Guide Book (0x01); Master Command(0x02); Master Magic (0x04); Master Summon (0x08); Gold Chocobo (0x10)
140 1 byte Field screen rain switch (non-zero to turn on rain effect)
224 16 bytes Chocobo slot 5
240 16 bytes Chocobo slot 6

Save Item List

Each item in the item list is stored as a word value with the quantity, expressed as a 7-bit value, concatenated with the item's index, expressed as a 9-bit value between the range of 0-320.

In Binary:
QQQQQQQXXXXXXXXX
Where X is the index and Q is the quantity.

There are a total of 320 item slots in the save map and a total of 320 objects that are stored there, some of which are dummy items. The objects are indexed like this:
Indexes 0 - 127: Items
Indexes 128 - 255: Weapons
Indexes 256 - 287: Armors
Indexes 288 - 319: Accessories
Quantity is limited (by the menu mechanics) to 99 since there are only two characters available in the item menu to show quantity. A Graphical "glitch" occurs in the ten's digit when quantity exceeds that number. The menu only checks the current quantity to determine if the value can increase. The quantity will not decrease unless an item is used or sold so forcing the quantity to exceed this number will have no negative effects.

Save Materia List

Materia is stored as a single-byte ID followed by the amount of AP on that instance of Materia stored as an unsigned 24-bit integer.eskill materia does not use the ap value, but instead the 24 bits as switches for each skill that can be learned. For every materia ap =0xFFFFFF when mastered

Table 1: Materia List (PC)
Name Type ID
MP Plus Independent 0x00
HP Plus Independent 0x01
Speed Plus Independent 0x02
Magic Plus Independent 0x03
Luck Plus Independent 0x04
EXP Plus Independent 0x05
Gil Plus Independent 0x06
Enemy Away Independent 0x07
Enemy Lure Independent 0x08
Chocobo Lure Independent 0x09
Long Range Independent 0x0B
Mega All Independent 0x0C
Counter Attack Independent 0x0D
Slash-All Command 0x0E
Double Cut Independent 0x0F
Pre-emptive Independent 0x0A
Cover Independent 0x10
Underwater Independent 0x11
HP <-> MP Independent 0x12
W-Magic Command 0x13
W-Summon Command 0x14
W-Item Command 0x15
Unknown Placeholder? 0X16
All Support 0x17
Counter Support 0x18
Magic Counter Support 0x19
MP Turbo Support 0x1A
MP Absorb Support 0x1B
HP Absorb Support 0x1C
Elemental Support 0x1D
Added Effect Support 0x1E
Sneak Attack Support 0x1F
Final Attack Support 0x20
Added Cut Support 0x21
Steal As Well Support 0x22
Quadra Magic Support 0x23
Steal Command 0x24
Sense Command 0x25
Unknown Placeholder? 0X26
Throw Command 0x27
Morph Command 0x28
Deathblow Command 0x29
Manipulate Command 0x2A
Mime Command 0x2B
Enemy Skill Command 0x2C
Unknown Placeholder? 0X2D
Unknown Placeholder? 0X2E
Unknown Placeholder? 0X2F
Master Command Command 0x30
Fire Magic 0x31
Ice Magic 0x32
Earth Magic 0x33
Lightning Magic 0x34
Restore Magic 0x35
Heal Magic 0x36
Revive Magic 0x37
Seal Magic 0x38
Mystify Magic 0x39
Transform Magic 0x3A
Exit Magic 0x3B
Poison Magic 0x3C
Demi Magic 0x3D
Barrier Magic 0x3E
Unknown Placeholder? 0X3F
Comet Magic 0x40
Time Magic 0x41
Unknown Placeholder? 0X42
Unknown Placeholder? 0X43
Destruct Magic 0x44
Contain Magic 0x45
FullCure Magic 0x46
Shield Magic 0x47
Ultima Magic 0x48
Master Magic Magic 0x49
Choco/Mog Summon 0x4A
Shiva Summon 0x4B
Ifrit Summon 0x4C
Ramuh Summon 0x4D
Titan Summon 0x4E
Odin Summon 0x4F
Leviathan Summon 0x50
Bahamut Summon 0x51
Kujata Summon 0x52
Alexander Summon 0x53
Phoenix Summon 0x54
Neo Bahamut Summon 0x55
Hades Summon 0x56
Typhoon Summon 0x57
Bahamut ZERO Summon 0x58
Knights of Round Summon 0x59
Master Summon Summon 0x5A
Empty Slot NONE 0xFF

KERNEL.BIN Section 4 Entry

During game initialization, section 4 from KERNEL.BIN is decompressed and copied into RAM. This is all the initial values and structure for most of the Save, excluding the header data and the tail of the last bank (0x0054 to 0x0B93).