Difference between revisions of "Main Page"

From Final Fantasy Inside
Jump to navigation Jump to search
my_wiki>NFITC1
m (Save Item List)
my_wiki>Halkun
Line 1: Line 1:
=== The Savemap ===
+
<b>Welcome to QhimmWiki!</b>
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.
 
 
{| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse; width: 600px;"
 
|+'''Table 1: FF7 Save Slot'''
 
! 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" colspan="2" | Description
 
|-
 
| 0x0000
 
| 2(4) bytes
 
| colspan="2" | Checksum ([http://forums.qhimm.com/index.php?topic=4211.msg60545#msg60545 how to generate])<br />
 
Technically this is a DWord, but the checksum generation method only stores the lower Word.
 
|-
 
| 0x0004
 
| 1 byte
 
| colspan="2" | '''Preview''': Lead character's level
 
|-
 
| rowspan="2" | 0x0005
 
| rowspan="2" | 1 byte
 
| colspan="2" | '''Preview''': Lead character's portrait
 
|-
 
| 0x00: Cloud<br />0x01: Barret<br />0x02: Tifa<br />0x03: Aeris<br />0x04: Red XIII<br />0x05: Yuffie<br />0x06: Cait Sith
 
| 0x07: Vincent<br />0x08: Cid<br />0x09: Young Cloud<br />0x0A: Sephiroth<br />0x0B: Chocobo<br />0xFF: None
 
|-
 
| 0x0006
 
| 1 byte
 
| colspan="2" | '''Preview''': 2nd character's portrait
 
|-
 
| 0x0007
 
| 1 byte
 
| colspan="2" | '''Preview''': 3rd character's portrait
 
|-
 
| 0x0008
 
| 16 bytes
 
| colspan="2" | '''Preview''': Lead character's name, [[FF7/FF Text|FF Text format]] , terminated with 0xFF
 
|-
 
| 0x0018
 
| 2 bytes
 
| colspan="2" | '''Preview''': Lead character's current HP
 
|-
 
| 0x001A
 
| 2 bytes
 
| colspan="2" | '''Preview''': Lead character's max HP
 
|-
 
| 0x001C
 
| 2 bytes
 
| colspan="2" | '''Preview''': Lead character's current MP
 
|-
 
| 0x001E
 
| 2 bytes
 
| colspan="2" | '''Preview''': Lead character's max MP
 
|-
 
| 0x0020
 
| 4 bytes
 
| colspan="2" | '''Preview''': Amount of Gil
 
|-
 
| 0x0024
 
| 4 bytes
 
| colspan="2" | '''Preview''': Total number of seconds played
 
|-
 
| 0x0028
 
| 32 bytes
 
| colspan="2" | '''Preview''': Save location, [[FF7/FF Text|FF Text format]], terminated with 0xFF
 
|-
 
| 0x0048
 
| 3 bytes
 
| colspan="2" | RGB value for upper left corner of window
 
|-
 
| 0x004B
 
| 3 bytes
 
| colspan="2" | RGB value for upper right corner of window
 
|-
 
| 0x004E
 
| 3 bytes
 
| colspan="2" | RGB value for lower left corner of window
 
|-
 
| 0x0051
 
| 3 bytes
 
| colspan="2" | RGB value for lower right corner of window
 
|-
 
| 0x0054
 
| 132 bytes
 
| colspan="2" | Character record: Cloud [see below for [[#Character_Record|Character record format]]]
 
|-
 
| 0x00D8
 
| 132 bytes
 
| colspan="2" | Character record: Barret [see below for [[#Character_Record|Character record format]]]
 
|-
 
| 0x015C
 
| 132 bytes
 
| colspan="2" | Character record: Tifa [see below for [[#Character_Record|Character record format]]]
 
|-
 
| 0x01E0
 
| 132 bytes
 
| colspan="2" | Character record: Aeris [see below for [[#Character_Record|Character record format]]]
 
|-
 
| 0x0264
 
| 132 bytes
 
| colspan="2" | Character record: Red XIII [see below for [[#Character_Record|Character record format]]]
 
|-
 
| 0x02E8
 
| 132 bytes
 
| colspan="2" | Character record: Yuffie [see below for [[#Character_Record|Character record format]]]
 
|-
 
| 0x036C
 
| 132 bytes
 
| colspan="2" | Character record: Cait Sith (or Young Cloud) [see below for [[#Character_Record|Character record format]]]
 
|-
 
| 0x03F0
 
| 132 bytes
 
| colspan="2" | Character record: Vincent (or Sephiroth) [see below for [[#Character_Record|Character record format]]]
 
|-
 
| 0x0474
 
| 132 bytes
 
| colspan="2" | Character record: Cid [see below for [[#Character_Record|Character record format]]]
 
|-
 
| 0x04F8
 
| 1 byte
 
| colspan="2" | Party member in slot 1 [uses same format as character portrait above]
 
|-
 
| 0x04F9
 
| 1 byte
 
| colspan="2" | Party member in slot 2
 
|-
 
| 0x04FA
 
| 1 byte
 
| colspan="2" | Party member in slot 3
 
|-
 
| 0x04FB
 
| 1 byte
 
| Alignment (Always 0xFF)
 
|-
 
| 0x04FC
 
| 640 bytes
 
| colspan="2" | Party Item stock, 2 bytes per item, 320 item slots max [See [[#Save_Item_List|save item list]] below]
 
|-
 
| 0x077C
 
| 800 bytes
 
| colspan="2" | Party Materia stock, 4 bytes per materia, 200 materia max [See [[#Save_Materia_List|save materia list]] ]
 
|-
 
| 0x0A9C
 
| 192 bytes
 
| colspan="2" | Materia stolen by Yuffie, 4 bytes per materia, 48 materia max [See [[#Save_Materia_List|save materia list]] ]
 
|-
 
|style="background:rgb(255,205,154)" | 0x0B5C
 
|style="background:rgb(255,205,154)" | 32 bytes
 
|style="background:rgb(255,205,154)" colspan="2" | z_3 Unknown (Always 0xFF?)
 
|-
 
| 0x0B7C
 
| 4 bytes
 
| colspan="2" | Party's Gil amount
 
|-
 
| 0x0B80
 
| 4 bytes
 
| colspan="2" | Total number of seconds played
 
|-
 
| 0x0B84
 
| 4 bytes
 
| colspan="2" | Countdown Timer (HH:MM:SS)
 
|-
 
| 0x0B88
 
| 4 bytes
 
| colspan="2" | Used to calculate fractions of seconds (1/65535) of game timer.
 
|-
 
| 0x0B8C
 
| 4 bytes
 
| colspan="2" | Used to calculate fractions of seconds (1/65535) of Countdown timer.
 
|-
 
|style="background:rgb(255,205,154)" | 0x0B90
 
|style="background:rgb(255,205,154)" | 4 bytes
 
|style="background:rgb(255,205,154)" | Unknown
 
|style="background:rgb(255,205,154)" | Set to 2 if Current map is 3 and 0 if Current map is 1
 
|-
 
| 0x0B94
 
| 2 bytes
 
| colspan="2" | Current map
 
|-
 
| 0x0B96
 
| 2 bytes
 
| colspan="2" | Current location
 
|-
 
| 0x0B98
 
| 2 bytes
 
| Alignment
 
|-
 
| 0x0B9A
 
| 2 bytes
 
| colspan="2" | X location on Field map (Signed)
 
|-
 
| 0x0B9C
 
| 2 bytes
 
| colspan="2" | Y location on Field map (Signed)
 
|-
 
| 0x0B9E
 
| 2 bytes
 
| colspan="2" | Triangle Id of player on Field map (Unsigned)
 
|-
 
|-
 
| 0x0BA0
 
| 1 byte
 
| colspan="2" | Direction of Player Model on Field Map(Unsigned)
 
|-
 
|style="background:rgb(255,205,154); border-top: 1px dashed" | 0x0BA1<br />z_6[0]
 
|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" | Field Encounter Timer: StepID/Seed ([http://forums.qhimm.com/index.php?topic=6431.msg81091#msg81091])
 
|-
 
|style="background:rgb(255,205,154); border-top: 1px dashed" | 0x0BA2<br />z_6[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" | Field Encounter Timer: Offset ([http://forums.qhimm.com/index.php?topic=9625.msg191219#msg191219])
 
|-
 
|style="background:rgb(255,205,154); border-top: 1px dashed" | 0x0BA3<br />z_6[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" | Alignment
 
|-
 
|style="background:rgb(205,205,154)" | 0x0BA4
 
|style="background:rgb(205,205,154)" |
 
|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(205,205,154)" | 0x0CA4
 
|style="background:rgb(205,205,154)" |
 
|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" | 2 bytes
 
| colspan="2" | PHS Locking Mask (1: Locked)
 
|-
 
| colspan="2" |
 
{| border="0" cellspacing="1" cellpadding="3" style="background: rgb(0,0,0)" align="center"
 
|style="background:rgb(68,144,205)" | LSB
 
|style="background:rgb(205,205,230)" | Cloud
 
|style="background:rgb(205,205,230)" | Barret
 
|style="background:rgb(205,205,230)" | Tifa
 
|style="background:rgb(205,205,230)" | Aeris
 
|style="background:rgb(205,205,230)" | Red
 
|style="background:rgb(205,205,230)" | Yuffie
 
|style="background:rgb(205,205,230)" | Vincent
 
|style="background:rgb(205,205,230)" | Cait
 
|style="background:rgb(205,205,230)" | Cid
 
|style="background:rgb(68,144,205)" | MSB
 
|}
 
|-
 
| rowspan="2" | 0x10A6
 
| rowspan="2" | 2 bytes
 
| colspan="2" | PHS Visibility Mask (does not ''turn off'' party characters)
 
|-
 
| colspan="2" |
 
{| border="0" cellspacing="1" cellpadding="3" style="background: rgb(0,0,0)" align="center"
 
|style="background:rgb(68,144,205)" | LSB
 
|style="background:rgb(205,205,230)" | Cloud
 
|style="background:rgb(205,205,230)" | Barret
 
|style="background:rgb(205,205,230)" | Tifa
 
|style="background:rgb(205,205,230)" | Aeris
 
|style="background:rgb(205,205,230)" | Red
 
|style="background:rgb(205,205,230)" | Yuffie
 
|style="background:rgb(205,205,230)" | Vincent
 
|style="background:rgb(205,205,230)" | Cait
 
|style="background:rgb(205,205,230)" | Cid
 
|style="background:rgb(68,144,205)" | MSB
 
|}
 
|-
 
|style="background:rgb(255,205,154)" | 0x10A8
 
|style="background:rgb(255,205,154)" | 48 bytes
 
|style="background:rgb(255,205,154)" colspan="2" | z_39 Unknown (Always 0x00?)
 
|-
 
| 0x10D8
 
| 1 byte
 
| colspan="2" | Battle Speed (0x00: fastest, 0xFF: slowest)
 
|-
 
| 0x10D9
 
| 1 byte
 
| colspan="2" | Battle Message Speed
 
|-
 
| rowspan="5" | 0x10DA
 
| rowspan="5" | 1 byte
 
| colspan="2" | General configuration
 
|-
 
| colspan="2" | Sound: mono (0x00); stereo (0x01)
 
|-
 
| colspan="2" | Controller: normal (0x00); customize (0x04)
 
|-
 
| colspan="2" | Cursor: initial (0x00); memory (0x10)
 
|-
 
| colspan="2" | ATB: Active (0x00); Recommended (0x40); Wait (0x80)
 
|-
 
| rowspan="4" | 0x10DB
 
| rowspan="4" | 1 byte
 
| colspan="2" | General configuration (continued)
 
|-
 
| colspan="2" | Camera angle: Auto (0x00); Fix (0x01)
 
|-
 
| colspan="2" | Magic order: (game crashes if flag set to 0x18 or 0x1C)<br /> "1. restore attack indirect" (0x00)<br />"2. restore indirect attack" (0x04)<br />"3. attack indirect restore" (0x08)<br />"4. attack restore indirect" (0x0C)<br />"5. indirect restore attack" (0x10)<br />"6. indirect attack restore" (0x14)<br />
 
|-
 
| colspan="2" | Extra battle window displaying information: Inactive (0x00); Active (0x40)
 
|-
 
| 0x10DC
 
| 16 bytes
 
| 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
 
|-
 
| 0x10EC
 
| 1 byte
 
| colspan="2" | Message Speed
 
|-
 
|style="background:rgb(255,205,154)" | 0x10ED
 
|style="background:rgb(255,205,154)" | 8 bytes
 
|style="background:rgb(255,205,154)" colspan="2" | z_40 Unknown (Always 0x00?)
 
|}
 
  
== Save Memory Bank 1/2 ==
+
This wiki has been set up in the hopes of becoming a more efficient means of storing the Qhimm.com knowledge base. The plan is to store relevant information on things such as:
+
<ul>
{| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse; width: 600px;"
+
<li>[[FF1NES|Final Fantasy I for the NES]]
|+'''Table 1: FF7 Save Slot'''
+
<li>[[FF7NES|Final Fantasy VII for the NES]]
! style="background:rgb(204,204,204)" align="center" | Offset
+
<li>[[FF7|Final Fantasy VII]]
! style="background:rgb(204,204,204)" align="center" | Length
+
<li>[[FF7:CC|Final Fantasy VII:Crisis Core]]
! style="background:rgb(204,204,204)" align="center" | Description
+
<li>[[FF8|Final Fantasy VIII]]
|-
+
<li>[[FF9|Final Fantasy IX]]
| 0x0BA4
+
<li>[[FF10|Final Fantasy X]]
| 2 byte
+
<li>[[FF12|Final Fantasy XII]]
| Main progress variable
+
<li>[[CC|Chrono Cross]]
|-
+
<li>[[CT|Chrono Trigger]]
|style="background:rgb(255,205,154)" | 0x0BA6<br />z_7[0]
+
<li>[[Xeno|Xenogears]]
| 1 Byte
+
<li>[[Dissidia|Dissidia]]
| Yuffie's Initial Level (z_7 Unknown)
+
<li>[[AM]|Another Mind]] (FMV Visual Novel by Squaresoft)
Byte value before Yuffie join the team: 0x00.<br />
+
<li>[[PSX|Sony PlayStation]]
(If byte's value is changed, then you can't fight Yuffie, so she can't be obtained).<br />
+
<li>[[PS2|Sony PlayStation 2]]
Yuffie's Initial Level only is set when she already join the team.<br />
+
<li>[[PS3|Sony PlayStation 3]]
Credit to [http://wiki.qhimm.com/FF7/Savemap?diff=next&oldid=2262 (NFITC1)]
+
<li>[[PSP|Sony PSP]]
|-
+
</ul>
| 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
 
|-
 
|style="background:rgb(255,205,154)" | 0x0BAB
 
|style="background:rgb(255,205,154)" | 17 bytes
 
|style="background:rgb(255,205,154)" | z_8 Unknown
 
|-
 
|style="background:rgb(255,205,154)" | 0x0BB4<br />z_8[9]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Game timer (Hours)
 
|-
 
|style="background:rgb(255,205,154)" | 0x0BB5<br />z_8[10]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Game timer (Minutes)
 
|-
 
|style="background:rgb(255,205,154)" | 0x0BB6<br />z_8[11]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Game timer (Seconds)
 
|-
 
|style="background:rgb(255,205,154)" | 0x0BB7<br />z_8[12]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Game timer (Tenths?) From 0x00 to ~0x21 in one sec.(33 FPS?)
 
|-
 
|style="background:rgb(255,205,154)" | 0x0BB8<br />z_8[13]
 
|style="background:rgb(255,255,204)" | 1 bytes
 
|style="background:rgb(255,255,204)" | Countdown Timer (Hours?)
 
|-
 
|style="background:rgb(255,205,154)" | 0x0BB9<br />z_8[14]
 
|style="background:rgb(255,255,204)" | 1 bytes
 
|style="background:rgb(255,255,204)" | Countdown Timer (Minutes) (Tested in Bombing Mission)
 
|-
 
|style="background:rgb(255,205,154)" | 0x0BBA<br />z_8[15]
 
|style="background:rgb(255,255,204)" | 1 bytes
 
|style="background:rgb(255,255,204)" | Countdown Timer (Seconds) (Tested in Bombing Mission)
 
|-
 
|style="background:rgb(255,205,154)" | 0x0BBB<br />z_8[16]
 
|style="background:rgb(255,255,204)" | 1 bytes
 
|style="background:rgb(255,255,204)" | Countdown Timer From 0 to 30 (dec) in one sec. (Tested in Bombing Mission)
 
|-
 
| 0x0BBC
 
| 2 bytes
 
| Number of battles fought
 
|-
 
| 0x0BBE
 
| 2 bytes
 
| Number of escapes
 
|-
 
| rowspan="2" | 0x0BC0
 
| rowspan="2" | 2 bytes
 
| colspan="2" | Menu Visiblity Mask (Quit not affected)
 
|-
 
| colspan="2" |
 
{| border="0" cellspacing="1" cellpadding="3" style="background: rgb(0,0,0)" align="center"
 
|style="background:rgb(68,144,205)" | LSB
 
|style="background:rgb(205,205,230)" | item
 
|style="background:rgb(205,205,230)" | magic
 
|style="background:rgb(205,205,230)" | materia
 
|style="background:rgb(205,205,230)" | equip
 
|style="background:rgb(205,205,230)" | status
 
|style="background:rgb(205,205,230)" | order
 
|style="background:rgb(205,205,230)" | limit
 
|style="background:rgb(205,205,230)" | config
 
|style="background:rgb(205,205,230)" | PHS
 
|style="background:rgb(205,205,230)" | save
 
|style="background:rgb(68,144,205)" | MSB
 
|}
 
|-
 
| rowspan="2" | 0x0BC2<br />
 
| rowspan="2" | 2 bytes
 
| colspan="2" | Menu Locking Mask (1: Locked) (Quit not affected)
 
|-
 
| colspan="2" |
 
{| border="0" cellspacing="1" cellpadding="3" style="background: rgb(0,0,0)" align="center"
 
|style="background:rgb(68,144,205)" | LSB
 
|style="background:rgb(205,205,230)" | item
 
|style="background:rgb(205,205,230)" | magic
 
|style="background:rgb(205,205,230)" | materia
 
|style="background:rgb(205,205,230)" | equip
 
|style="background:rgb(205,205,230)" | status
 
|style="background:rgb(205,205,230)" | order
 
|style="background:rgb(205,205,230)" | limit
 
|style="background:rgb(205,205,230)" | config
 
|style="background:rgb(205,205,230)" | PHS
 
|style="background:rgb(205,205,230)" | save
 
|style="background:rgb(68,144,205)" | MSB
 
|}
 
|-
 
|style="background:rgb(255,205,154)" | 0x0BC4
 
|style="background:rgb(255,205,154)" | 16 bytes
 
|style="background:rgb(255,205,154)" | z_9 Unknown
 
|-
 
|style="background:rgb(255,205,154)" | 0x0BC8<br />z_9[4]
 
|style="background:rgb(255,163,0)" | 1 byte
 
|style="background:rgb(255,163,0)" | Field Items, Sector 7 Train Graveyard<br />
 
Item bit mask ([[Bit_numbering#LSB_0_bit_numbering|LBS]]) (applied when you pick them up).<br />
 
Bit=0(Item on the floor), Bit=1(Item Picked Up).<br />
 
0x01: Hi-Potion.(mds7st1|Barrel 1)<br />
 
0x02: Echo Screen.(mds7st1|Barrel 2)<br />
 
0x04: Potion.(mds7st2|Floor 2)<br />
 
0x08: Ether.(mds7st2|Floor 3)<br />
 
0x10: Hi-Potion.(mds7st1|Roof Train 1)<br />
 
0x20: Potion.(mds7st1|Inside Train 2)<br />
 
0x40: Potion.(mds7st1|Floor 1)<br />
 
0x80: Hi-Potion.(mds7st2|Roof Train 2)<br />
 
|-
 
| 0x0BD4
 
| 1 byte
 
| Item bit mask ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you pick them up).
 
Field Item / Materia<br />
 
Bit=0(Item on the floor), Bit=1(Item Picked Up).<br />
 
0x01: Potion {MD8_3}<br />
 
0x02: Potion + Phoenix Down {EALIN_1}<br />
 
0x04: Ether {EALS_1}<br />
 
0x08: Cover Materia {EALS_1}<br />
 
0x10: Choco-Mog Summon{FARM}<br />
 
0x20: Sense Materia {MDS6_2}<br />
 
0x40: Ramuh Summon {CRCIN_2}<br />
 
0x80: Mythril Key Item {ZZ1}<br />
 
|-
 
| 0x0BD5
 
| 1 byte
 
| Materia Cave masks (applied when you pick up the corresponding Materia).<br />0x01: Mime, 0x02: HP&lt;-&gt;MP, 0x04: Quadra Magic, 0x08: KOTR
 
|-
 
|style="background:rgb(255,205,154)" | 0x0BD6
 
|style="background:rgb(255,205,154)" | 14 bytes
 
|style="background:rgb(255,205,154)" | z_10 Unknown
 
|-
 
|style="background:rgb(255,205,154)" | 0x0BD7<br />z_10[1]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Item masks (applied when you pick them up).<br />0x10: Chaos & Death Penalty, others are unknown
 
|-
 
|style="background:rgb(255,205,154)" | 0x0BDC<br />z_10[6]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Field Items, Sector 7 Wall Market and Shinra HQ<br />
 
Item bit mask ([[Bit_numbering#LSB_0_bit_numbering|LBS]]) (applied when you pick them up).<br />
 
Bit=0(Item on the floor), Bit=1(Item Picked Up).<br />
 
0x01: Ether.(Corneo's masion basement floor)<br />
 
0x02: Hyper.(Corneo's masion corneo 's bedroom floor)<br />
 
0x04: Phoenix Down (Corneo's masion 2nd floor right room)<br />
 
0x08: Elixir at Shinra HQ stairs (0x08)<br />
 
0x10: <br />
 
0x20: <br />
 
0x40: Second Midgar part at Shinra HQ(0x40)<br />
 
0x80: Third Midgar part at Shinra HQ(0x80)<br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0BDD<br />z_10[7]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Field Items, Shinra HQ <br />
 
Item bit mask ([[Bit_numbering#LSB_0_bit_numbering|LBS]]) (applied when you pick them up).<br />
 
Bit=0(Item on the floor), Bit=1(Item Picked Up).<br />
 
0x01: Fourth Midgar part(0x01)<br />
 
0x02: First Midgar part(0x02)<br />
 
0x04: Fifth Midgar Part(0x04)<br />
 
0x08: Keycard 66(0x08)<br />
 
0x10: <br />
 
0x20: <br />
 
0x40: <br />
 
0x80: <br />
 
|-
 
| 0x0BE4
 
| 8 bytes
 
| Key items [see Key Item List]
 
|-
 
|style="background:rgb(255,205,154)" | 0x0BEC
 
|style="background:rgb(255,205,154)" | 8 bytes
 
|style="background:rgb(255,205,154)" | z_11 Unknown
 
|-
 
|style="background:rgb(255,205,154)" | 0x0BEF<br />z_11[3]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Items mask, Chocobo Farm ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you take the item).<br />
 
Bit=0(Item in field), Bit=1(Item taken).<br />
 
0x01: Activated right after getting Choco-Mog<br />
 
0x02: <br />
 
0x04: <br />
 
0x08: <br />
 
0x10: <br />
 
0x20: <br />
 
0x40: <br />
 
0x80: <br />
 
|-
 
| 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
 
|-
 
|style="background:rgb(255,205,154)" | 0x0BF8
 
|style="background:rgb(255,205,154)" | 1 bytes
 
|style="background:rgb(255,205,154)" | z_12 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
 
|-
 
|style="background:rgb(255,205,154)" | 0x0BFD
 
|style="background:rgb(255,205,154)" | 2 bytes
 
|style="background:rgb(255,205,154)" | z_13 Unknown
 
|-
 
| 0x0BFF
 
| 3 bytes
 
| Ultimate Weapon's remaining HP
 
|-
 
| 0x0C02
 
| 1 byte
 
| Set to 1 when party successfully catches Chocobo in battle.
 
|-
 
|style="background:rgb(255,205,154)" | 0x0C03<br />z_14[1]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Field Chocobo rating?
 
|-
 
|style="background:rgb(255,205,154)" | 0x0C04<br />z_14[2]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Field Chocobo rating?
 
|-
 
|style="background:rgb(255,205,154)" | 0x0C05<br />z_14[3]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Field Chocobo rating?
 
|-
 
| 0x0C1E
 
| 1 bytes
 
| Needs more research. (bit=0: show tutorial. bit=1: hide tutorial.)<br />
 
0x01: unknown<br />
 
0x02: unknown<br />
 
0x04: Grey Submarine Tutorial already seen?<br />
 
0x08: unknown<br />
 
0x10: unknown<br />
 
0x20: Snow Area Tutorial already seen?<br />
 
0x40: Display Field Help<br />
 
0x80: unknown<br />
 
|-
 
| 0x0C1F
 
| 1 bytes
 
| Weapons Killed      0x4:Ultimate      0x8:Ruby      0x10:Emerald (more?)
 
|-
 
|style="background:rgb(255,205,154)" | 0x0C20
 
|style="background:rgb(255,205,154)" | 4 bytes
 
|style="background:rgb(255,205,154)" | z_15 Unknown
 
|-
 
|style="background:rgb(255,205,154)" | 0x0C20<br />z_15[0]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Which Chocobo was taken out from the stable.<br />
 
00 / 01 - 06 Which stable's Chocobo was taken out. The stable is displayed empty, but still occupied.
 
00: Chocobo can be taken out even if another Chocobo is exist on world map. - (* Glitch)
 
Not 00: Chocobo cannot be taken out even if no Chocobo is exist on world map.
 
|-
 
|style="background:rgb(255,205,154)" | 0x0C21<br />z_15[1]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Riding off wild chocobo dialog options.<br />
 
0x01 Enter direction to Chocobo Farm & Show send/release Wild Chocobo option when riding off.
 
ON:  Right of ranch / Show option
 
OFF: In front of cage / Hide option
 
Set to "ON" after buying chocobo stable.
 
|-
 
|style="background:rgb(255,205,154)" | 0x0C22<br />z_15[2]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Chocobo display value on world map ([[Bit_numbering#LSB_0_bit_numbering|LBS]]).<br />
 
Bit=0(Disabled), Bit=1(Enabled).<br />
 
Ex: Wild Chocobo (0x01) + Black Chocobo (0x20) = Byte value 0x21 <br />
 
0x01: Caught wild chocobo<br />
 
0x02: Riding Chocobo<br />
 
0x04: Yellow<br />
 
0x08: Green<br />
 
0x10: Blue<br />
 
0x20: Black<br />
 
0x40: Gold<br />
 
0x80: None?<br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0C23<br />z_15[3]
 
| 1 byte
 
| Vehicle display value on world map ([[Bit_numbering#LSB_0_bit_numbering|LBS]]).<br />
 
Note: if disk is different than 1, buggy is invisible.<br />
 
Bit=0(Disabled), Bit=1(Enabled).<br />
 
Ex: Buggy (0x01) + Tiny Bronco (0x04) = Byte value 0x05 <br />
 
Byte value 0x00: None<br />
 
0x01: Buggy<br />
 
0x02: Unknown/Unused<br />
 
0x04: Tiny Bronco<br />
 
0x08: Unknown/Unused<br />
 
0x10: Highwind<br />
 
0x20: Highwind (bit=1: Flying in the sky | bit=0: On the ground)<br />
 
0x40: Unknown/Unused<br />
 
0x80: Unknown/Unused<br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0C24
 
|style="background:rgb(255,205,154)" | 97 bytes
 
|style="background:rgb(255,205,154)" | z_16 Unknown
 
|-
 
|style="background:rgb(255,205,154)" | 0x0C44<br />z_16[32]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Progress items, Wallmarket ([[Bit_numbering#LSB_0_bit_numbering|LBS]]).<br />
 
Bit=0(Item not obtained), Bit=1(Item obtained).<br />
 
0x01: Cologne at Wallmarket (0x01)<br />
 
0x02: Flower Cologne at Wallmarket (0x02)<br />
 
0x04: Sexy Cologne at Wallmarket (0x04)<br />
 
0x08: <br />
 
0x10: <br />
 
0x20: <br />
 
0x40: Pharmacy coupon at Wallmarket(0x40)<br />
 
0x80: Wig at Wallmarket(0x80)<br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0C45<br />z_16[33]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Progress items, Wallmarket ([[Bit_numbering#LSB_0_bit_numbering|LBS]]).<br />
 
Bit=0(Item not obtained), Bit=1(Item obtained).<br />
 
0x01: <br />
 
0x02: <br />
 
0x04: <br />
 
0x08: Obtaining the dress at Wallmarket<br />
 
0x10: Dress used, picked up???<br />
 
0x20: Cotton Dress [0xCA]<br />
 
0x40: Satin Dress [0xAA]<br />
 
0x80: Silk Dress [0x9A]<br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0C46<br />z_16[34]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Progress items, Wallmarket ([[Bit_numbering#LSB_0_bit_numbering|LBS]]).<br />
 
Bit=0(Item not obtained), Bit=1(Item obtained).<br />
 
0x01: Disinfectant at Wallmarket<br />
 
0x02: Deodorant at Wallmarket<br />
 
0x04: Digestive at Wallmarket<br />
 
0x08: Speaking to materia shop seller<br />
 
0x10: 200 gil Item at vending machine in Wallmarket<br />
 
0x20: 100 gil Item at vending machine in Wallmarket<br />
 
0x40: 50 gil Item at vending machine in Wallmarket<br />
 
0x80: <br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0C48<br />z_16[36]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Field Objects, Sector 7 Train Graveyard ([[Bit_numbering#LSB_0_bit_numbering|LBS]]) (so far)<br />
 
Bit=0(Original Position), Bit=1(Moved).<br />
 
0x01: Train 1 Position.(mds7st2)<br />
 
0x02: Train 2 Position.(mds7st2)<br />
 
0x04: Train 3 Position.(mds7st2)<br />
 
0x08: <br />
 
0x10: <br />
 
0x20: <br />
 
0x40: <br />
 
0x80: <br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0C49<br />z_16[37]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Field Items, Sector 7 Wall Market<br />
 
Items bit mask ([[Bit_numbering#LSB_0_bit_numbering|LBS]])<br />
 
0x01: Cloud see the first battery holder and figured out the idea of using a battery there... {wcrimb_1}<br />
 
0x02: First battery applied up the wall of Wallmarket(0x02){wcrimb_1}<br />
 
0x04: Second battery applied up the wall of Wallmarket(0x04){wcrimb_1}<br />
 
0x08: <br />
 
0x10: Third battery applied and Ether obtained up the wall of Wallmarket (0x10){wcrimb_2}<br />
 
0x20: Battery (Gun shop batery pack 1/3){mkt_w}<br />
 
0x40: Battery (Gun shop batery pack 2/3){mkt_w}<br />
 
0x80: Battery (Gun shop batery pack 3/3){mkt_w}<br />
 
Note: all 3 batteries get at same time.
 
|-
 
|style="background:rgb(255,205,154)" | 0x0C4A<br />z_16[38]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Number of Fort Condor Battles Fought<br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0C4B<br />z_16[39]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Number of Fort Condor Battles Won<br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0C58<br />z_16[52]
 
|style="background:rgb(255,255,204)" | 2 bytes
 
|style="background:rgb(255,255,204)" | Fort Condor Funds
 
|-
 
|style="background:rgb(255,205,154)" | 0x0C5B<br />z_16[55]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Conversations mask ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you speak).<br />
 
Bit=0(Not spoken to), Bit=1(Spoken to).<br />
 
0x01: Speaking to the children near the wall of Wallmarket(0x01)<br />
 
0x02: Speaking to the children near the wall of Wallmarket(0x02)<br />
 
0x04: Conversation of children on top of the wall of Wallmarket(0x04)<br />
 
0x08: Speaking to the child by the pipe in Wallmarket (0x08)<br />
 
0x10: <br />
 
0x20: <br />
 
0x40: <br />
 
0x80: <br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0C84<br />z_16[96]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Keeps track of which Shinra floors are unlocked (By picking keycards). Values still unknown.(255 all doors opened when set manualy)
 
|-
 
|style="background:rgb(255,255,204)" | 0x0C85
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Mission 1st reactor flags.<br />0x01: elevator on top floor.<br /> 0x08: 1st door opened.<br />0x10: 2nd door opened.<br />0x20: Jessie free from stuck.<br />0x40: bomb set.<br />0x80: set if time is out for gameover check.
 
|-
 
|style="background:rgb(255,255,204)" | 0x0C86
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Mission 1st reactor flags.<br />0x02: elevator door opened.<br />0x04: scrolled at map init to show reactor.
 
|-
 
|style="background:rgb(255,205,154)" | 0x0C87
 
|style="background:rgb(255,205,154)" | 29/45 bytes
 
|style="background:rgb(255,205,154)" | z_17 Unknown[0-28] First 29 bytes of 45 (ENDS AT 0x0CB3 16 Bytes into next bank)
 
|}
 
  
== Save Memory Bank 3/4 ==
+
Information on FF7 should thus go into a subpage of [[FF7]], like [[FF7/Field/Script]]. I'm considering having tech-support information stored here as well, though maybe it too should get its own hierarchy, separate from the tech information in FF7/FF8? Suggestions are welcome [[Talk:Main page|here]].
 
{| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse; width: 600px;"
 
|+'''Table 1: FF7 Save Slot'''
 
! 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
 
|-
 
|style="background:rgb(255,205,154)" | 0x0CA4
 
|style="background:rgb(255,205,154)" | 16/45 Bytes
 
|style="background:rgb(255,205,154)" | z_17 Unknown[29-44] Last 16 bytes of 45
 
|-
 
|style="background:rgb(255,255,204)" | 0x0CB4
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Aeris In Church progression (document this better)
 
|-
 
|style="background:rgb(255,205,154)" | 0x0CB5
 
|style="background:rgb(255,205,154)" | 49 Bytes
 
|style="background:rgb(255,205,154)" | z_18 Unknown
 
|-
 
|style="background:rgb(255,255,204)" | 0x0CE6
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Escape from 1st reactor progress.<br />0x01: after scroll at start of map MD8_2 (maybe unneded).<br />0x02: after people panic on MD8_3 is over to never show it again.
 
|-
 
|style="background:rgb(255,205,154)"| 0x0CE7
 
|style="background:rgb(255,205,154)" | 7 Bytes
 
|style="background:rgb(255,205,154)" | z_19 Unknown
 
|-
 
| 0x0CEE
 
| 2 bytes
 
| Party GP (0-10000)
 
|-
 
|style="background:rgb(255,205,154)" | 0x0CF0
 
|style="background:rgb(255,205,154)" | 12 Bytes
 
|style="background:rgb(255,205,154)" | z_20 Unknown
 
|-
 
|style="background:rgb(255,205,154)" | 0x0CF3 <br/>  z_20[3]
 
|style="background:rgb(255,205,154)" | 1 Byte
 
|style="background:rgb(255,205,154)" | Battle Square Special Dialog Progression {0x00 init, 0x10 :no text, 0xF0:new special fight}
 
|-
 
|style="background:rgb(255,205,154)" | 0x0CF4 <br/>  z_20[4] & Z_20[5]
 
|style="background:rgb(255,255,204)" | 2 Bytes
 
|style="background:rgb(255,255,204)" | Battle Square Battle Points
 
|-
 
| 0x0CFC
 
| 1 byte
 
| Number of chocobo stables owned
 
|-
 
| 0x0CFD
 
| 1 byte
 
| Number of occupied stables
 
|-
 
|style="background:rgb(255,205,154)" | 0x0CFE
 
|style="background:rgb(255,205,154)" | 1 Byte
 
|style="background:rgb(255,205,154)" | z_21 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
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D01
 
|style="background:rgb(255,205,154)" | 40 Bytes
 
|style="background:rgb(255,205,154)" | z_22 Unknown
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D13<br />z_22[18]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Aeris flower quest progress.<br />0x01: if we buy flower from Aeris.
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D23<br />z_22[34]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | 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.
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D24<br />z_22[35]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Conversations mask, Kalm ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you speak to someone).<br />
 
Bit=0(Not spoken to), Bit=1(Spoken to).<br />
 
0x01: <br />
 
0x02: <br />
 
0x04: <br />
 
0x08: Spoke to the child in the house next to the Inn<br />
 
0x10: Freed the dog in a house<br />
 
0x20: <br />
 
0x40: <br />
 
0x80: <br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D26<br />z_22[37]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Conversations mask, Reactor under the plate ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you speak).<br />
 
Bit=0(Not spoken to), Bit=1(Spoken to).<br />
 
0x01: Speaking with Biggs(0x01)<br />
 
0x02: <br />
 
0x04: <br />
 
0x08: <br />
 
0x10: <br />
 
0x20: <br />
 
0x40: <br />
 
0x80: <br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D27<br />z_22[38]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Conversations mask, Reactor under the plate ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you speak).<br />
 
Bit=0(Not spoken to), Bit=1(Spoken to).<br />
 
0x01: Speaking with Jesse(0x01)<br />
 
0x02: <br />
 
0x04: <br />
 
0x08: <br />
 
0x10: <br />
 
0x20: <br />
 
0x40: <br />
 
0x80: <br />
 
|-
 
|0x0D29
 
|1 Byte
 
|Yuffie can be found in the forests? (LSB only) others used?
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D2A
 
|style="background:rgb(255,205,154)" | 28 Bytes
 
|style="background:rgb(255,205,154)" | z_23 Unknown
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D44<br />z_23[26]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Conversations mask, Reactor under the plate ([[Bit_numbering#LSB_0_bit_numbering|LBS]]).<br />
 
Bit=0(NOT Activated/Received/Spoken to), Bit=1(Activated/Received/Spoken to).<br />
 
0x01: <br />
 
0x02: <br />
 
0x04: <br />
 
0x08: <br />
 
0x10: Aerith on roof event ends<br />
 
0x20: <br />
 
0x40: Turbo Ether {MIN51_2}<br />
 
0x80: Aerith on roof event starts<br />
 
<!-- Asa Asa (2012-03-12)
 
Progress Tab
 
The check box "cb_s5_7 (aerith On roof)" changes "0x0D44: 0x40 0n/Off".
 
But "0x0D44: 0x40" is Turbo Ether from Kid in "house 2F 5min1_2".
 
And "Aerith on roof" is "0x0D44: 0x80", not 0x40.
 
(After "Aerith on roof" event [church 158 - mds5_4 171 - mds5_2 173], both of 0x80 & 0x10 of 0x0D44 are changed to ON. So I also checked 0x10 to confirm them.)
 
-->
 
|-
 
| 0x0D46
 
| 1 byte
 
| Don's Mission Progress (more needed here)
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D47
 
|style="background:rgb(255,205,154)" | 31 Bytes
 
|style="background:rgb(255,205,154)" | z_24 Unknown
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D47<br />z_24[0]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Conversations mask, Shinra HQ ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you speak).<br />
 
Bit=0(Not spoken to), Bit=1(Spoken to).<br />
 
0x01: <br />
 
0x02: <br />
 
0x04: <br />
 
0x08: Elevator event at shinra HQ(0x08)<br />
 
0x10: First conversation while climbing Shinra HQ stairs(0x10)<br />
 
0x20: <br />
 
0x40: <br />
 
0x80: <br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D49<br />z_24[2]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Conversations mask, Shinra HQ ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you speak).<br />
 
Bit=0(Not spoken to), Bit=1(Spoken to).<br />
 
0x01: <br />
 
0x02: <br />
 
0x04: <br />
 
0x08: <br />
 
0x10: <br />
 
0x20: <br />
 
0x40: <br />
 
0x80: Second conversation while climbing Shinra HQ stairs(0x80)<br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D4A<br />z_24[3]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Conversations mask, Shinra HQ ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you speak).<br />
 
Bit=0(Not spoken to), Bit=1(Spoken to).<br />
 
0x01: Third conversation while climbing Shinra HQ stairs (0x01)<br />
 
0x02: <br />
 
0x04: <br />
 
0x08: <br />
 
0x10: <br />
 
0x20: <br />
 
0x40: <br />
 
0x80: <br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D4C<br />z_24[5]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Conversations mask, Shinra HQ ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you speak).<br />
 
Bit=0(Not spoken to), Bit=1(Spoken to).<br />
 
0x01: Braking in Shinra HQ scene (0x01)<br />
 
0x02: Taking out the guards and obtaining keycard 60(0x02)<br />
 
0x04: Taking everyone out the first floor in Shinra HQ(0x04)<br />
 
0x08: Speaking to the couple in the shop at Shinra HQ(0x08)<br />
 
0x10: Speaking to the shop seller in Shinra HQ(0x10)<br />
 
0x20: Approaching Shinra HQ and conversation at the front door scene(0x20)<br />
 
0x40: Approaching Shinra HQ and conversation at the front door scene(0x40)<br />
 
0x80: <br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D50<br />z_24[9]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Items mask, Shinra HQ ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you speak).<br />
 
Bit=0(Item on floor), Bit=1(Item taken).<br />
 
0x01: Phoenix down from locker at floor 64 (0x01)<br />
 
0x02: Ether from locker at floor 64(0x02)<br />
 
0x04: <br />
 
0x08: <br />
 
0x10: Exiting elevator FMV at floor 60(0x10)<br />
 
0x20: <br />
 
0x40: <br />
 
0x80: <br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D52<br />z_24[11]
 
|style="background:rgb(255,255,204)" | 2 bytes
 
|style="background:rgb(255,255,204)" | Bits kept for the doors at floor 63, Shinra HQ ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you speak).<br />
 
Bit=0(Door opened), Bit=1(Door closed).<br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D55<br />z_24[14]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Item mask, Shinra HQ ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you speak).<br />
 
Bit=0(Item on floor), Bit=1(Item taken).<br />
 
0x01: <br />
 
0x02: Coupon C from Shinra HQ(0x02)<br />
 
0x04: Coupon C from Shinra HQ(0x04)<br />
 
0x08: Coupon B from Shinra HQ(0x08)<br />
 
0x10: Speaking to the machine at floor 63(0x10)<br />
 
0x20: <br />
 
0x40: <br />
 
0x80: <br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D56<br />z_24[15]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Bits kept for some events on floor 63, Shinra HQ ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(Really needs to be investigated).<br />
 
Bit=0(Door opened), Bit=1(Door closed).<br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D57<br />z_24[16]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Conversations mask, Shinra HQ ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you speak).<br />
 
Bit=0(Not spoken to), Bit=1(Spoken to).<br />
 
0x01: Hitting vending machine at floor 64(0x01)<br />
 
0x02: <br />
 
0x04: <br />
 
0x08: <br />
 
0x10: <br />
 
0x20: <br />
 
0x40: <br />
 
0x80: <br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D58<br />z_24[17]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Conversations mask, Shinra HQ ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you speak).<br />
 
Bit=0(Not spoken to), Bit=1(Spoken to).<br />
 
0x01: <br />
 
0x02: <br />
 
0x04: <br />
 
0x08: Placing midgar fifth part(0x08)<br />
 
0x10: Placing midgar fourth part(0x10)<br />
 
0x20: Placing midgar third part(0x20)<br />
 
0x40: Placing midgar second part(0x40)<br />
 
0x80: Placing midgar first part(0x80)<br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D59<br />z_24[18]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Conversations mask, Shinra HQ ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you speak).<br />
 
Bit=0(Not spoken to), Bit=1(Spoken to).<br />
 
0x01: Midgar model lights up at floor 65<br />
 
0x02: <br />
 
0x04: <br />
 
0x08: <br />
 
0x10: <br />
 
0x20: <br />
 
0x40: <br />
 
0x80: Last conversation with floor 63 machine<br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D5D<br />z_24[22]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Conversations mask, Shinra HQ ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you speak).<br />
 
Bit=0(Not spoken to), Bit=1(Spoken to).<br />
 
0x01: <br />
 
0x02: <br />
 
0x04: <br />
 
0x08: <br />
 
0x10: <br />
 
0x20: Retrieving coupons (must know the order)(0x20)<br />
 
0x40: Retrieving coupons (must know the order)(0x40)<br />
 
0x80: Retrieving coupons (must know the order)(0x80)<br />
 
|-
 
| 0x0D66
 
| 1 byte
 
| Turtle Paradise Flyers Seen LSB 1 2 3 4 5 6 x x MSB (flyer#) 1=seen
 
0x01: Sector 7 Slums<br />
 
0x02: 1st Floor Shinra Building<br />
 
0x04: Gold Saucer - Ghost Hotel<br />
 
0x08: Cosmo Canyon - Inn 2nd Floor<br />
 
0x10: Cosmo Canyon - Near Shop<br />
 
0x20: Wutai In Front of Trap Room<br />
 
0x40: Wutai - In Front of Turtle Paradise<br />
 
0x80: <br />
 
<!-- Asa Asa (2012-03-12)
 
Item Tab
 
Current Black Chocobo can edit followings Turtle Paradise Flyers
 
0x0D66
 
1. 0x01 Sector 7 Slums
 
2. 0x02 1st Floor Shinra Building
 
3. 0x04 Gold Saucer - Ghost Hotel
 
4. 0x08 Cosmo Canyon - Inn 2nd Floor
 
5. 0x10 Cosmo Canyon - Near Shop
 
6. 0x20 Wutai In Front of Trap Room
 
But one more Flyer is exist.
 
7. 0x40 Wutai - In Front of Turtle Paradise
 
If Party read 1-6, but doesn't read 7, Party cannot get Items from Turtle Paradise Master.
 
So, 7's property is same as 1-6. It is better to add to Black Chocobo.
 
-->
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D67
 
|style="background:rgb(255,205,154)" | 12 Bytes
 
|style="background:rgb(255,205,154)" | z_25 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.<br />0x6E: Yes; 0x6F: No
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D74
 
|style="background:rgb(255,205,154)" | 15 Bytes
 
|style="background:rgb(255,205,154)" | z_26 Unknown
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D74<br />z_26[0]
 
|style="background:rgb(255,163,0)" | 1 byte
 
|style="background:rgb(255,163,0)" | MDS7PLR1 event flags.<br />
 
0x01: when everyone run to hideout.<br />
 
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.<br />
 
0x04: when Barret return to map and call us again.<br />
 
0x08: after return to this map after seeing pillar.<br />
 
0x10: after talking to right soldier twice (before mission in 5th reactor).<br />
 
0x20: <br />
 
0x40: <br />
 
0x80:
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D75<br />z_26[1]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Conversations mask, MDS7 ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you speak).<br />
 
Bit=0(Not spoken to), Bit=1(Spoken to). The value inside [] is the hex value of the entire byte.<br />
 
Start sector 7 slums [0x00]<br />
 
0x01: Right after enter s7 bar MAP[0xA1]<br />
 
0x02: After 7th heaven initial scene[0xFF]or[0xBF] if bit 6 is 0<br />
 
0x04: Tifa get out the bar[0xA5]?<br />
 
0x08: Scene ends and barret wait outside bar[0xAD]<br />
 
0x10: Barret talk before enter the bar[0xFD]or[0xBD] if bit 6 is 0<br />
 
0x20: Right after enter s7 bar MAP[0xA1]<br />
 
0x40: Girl talk about reactor explotion[0xED]<br />
 
0x80: Right after enter s7 bar MAP[0xA1]<br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D76<br />z_26[2]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Conversations mask, MDS7 ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you speak).<br />
 
Bit=0(Not spoken to), Bit=1(Spoken to). The value inside [] is the hex value of the entire byte.<br />
 
Start sector 7 slums [0x00]<br />
 
0x01: After you wake up in the Hideout[0x03]<br />
 
0x02: After you wake up in the Hideout[0x03]<br />
 
0x04: Unknown[0x00]?<br />
 
0x08: Unknown[0x00]<br />
 
0x10: Avalache member continue running to s7 train station and Villagers are arround Avalache team  [0x51]{mds7}<br />
 
0x20: Unknown it become 1 seconds after 0x0D76[4] is set [0x51]{mds7}<br />
 
0x40: Unknown[0x00]<br />
 
0x80: Unknown[0x00]<br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D77<br />z_26[3]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Conversations mask, MDS7 ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you speak).<br />
 
Bit=0(Not spoken to), Bit=1(Spoken to). The value inside [] is the hex value of the entire byte.<br />
 
Start sector 7 slums [0x00]<br />
 
0x01: Tell tifa did fight w/ barret (1) didn't fight (0)[0x05]or[0x04] if not<br />
 
0x02: Unknown[0x00]<br />
 
0x04: Auto tifa talk about fight w/ barret[0x04]<br />
 
0x08: Unknown[0x00]<br />
 
0x10: Unknown[0x00]<br />
 
0x20: Unknown[0x00]<br />
 
0x40: Unknown[0x00]<br />
 
0x80: Unknown[0x00]<br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D78<br />z_26[4]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Conversations mask, MDS7 ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you speak).<br />
 
Bit=0(Not spoken to), Bit=1(Spoken to). The value inside [] is the hex value of the entire byte.<br />
 
Start sector 7 slums [0x00]<br />
 
0x01: Barret chages in bar (set w/ z_26[1] state #2)[0x03]<br />
 
0x02: Barret chages in bar (set w/ z_26[1] state #2)[0x03]<br />
 
0x04: After we have talked to tifa[0x07]<br />
 
0x08: Set to 1 if we choose no drink when talking to tifa[0x0F]<br />
 
0x10: Set to 1 if we choose strong drink talking ot tifa[0x17]<br />
 
0x20: Unknown[0x00]<br />
 
0x40: Unknown[0x00]<br />
 
0x80: Unknown[0x00]<br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D79<br />z_26[5]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Conversations mask, MDS7 ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you speak).<br />
 
Bit=0(Not spoken to), Bit=1(Spoken to). The value inside [] is the hex value of the entire byte.<br />
 
Start sector 7 slums [0x00]<br />
 
0x01: set to 1 when tifa calls the machine down after you 1st talk down stairs, never gets unset[0x03]<br />
 
0x02: 1 if elevator is in hide out (pinball machine)[0x02]<br />
 
0x04: After you wake up in the Hideout[0x1F]<br />
 
0x08: After you wake up in the Hideout[0x1F]<br />
 
0x10: After you wake up in the Hideout[0x1F]<br />
 
0x20: Unknown[0x00]<br />
 
0x40: After giving Barret the materia tutorial[0x5D]<br />
 
0x80: Unknown[0x00]<br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D7A<br />z_26[6]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Conversations mask, MDS7 ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you speak).<br />
 
Bit=0(Not spoken to), Bit=1(Spoken to). The value inside [] is the hex value of the entire byte.<br />
 
Start sector 7 slums [0x00]<br />
 
0x01: After hide out 1st talk[0x03]<br />
 
0x02: After hide out 1st talk[0x03]<br />
 
0x04: second part of talk tifa enter in scene[0x07]<br />
 
0x08: After you wake up in the Hideout[0x6F]<br />
 
0x10: Unknown[0x00]<br />
 
0x20: After you wake up in the Hideout[0x6F]<br />
 
0x40: After you wake up in the Hideout[0x6F]<br />
 
0x80: After you get out the Hideout and talk to tifa [0xEF]<br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D7B<br />z_26[7]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Items mask, Training room at sector 5 ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you speak).<br />
 
Bit=0(Item on floor), Bit=1(Item taken).<br />
 
0x01: <br />
 
0x02: <br />
 
0x04: <br />
 
0x08: <br />
 
0x10: All materia after taking ether(0x10)<br />
 
0x20: Ether chest that falls from ceiling(0x20)<br />
 
0x40: <br />
 
0x80: <br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D7C<br />z_26[8]
 
|style="background:rgb(255,163,0)" | 1 byte
 
|style="background:rgb(255,163,0)" | MDS7ST3 event flags.<br />
 
0x01: when everyone start run to hideout.<br />
 
0x02: when trainman tells you about war (3 talk).<br />
 
0x04: when pair on station agreed with each other.<br />
 
0x08: when Jessie, Biggs and Wedge run into train.<br />
 
0x10: <br />
 
0x20: <br />
 
0x40: <br />
 
0x80: <br />
 
|-
 
|style="background:rgb(255,255,204)" | 0x0D83
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Midgard train flags.<br />0x01: when we talk to Biggs on way to sector 7.<br />0x02: when we talk to Wedge twice on way to sector 7.<br />0x04: when talk to Jessie, before look at map.<br />0x10: this bit is checked on ROOTMAP, though it doesn't use ingame.
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D84
 
|style="background:rgb(255,205,154)" | 32/64 Bytes
 
|style="background:rgb(255,205,154)" | z_27 Unknown[0-31] First 32 bytes of 64 (ENDS AT 0x0DC3 32 Bytes into next bank)
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D90<br />z_27[12]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Event flags inside Junon.<br />
 
0x01: <br />
 
0x02: <br />
 
0x04: Junon Soldiers running through the city after the parade.<br />
 
0x08: <br />
 
0x10: <br />
 
0x20: Enemy Skill materia<br />
 
0x40: <br />
 
0x80: <br />
 
|}
 
  
== Save Memory Bank B/C ==
+
For now, I've started an example page on the [[PSX/TIM file|PSX TIM format]]; check it out to see what I envision of this site. :)
 
{| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse; width: 600px;"
 
|+'''Table 1: FF7 Save Slot'''
 
! 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
 
|-
 
|style="background:rgb(255,205,154)" | 0x0DA4
 
|style="background:rgb(255,205,154)" | 32/64 Bytes
 
|style="background:rgb(255,205,154)" | z_27 Unknown[32-63] Last 32 bytes of 64
 
|-
 
|style="background:rgb(255,255,204)" | 0x0DC4
 
|style="background:rgb(255,255,204)" | 16 bytes
 
|style="background:rgb(255,255,204)" | Chocobo slot 1 [See Below for [[#Chocobo_Record|Chocobo Slot format]]]
 
|-
 
|style="background:rgb(255,255,204)" | 0x0DD4
 
|style="background:rgb(255,255,204)" | 16 bytes
 
|style="background:rgb(255,255,204)" | Chocobo slot 2
 
|-
 
|style="background:rgb(255,255,204)" | 0x0DE4
 
|style="background:rgb(255,255,204)" | 16 bytes
 
|style="background:rgb(255,255,204)" | Chocobo slot 3
 
|-
 
|style="background:rgb(255,255,204)" | 0x0DF4
 
|style="background:rgb(255,255,204)" | 16 bytes
 
|style="background:rgb(255,255,204)" | Chocobo slot 4 [Slot 5 and 6 are located at 0x1084 - 0x10A3]
 
|-
 
|style="background:rgb(255,205,154)"| 0x0E04
 
|style="background:rgb(255,205,154)" | 13 Bytes
 
|style="background:rgb(255,205,154)" | z_28 Unknown
 
|-
 
|style="background:rgb(255,255,204)"| 0x0E11
 
|style="background:rgb(255,255,204)" | 2 Byte
 
|style="background:rgb(255,255,204)" | G-Bike Minigame High Score
 
|-
 
|style="background:rgb(255,255,204)"| 0x0E13
 
|style="background:rgb(255,255,204)" | 4 Bytes
 
|style="background:rgb(255,255,204)" | Fastest Time For Snowboard Beginner Course stored in Msec 3bytes byte[0] unused
 
|-
 
|style="background:rgb(255,255,204)"| 0x0E17
 
|style="background:rgb(255,255,204)" | 4 Bytes
 
|style="background:rgb(255,255,204)" | Fastest Time For Snowboard Expert Course stored in Msec 3bytes byte[0] unused
 
|-
 
|style="background:rgb(255,255,204)"| 0x0E1B
 
|style="background:rgb(255,255,204)" | 4 Bytes
 
|style="background:rgb(255,255,204)" | Fastest Time For Snowboard Crazy Course stored in Msec 3bytes byte[0] unused
 
|-
 
|style="background:rgb(255,205,154)"| 0x0E1F
 
|style="background:rgb(255,205,154)" | 1 Byte
 
|style="background:rgb(255,205,154)" | UnSaved Snowboard MIni Game Temp Var.
 
|-
 
|style="background:rgb(255,255,204)"| 0x0E20
 
|style="background:rgb(255,255,204)" | 1 Byte
 
|style="background:rgb(255,255,204)" | HighScore For Snowboard Beginner Course
 
|-
 
|style="background:rgb(255,255,204)"| 0x0E21
 
|style="background:rgb(255,255,204)" | 1 Byte
 
|style="background:rgb(255,255,204)" | HighScore For Snowboard Expert Course
 
|-
 
|style="background:rgb(255,255,204)"| 0x0E22
 
|style="background:rgb(255,255,204)" | 1 Byte
 
|style="background:rgb(255,255,204)" | HighScore For Snowboard Crazy Course
 
|-
 
|style="background:rgb(255,205,154)"| 0x0E23
 
|style="background:rgb(255,205,154)" | 1 Byte
 
|style="background:rgb(255,205,154)" | UnSaved Snowboard MIni Game Temp Var
 
|-
 
|style="background:rgb(255,255,204)" | 0x0E24
 
|style="background:rgb(255,255,204)" | 2 bytes
 
|style="background:rgb(255,255,204)" | 2nd rank at RollerCoaster Shooter
 
|-
 
|style="background:rgb(255,255,204)" | 0x0E26
 
|style="background:rgb(255,255,204)" | 2 bytes
 
|style="background:rgb(255,255,204)" | 3rd rank at RollerCoaster Shooter
 
|-
 
|style="background:rgb(255,205,154)"| 0x0E28
 
|style="background:rgb(255,205,154)" | 17 Bytes
 
|style="background:rgb(255,205,154)" | z_29 Unknown
 
|-
 
|style="background:rgb(255,205,154)" | 0x0E29<br />z_29[1]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Chocobo breeding tutorial (taught by the Chocobo Sage) Progression Variable
 
|-
 
|style="background:rgb(255,205,154)" | 0x0E2A<br />z_29[2]
 
|style="background:rgb(255,255,204)" | 2 bytes
 
|style="background:rgb(255,255,204)" | Number of battles to reach in order to unlock the next part of the Chocobo breeding tutorial
 
|-
 
|style="background:rgb(255,205,154)" | 0x0E33<br />z_29[11]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Lucrecia's Cave sidequest Progression Variable
 
|-
 
|style="background:rgb(255,205,154)" | 0x0E35<br />z_29[13]
 
|style="background:rgb(255,255,204)" | 2 bytes
 
|style="background:rgb(255,255,204)" | Lucrecia's Cave sidequest:<br />Number of battles to get past in order to unlock Chaos & Death Penalty
 
|-
 
|0x0E39
 
|2 bytes
 
|1st rank at RollerCoaster Shooter
 
|-
 
|style="background:rgb(255,205,154)"| 0x0E3C
 
|style="background:rgb(255,205,154)" | 105 Bytes
 
|style="background:rgb(255,205,154)" | z_30 Unknown
 
|}
 
  
== Save Memory Bank D/E ==
+
Even though this is a wiki, for now registration and anonymous contributions have been deactivated in an effort to better control the quality and structure of initial contributions. If you feel you have solid information to contribute, drop Qhimm a note and you'll (probably) get an account. Also, further discussion on the details of how to structure the content is to be expected. For now, a subpage-oriented design is favored. Also, since this is a reasonably fresh install I haven't had time to write a huge amount of documentation for it. As a result, ''many of the help links lead to empty pages''.
 
{| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse; width: 600px;"
 
|+'''Table 1: FF7 Save Slot'''
 
! 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
 
|-
 
| 0x0EA4
 
| 1 byte
 
| Which game-play Disc is needed
 
|-
 
|style="background:rgb(255,205,154)"| 0x0EA5
 
|style="background:rgb(255,205,154)"| 1 byte
 
|style="background:rgb(255,205,154)"| z_31 Unknown Data
 
|-
 
|0x0EA6
 
|1 Byte
 
|Start Of Bombing Mission (0x14=Yes, 0x56=No)
 
|-
 
|style="background:rgb(255,205,154)"| 0x0EA7
 
|style="background:rgb(255,205,154)"| 3 bytes
 
|style="background:rgb(255,205,154)"| z_32 Unknown
 
|-
 
|0x0EAA
 
|2 Bytes
 
|Step counter. Used in great glacier to count the steps until passing out and resetted whenever you enter it. Value to pass out = 544
 
|-
 
|style="background:rgb(255,205,154)"| 0x0EAC
 
|style="background:rgb(255,205,154)"| 22 bytes
 
|style="background:rgb(255,205,154)"| z_33 Unknown
 
|-
 
|style="background:rgb(255,255,204)"| 0x0EC2
 
|style="background:rgb(255,255,204)"| 1 byte
 
|style="background:rgb(255,255,204)"| Field pointers mask (hand over party leader's head + red and green arrows)<br />0x00: Inactive<br />0x02: Active
 
|-
 
|style="background:rgb(255,205,154)"| 0x0EC3
 
|style="background:rgb(255,205,154)"| 1 byte
 
|style="background:rgb(255,205,154)"| z_34  Unknown. <del>If you have max materias in your equipment it is set to non-zero (needs to be confirmed)</del> FALSE! (By Ss4).
 
|-
 
| 0x0EC4
 
| 6 bytes
 
| Name of Chocobo 1 ([[FF7/FF Text|FF Text format]])
 
|-
 
| 0x0ECA
 
| 6 bytes
 
| Name of Chocobo 2 ([[FF7/FF Text|FF Text format]])
 
|-
 
| 0x0ED0
 
| 6 bytes
 
| Name of Chocobo 3 ([[FF7/FF Text|FF Text format]])
 
|-
 
| 0x0ED6
 
| 6 bytes
 
| Name of Chocobo 4 ([[FF7/FF Text|FF Text format]])
 
|-
 
| 0x0EDC
 
| 6 bytes
 
| Name of Chocobo 5 ([[FF7/FF Text|FF Text format]])
 
|-
 
| 0x0EE2
 
| 6 bytes
 
| Name of Chocobo 6 ([[FF7/FF Text|FF Text format]])
 
|-
 
| 0x0EE8
 
| 2 bytes
 
| Stamina of Chocobo 1
 
|-
 
| 0x0EEA
 
| 2 bytes
 
| Stamina of Chocobo 2
 
|-
 
| 0x0EEC
 
| 2 bytes
 
| Stamina of Chocobo 3
 
|-
 
| 0x0EEE
 
| 2 bytes
 
| Stamina of Chocobo 4
 
|-
 
| 0x0EF0
 
| 2 bytes
 
| Stamina of Chocobo 5
 
|-
 
| 0x0EF2
 
| 2 bytes
 
| Stamina of Chocobo 6
 
|-
 
| 0x0EF4
 
| 1 byte
 
| Vincent Regularly/Change Submarine Color. (Bit-mask)<br />
 
0x01: <br />
 
0x02: <br />
 
0x04: Vincent Regulary. Has the character entered the party regularly? Byte value (Yes:[0xFF]; No:[0xFB])(NEEDS TO BE CHECKED)<br />
 
0x08: Gray Submarine (bit = 1)/ Red Submarine (bit = 0) (Liked with 0x0EF6[2])<br />
 
0x10: <br />
 
0x20: <br />
 
0x40: <br />
 
0x80: <br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0EF5
 
|style="background:rgb(255,205,154)" | 23 bytes
 
|style="background:rgb(255,205,154)" | z_35 Unknown
 
|-
 
|style="background:rgb(255,205,154)" | 0x0EF6<br />z_35[1]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Vehicle Submarine<br />
 
0x01: <br />
 
0x02: <br />
 
0x04: Grey Submarine Ignored / Red Submarine bit = 1 (Linked with 0x0EF4[3])<br />
 
0x08: <br />
 
0x10: <br />
 
0x20: <br />
 
0x40: <br />
 
0x80: <br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0EFD<br />z_35[8]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Vehicle Enabler
 
|-
 
|style="background:rgb(255,205,154)" | 0x0EFF<br />z_35[10]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Save flag.<br />
 
0x02: set when we in save (menu or point? please check) and unset when out<br />
 
Other byte values: 0x10, 0x12, 0x51
 
|-
 
|style="background:rgb(255,255,204)" | 0x0F0C
 
|style="background:rgb(255,255,204)" | 24 bytes
 
|style="background:rgb(255,255,204)" | Name of location ([[FF7/FF Text|FF Text format]])
 
|-
 
|style="background:rgb(255,205,154)" | 0x0F24
 
|style="background:rgb(255,205,154)" | 5 bytes
 
|style="background:rgb(255,205,154)" | z_36 Unknown
 
|-
 
| 0x0F29
 
| 1 bytes
 
| Save on the world map - Tutorial seen (To be Checked)<br />0x3B: Seen<br />0x33: Not Seen
 
|-
 
|style="background:rgb(255,205,154)" | 0x0F2A
 
|style="background:rgb(255,205,154)" | 50 bytes
 
|style="background:rgb(255,205,154)" | z_37 Unknown
 
|-
 
|style="background:rgb(255,205,154)" | 0x0F2A<br />z_37[0]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Needs more research.
 
0x01: <br />
 
0x02: <br />
 
0x04: Red Submarine Tutorial<br />
 
0x08: <br />
 
0x10: <br />
 
0x20: <br />
 
0x40: <br />
 
0x80:
 
|-
 
|style="background:rgb(255,205,154)" | 0x0F2B<br />z_37[1]
 
|style="background:rgb(255,255,204)" | 1 bytes
 
|style="background:rgb(255,255,204)" | 0x20: World map Ruby Weapon form. bit=0: Small Form (before first encounter). bit=1: Big Form (after first encounter).
 
|-
 
|style="background:rgb(255,205,154)" | 0x0F3A<br />z_37[16]
 
|style="background:rgb(255,255,204)" | 1 bytes
 
|style="background:rgb(255,255,204)" | Rand number between 0,1,2. Is set when you change field map. ex: enter a town.
 
|-
 
|style="background:rgb(255,255,204)" | 0x0F5C
 
|style="background:rgb(255,255,204)" | 3 bytes
 
|style="background:rgb(255,255,204)" | Party leader's coordinates on world map:<br /> Party leader X position on the world map (X coord). Value from 0 up to 295000<br />
 
000000: 0x000000<br />
 
065535: 0xFFFF00 | 065536: 0x000001<br />
 
131071: 0xFFFF01 | 131072: 0x000002<br />
 
196607: 0xFFFF02 | 196608: 0x000003<br />
 
262143: 0xFFFF03 | 262144: 0x000004<br />
 
295000: 0x588004
 
|-
 
|style="background:rgb(255,255,204)" | 0x0F5F
 
|style="background:rgb(255,255,204)" | 1 bytes
 
|style="background:rgb(255,255,204)" | Party leader viewing direction angle on the world map. Value from 0 up to 255 to cover 0 - 359&deg;<br />
 
|-
 
|style="background:rgb(255,255,204)" | 0x0F60
 
|style="background:rgb(255,255,204)" | 3 bytes
 
|style="background:rgb(255,255,204)" | Party leader Y position on the world map (Y coord). Value from 1 up to 230000<br />
 
000001: 0x01003C<br />
 
065535: 0xFFFF3C | 065536: 0x00003D<br />
 
131071: 0xFFFF3D | 131072: 0x00003E<br />
 
196607: 0xFFFF3E | 196608: 0x00003F<br />
 
230000: 0x70823F
 
|-
 
|style="background:rgb(255,255,204)" | 0x0F63
 
|style="background:rgb(255,255,204)" | 1 bytes
 
|style="background:rgb(255,255,204)" | Party leader Z altitude on the world map (Z coord). Input value from -128 up to 127 are allowed (0 = Mean Sea Level)
 
|-
 
| 0x0F64
 
| 8 bytes
 
| Caught Wild Chocobo'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
 
| Diamond=>Ultimate=>Ruby Weapon's coordinates on world map (ruby is bound To the desert)
 
<!--
 
|-
 
|style="background:rgb(255,255,204)" | <del>0x0F90</del>
 
|style="background:rgb(255,255,204)" | <del>8 bytes</del>
 
|style="background:rgb(255,255,204)" | <del>Emerald? Weapon's coordinates on world map</del>
 
-->
 
|-
 
|style="background:rgb(255,255,204)" | 0x0F8C
 
|style="background:rgb(255,255,204)" | 2 bytes
 
|style="background:rgb(255,255,204)" | 1<sup>st</sup> Snow Pole X Coordinate.
 
|-
 
|style="background:rgb(255,255,204)" | 0x0F8E
 
|style="background:rgb(255,255,204)" | 2 bytes
 
|style="background:rgb(255,255,204)" | 1<sup>st</sup> Snow Pole Y Coordinate.
 
|-
 
|style="background:rgb(255,255,204)" | 0x0F90
 
|style="background:rgb(255,255,204)" | 2 bytes
 
|style="background:rgb(255,255,204)" | 2<sup>nd</sup> Snow Pole X Coordinate.
 
|-
 
|style="background:rgb(255,255,204)" | 0x0F92
 
|style="background:rgb(255,255,204)" | 2 bytes
 
|style="background:rgb(255,255,204)" | 2<sup>nd</sup> Snow Pole Y Coordinate.
 
|-
 
|style="background:rgb(255,255,204)" | 0x0F94
 
|style="background:rgb(255,255,204)" | 2 bytes
 
|style="background:rgb(255,255,204)" | 3<sup>ed</sup> Snow Pole X Coordinate.
 
|-
 
|style="background:rgb(255,255,204)" | 0x0F96
 
|style="background:rgb(255,255,204)" | 2 bytes
 
|style="background:rgb(255,255,204)" | 3<sup>ed</sup> Snow Pole Y Coordinate.
 
|-
 
|style="background:rgb(255,205,154)" | 0x0F98
 
|style="background:rgb(255,205,154)" | 12/236 bytes
 
|style="background:rgb(255,205,154)" | z_38 Unknown[0-11] First 12 bytes of 236 (ENDS AT 0x1083 224 Bytes into next bank)
 
|-
 
|style="background:rgb(255,205,154)" | 0x0F9C<br />z_38[4]
 
|style="background:rgb(255,255,204)" | 1 bytes
 
|style="background:rgb(255,255,204)" | Angle of the world. The viewing direction of the camera onto the world map. For top-view (ca. 45&deg;) this value should be 0.
 
|-
 
|style="background:rgb(255,205,154)" | 0x0F9D<br />z_38[5]
 
|style="background:rgb(255,255,204)" | 1 bytes
 
|style="background:rgb(255,255,204)" | Top-view (ca. 45&deg;). Determines the camera's position.
 
|-
 
|style="background:rgb(255,205,154)" | 0x0F9C<br />z_38[4]
 
|style="background:rgb(255,255,204)" | 2 bytes
 
|style="background:rgb(255,255,204)" | Camera angle and rotation of normal world map.<br />
 
00 00 - FF 0F: Map rotation angle. xx yx: if y > 0, y will be changed to 0. (Source: Asa. Data Collision)
 
|-
 
|style="background:rgb(255,205,154)" | 0x0F9F<br />z_38[6]
 
|style="background:rgb(255,255,204)" | 2 bytes
 
|style="background:rgb(255,255,204)" | Snow Pole Number/Where address will be overwritten by next pole (cycling 00, 01, 02, 00, 01, 02... )<br />
 
00: 1st pole address<br />
 
01: 2nd pole address<br />
 
02: 3rd pole address
 
|-
 
|style="background:rgb(255,205,154)" | 0x0FA0<br />z_38[8]
 
| 1 bytes
 
| Wild Chocobo Type.<br />
 
Value is set when Chocobo is caught and used after Chocobo is sent to cage.<br />
 
Index is the byte's value and not the bit-mask.<br />
 
0x00: Chocobo not displayed in cage<br />
 
0x01: Wonderful<br />
 
0x02: Great<br />
 
0x03: Good<br />
 
0x04: Fair<br />
 
0x05: Average<br />
 
0x06: Poor<br />
 
0x07: Bad<br />
 
0x08: Terrible<br />
 
Over 08 = Choco Billy's rating window not displayed
 
|-
 
|style="background:rgb(255,205,154)" | 0x0FA1<br />z_38[9]
 
|style="background:rgb(255,255,204)" | 1 bytes
 
|style="background:rgb(255,255,204)" | Riding Byte.<br />
 
Index is the byte's value and not the bit-mask.<br />
 
0x00: On foot.<br />
 
0x03: Highwind<br />
 
0x04: Wild Chocobo (Liked with 0x0C22[0])<br />
 
0x0D: Submarine<br />
 
0x13: Chocobo (Liked with 0x0C22[1/7]. 0x0C22: 0x04=Yellow, ..., 0x40=Gold)<br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0FA3<br />z_38[11]
 
|style="background:rgb(255,205,154)" | 1 bytes
 
|style="background:rgb(255,205,154)" | Unknown. It seems this value is mixture of Number of Snow Poles, Party direction and walking steps or coordinates.
 
Value will be ignored when loading slot.
 
|}
 
  
== Save Memory Bank 7/F ==
+
Contributors are encouraged to add their user links to the [[QhimmWiki:Community Portal]].
 
{| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse; width: 600px;"
 
|+'''Table 1: FF7 Save Slot'''
 
! 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
 
|-
 
|style="background:rgb(255,205,154)" | 0x0FA4
 
|style="background:rgb(255,205,154)" | 224/236 Bytes
 
|style="background:rgb(255,205,154)" | Unknown z_38[12-235] Last 224 bytes of 236
 
|-
 
|style="background:rgb(255,205,154)" | 0x0FA6<br />z_38[14]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | World map camera & map display<br />Add two values (one from camera, one from map) and set this byte.<br />
 
Camera: Aerial(00); Closeup(20)<br />
 
Map: Off(80); Small(00); Large(40)
 
|-
 
|style="background:rgb(255,205,154)" | 0x0FAB<br />z_38[19]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | If not 0x00, game crashes
 
|-
 
|style="background:rgb(255,205,154)" | 0x0FC4<br />z_38[44]
 
| 2 bytes
 
| Fields items mask.<br />0x0001: first potion on MD1STIN.<br />0x0002: second potion on MD1STIN.<br />0x0004: potion at NMKIN3.<br />0x0008: phoenix down on NKMIN1.
 
|-
 
|style="background:rgb(255,205,154)" | 0x0FF1<br />z_38[89]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | On Buggy vehicle. Specifies if a character is on a Buggy. Only if a Buggy is present.<BR />0x0E: On; 0x0C: Off
 
|-
 
|style="background:rgb(255,205,154)" | 0x0FF8<br />z_38[96]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Items mask, Mythril Mine ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you take the item).<br />
 
Bit=0(Item in field), Bit=1(Item taken).<br />
 
0x01: <br />
 
0x02: <br />
 
0x04: <br />
 
0x08: Ether<br />
 
0x10: Hi-Potion<br />
 
0x20: Elixir<br />
 
0x40: Long Range materia<br />
 
0x80: <br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0FF9<br />z_38[97]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Items mask, Kalm ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you take the item).<br />
 
Bit=0(Item in field), Bit=1(Item taken).<br />
 
0x01: Hidden Ether in the second floor of a house<br />
 
0x02: <br />
 
0x04: <br />
 
0x08: <br />
 
0x10: <br />
 
0x20: <br />
 
0x40: <br />
 
0x80: <br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0FFB<br />z_38[99]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Kalm Traveler rewards visibility (each bit set back to 0 when picked up)<br />Guide Book (0x01); Master Command(0x02); Master Magic (0x04); Master Summon (0x08); Gold Chocobo (0x10)
 
|-
 
|style="background:rgb(255,205,154)" | 0x0FFC<br />z_38[100]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Items mask, Kalm ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you take the item).<br />
 
Bit=0(Item in field), Bit=1(Item taken).<br />
 
0x01: Peacemaker in a house<br />
 
0x02: <br />
 
0x04: <br />
 
0x08: <br />
 
0x10: <br />
 
0x20: <br />
 
0x40: <br />
 
0x80: <br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0FFD<br />z_38[101]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Items mask, Kalm ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you take the item).<br />
 
Bit=0(Item in field), Bit=1(Item taken).<br />
 
0x01: <br />
 
0x02: Hidden Ether from house next to the Inn<br />
 
0x04: <br />
 
0x08: Guard Source<br />
 
0x10: Hidden Ether<br />
 
0x20: <br />
 
0x40: <br />
 
0x80: <br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x0FFE<br />z_38[102]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Items mask, Mythril Mine ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you take the item).<br />
 
Bit=0(Item in field), Bit=1(Item taken).<br />
 
0x01: <br />
 
0x02: <br />
 
0x04: <br />
 
0x08: <br />
 
0x10: Mind Source<br />
 
0x20: Tent<br />
 
0x40: <br />
 
0x80: <br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x101E<br />z_38[134]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Items mask, Junon ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you take the item).<br />
 
Bit=0(Item in field), Bit=1(Item taken).<br />
 
0x01: Mind Source<br />
 
0x02: Power Source<br />
 
0x04: Guard Source<br />
 
0x08: <br />
 
0x10: 1/35 Soldier<br />
 
0x20: Luck Source<br />
 
0x40: <br />
 
0x80: <br />
 
|-
 
|style="background:rgb(255,205,154)" | 0x1030<br />z_38[152]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Field screen rain switch (non-zero to turn on rain effect)
 
|-
 
|style="background:rgb(255,255,204)" | 0x1084
 
|style="background:rgb(255,255,204)" | 16 bytes
 
|style="background:rgb(255,255,204)" | Chocobo slot 5
 
|-
 
|style="background:rgb(255,255,204)" | 0x1094
 
|style="background:rgb(255,255,204)" | 16 bytes
 
|style="background:rgb(255,255,204)" | Chocobo slot 6
 
|}
 
 
 
== Character Record ==
 
{| 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 - Ingored If Not Cait / Vincent???
 
|-
 
| 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) Game's Naming Boxes Cap you At 9 Chars
 
|-
 
| 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 (0-63) Games Gui Hides Values <4, 4-63 are visible as "progress"
 
|-
 
| 0x22
 
| 2 bytes
 
| Learned limit skills<br />
 
0x0001: Limit Lv. 1-1<br />
 
0x0002: Limit Lv. 1-2<br />
 
<small>0x0004: Always 0 (reserved bit or spacer/breaker/end of limit)</small><br />
 
0x0008: Limit Lv. 2-1<br />
 
0x0010: Limit Lv. 2-2<br />
 
<small>0x0020: Always 0 (reserved bit or spacer/breaker/end of limit)</small><br />
 
0x0040: Limit Lv. 3-1<br />
 
0x0080: Limit Lv. 3-2<br />
 
<small>0x0100: Always 0 (reserved bit or spacer/breaker/end of limit)</small><br />
 
0x0200: Limit Lv. 4<br />
 
<!--
 
<small>0x0400: Always 0 (reserved bit)</small><br />
 
<small>0x0800: Always 0 (reserved bit)</small><br />
 
<small>0x1000: Always 0 (reserved bit)</small><br />
 
<small>0x2000: Always 0 (reserved bit)</small><br />
 
<small>0x4000: Always 0 (reserved bit)</small><br />
 
<small>0x8000: Always 0 (reserved bit)</small>
 
-->
 
|-
 
| 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
 
|}
 
 
 
== Chocobo Record ==
 
 
 
{| 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)
 
|}
 
 
 
== 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:<br>
 
Indexes 0 - 127: Items<br>
 
Indexes 128 - 255: Weapons<br>
 
Indexes 256 - 287: Armors<br>
 
Indexes 288 - 319: Accessories<br>
 
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 and the quantity will not decrease unless an item is used or sold. Forcing the quantity to exceed 99 does not have any side effect with most versions of the game. The Japanese PSX version(BISLPS-00700) is the only version with a problem when you exceed a quantity of 99 for an item. This version will experience an error during battles when you have more then 99 of an item.
 
 
 
== 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
 
 
{| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;"
 
|+'''Table 1: Materia List (PC)'''
 
! style="background:rgb(204,204,204)" align="center" | ID
 
! style="background:rgb(204,204,204)" align="center" | Name
 
! style="background:rgb(204,204,204)" align="center" | Type
 
|-
 
|0x00
 
|MP Plus
 
|Independent
 
|-
 
|0x01
 
|HP Plus
 
|Independent
 
|-
 
|0x02
 
|Speed Plus
 
|Independent
 
|-
 
|0x03
 
|Magic Plus
 
|Independent
 
|-
 
|0x04
 
|Luck Plus
 
|Independent
 
|-
 
|0x05
 
|EXP Plus
 
|Independent
 
|-
 
|0x06
 
|Gil Plus
 
|Independent
 
|-
 
|0x07
 
|Enemy Away
 
|Independent
 
|-
 
|0x08
 
|Enemy Lure
 
|Independent
 
|-
 
|0x09
 
|Chocobo Lure
 
|Independent
 
|-
 
|0x0B
 
|Long Range
 
|Independent
 
|-
 
|0x0C
 
|Mega All
 
|Independent
 
|-
 
|0x0D
 
|Counter Attack
 
|Independent
 
|-
 
|0x0E
 
|Slash-All
 
|Command
 
|-
 
|0x0F
 
|Double Cut
 
|Command
 
|-
 
|0x0A
 
|Pre-emptive
 
|Independent
 
|-
 
|0x10
 
|Cover
 
|Independent
 
|-
 
|0x11
 
|Underwater
 
|Independent
 
|-
 
|0x12
 
|HP <-> MP
 
|Independent
 
|-
 
|0x13
 
|W-Magic
 
|Command
 
|-
 
|0x14
 
|W-Summon
 
|Command
 
|-
 
|0x15
 
|W-Item
 
|Command
 
|-
 
|0x16
 
|Unknown
 
|Placeholder?
 
|-
 
|0x17
 
|All
 
|Support
 
|-
 
|0x18
 
|Counter
 
|Support
 
|-
 
|0x19
 
|Magic Counter
 
|Support
 
|-
 
|0x1A
 
|MP Turbo
 
|Support
 
|-
 
|0x1B
 
|MP Absorb
 
|Support
 
|-
 
|0x1C
 
|HP Absorb
 
|Support
 
|-
 
|0x1D
 
|Elemental
 
|Support
 
|-
 
|0x1E
 
|Added Effect
 
|Support
 
|-
 
|0x1F
 
|Sneak Attack
 
|Support
 
|-
 
|0x20
 
|Final Attack
 
|Support
 
|-
 
|0x21
 
|Added Cut
 
|Support
 
|-
 
|0x22
 
|Steal As Well
 
|Support
 
|-
 
|0x23
 
|Quadra Magic
 
|Support
 
|-
 
|0x24
 
|Steal
 
|Command
 
|-
 
|0x25
 
|Sense
 
|Command
 
|-
 
|0x26
 
|Unknown
 
|Placeholder?
 
|-
 
|0x27
 
|Throw
 
|Command
 
|-
 
|0x28
 
|Morph
 
|Command
 
|-
 
|0x29
 
|Deathblow
 
|Command
 
|-
 
|0x2A
 
|Manipulate
 
|Command
 
|-
 
|0x2B
 
|Mime
 
|Command
 
|-
 
|0x2C
 
|Enemy Skill
 
|Command
 
|-
 
|0x2D
 
|Unknown
 
|Placeholder?
 
|-
 
|0x2E
 
|Unknown
 
|Placeholder?
 
|-
 
|0x2F
 
|Unknown
 
|Placeholder?
 
|-
 
|0x30
 
|Master Command
 
|Command
 
|-
 
|0x31
 
|Fire
 
|Magic
 
|-
 
|0x32
 
|Ice
 
|Magic
 
|-
 
|0x33
 
|Earth
 
|Magic
 
|-
 
|0x34
 
|Lightning
 
|Magic
 
|-
 
|0x35
 
|Restore
 
|Magic
 
|-
 
|0x36
 
|Heal
 
|Magic
 
|-
 
|0x37
 
|Revive
 
|Magic
 
|-
 
|0x38
 
|Seal
 
|Magic
 
|-
 
|0x39
 
|Mystify
 
|Magic
 
|-
 
|0x3A
 
|Transform
 
|Magic
 
|-
 
|0x3B
 
|Exit
 
|Magic
 
|-
 
|0x3C
 
|Poison
 
|Magic
 
|-
 
|0x3D
 
|Demi
 
|Magic
 
|-
 
|0x3E
 
|Barrier
 
|Magic
 
|-
 
|0x3F
 
|Unknown
 
|Placeholder?
 
|-
 
|0x40
 
|Comet
 
|Magic
 
|-
 
|0x41
 
|Time
 
|Magic
 
|-
 
|0x42
 
|Unknown
 
|Placeholder?
 
|-
 
|0x43
 
|Unknown
 
|Placeholder?
 
|-
 
|0x44
 
|Destruct
 
|Magic
 
|-
 
|0x45
 
|Contain
 
|Magic
 
|-
 
|0x46
 
|FullCure
 
|Magic
 
|-
 
|0x47
 
|Shield
 
|Magic
 
|-
 
|0x48
 
|Ultima
 
|Magic
 
|-
 
|0x49
 
|Master Magic
 
|Magic
 
|-
 
|0x4A
 
|Choco/Mog
 
|Summon
 
|-
 
|0x4B
 
|Shiva
 
|Summon
 
|-
 
|0x4C
 
|Ifrit
 
|Summon
 
|-
 
|0x4D
 
|Ramuh
 
|Summon
 
|-
 
|0x4E
 
|Titan
 
|Summon
 
|-
 
|0x4F
 
|Odin
 
|Summon
 
|-
 
|0x50
 
|Leviathan
 
|Summon
 
|-
 
|0x51
 
|Bahamut
 
|Summon
 
|-
 
|0x52
 
|Kujata
 
|Summon
 
|-
 
|0x53
 
|Alexander
 
|Summon
 
|-
 
|0x54
 
|Phoenix
 
|Summon
 
|-
 
|0x55
 
|Neo Bahamut
 
|Summon
 
|-
 
|0x56
 
|Hades
 
|Summon
 
|-
 
|0x57
 
|Typhoon
 
|Summon
 
|-
 
|0x58
 
|Bahamut ZERO
 
|Summon
 
|-
 
|0x59
 
|Knights of Round
 
|Summon
 
|-
 
|0x5A
 
|Master Summon
 
|Summon
 
|-
 
|0xFF
 
|Empty Slot
 
|NONE
 
|}
 
 
 
== 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).
 
 
 
== Documentation Notes & Format ==
 
 
 
Format:
 
Bit mask: Bit description [Hex byte value] {Field Keyword}<br />
 
Example:
 
0x04: Set to 1 if we choose no drink when talking to tifa. [0x0F] {MDS7PB_1}<br />
 
 
 
Bit mask: Is the bit position number in hex.
 
Bit7(0x80)|Bit6(0x40)|Bit5(0x20)|Bit4(0x10)|Bit3(0x08)|Bit2(0x04)|Bit1(0x02)|Bit0(0x01)
 
 
 
Note: We use [[Bit_numbering#LSB_0_bit_numbering|LBS 0]] bit numbering.
 
 
 
Bit description: What bit does.
 
 
 
Hex byte value: The Byte's value in hex when the bit change.(optional)
 
 
 
Field Keyword: Field name code.
 

Revision as of 12:23, 29 July 2014

Welcome to QhimmWiki!

This wiki has been set up in the hopes of becoming a more efficient means of storing the Qhimm.com knowledge base. The plan is to store relevant information on things such as:

Information on FF7 should thus go into a subpage of FF7, like FF7/Field/Script. I'm considering having tech-support information stored here as well, though maybe it too should get its own hierarchy, separate from the tech information in FF7/FF8? Suggestions are welcome here.

For now, I've started an example page on the PSX TIM format; check it out to see what I envision of this site. :)

Even though this is a wiki, for now registration and anonymous contributions have been deactivated in an effort to better control the quality and structure of initial contributions. If you feel you have solid information to contribute, drop Qhimm a note and you'll (probably) get an account. Also, further discussion on the details of how to structure the content is to be expected. For now, a subpage-oriented design is favored. Also, since this is a reasonably fresh install I haven't had time to write a huge amount of documentation for it. As a result, many of the help links lead to empty pages.

Contributors are encouraged to add their user links to the QhimmWiki:Community Portal.