Difference between revisions of "Main Page"

From Final Fantasy Inside
Jump to navigation Jump to search
my_wiki>Sithlord48
(The Savemap)
my_wiki>Sithlord48
Line 340: Line 340:
  
 
== Save Memory Bank 1/2 ==
 
== Save Memory Bank 1/2 ==
 
+
{| 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 351: Line 351:
 
| Main progress variable
 
| Main progress variable
 
|-
 
|-
| 0x0BA6
+
|style="background:rgb(255,205,154)" | 0x0BA6<br />z_7[0]
 
| 1 Byte
 
| 1 Byte
| Yuffie's Initial Level
+
| Yuffie's Initial Level (z_7 Unknown)
 +
Byte value before Yuffie join the team: 0x00.<br />
 +
(If byte's value is changed, then you can't fight Yuffie, so she can't be obtained).<br />
 +
Yuffie's Initial Level only is set when she already join the team.<br />
 +
Credit to [http://wiki.qhimm.com/FF7/Savemap?diff=next&oldid=2262 (NFITC1)]
 
|-
 
|-
 
| 0x0BA7
 
| 0x0BA7
Line 372: Line 376:
 
|-
 
|-
 
|style="background:rgb(255,205,154)" | 0x0BAB
 
|style="background:rgb(255,205,154)" | 0x0BAB
|style="background:rgb(255,205,154)" | 9 bytes
+
|style="background:rgb(255,205,154)" | 17 bytes
|style="background:rgb(255,205,154)" | Unknown
+
|style="background:rgb(255,205,154)" | z_8 Unknown
 
|-
 
|-
| 0x0BB4
+
|style="background:rgb(255,205,154)" | 0x0BB4<br />z_8[9]
| 1 byte
+
|style="background:rgb(255,255,204)" | 1 byte
| Game timer (Hours)
+
|style="background:rgb(255,255,204)" | Game timer (Hours)
 
|-
 
|-
| 0x0BB5
+
|style="background:rgb(255,205,154)" | 0x0BB5<br />z_8[10]
| 1 byte
+
|style="background:rgb(255,255,204)" | 1 byte
| Game timer (Minutes)
+
|style="background:rgb(255,255,204)" | Game timer (Minutes)
 
|-
 
|-
| 0x0BB6
+
|style="background:rgb(255,205,154)" | 0x0BB6<br />z_8[11]
| 1 byte
+
|style="background:rgb(255,255,204)" | 1 byte
| Game timer (Seconds)
+
|style="background:rgb(255,255,204)" | Game timer (Seconds)
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0BB7
+
|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)" | 1 byte
|style="background:rgb(255,255,204)" | Game timer (Tenths)
+
|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,255,204)" | 0x0BB8
+
|style="background:rgb(255,205,154)" | 0x0BBB<br />z_8[16]
|style="background:rgb(255,255,204)" | 4 bytes
+
|style="background:rgb(255,255,204)" | 1 bytes
|style="background:rgb(255,255,204)" | Unknown (curse ring usage?)
+
|style="background:rgb(255,255,204)" | Countdown Timer From 0 to 30 (dec) in one sec. (Tested in Bombing Mission)
 
|-
 
|-
 
| 0x0BBC
 
| 0x0BBC
Line 403: Line 419:
 
| Number of escapes
 
| Number of escapes
 
|-
 
|-
| rowspan="2" style="background:rgb(255,255,204)"  | 0x0BC0
+
| rowspan="2" | 0x0BC0
| rowspan="2" style="background:rgb(255,255,204)"  | 2 bytes
+
| rowspan="2" | 2 bytes
| colspan="2" style="background:rgb(255,255,204)" | Menu Visiblity Mask (Quit not affected)
+
| colspan="2" | Menu Visiblity Mask (Quit not affected)
 
|-
 
|-
 
| colspan="2" |
 
| colspan="2" |
Line 423: Line 439:
 
|}
 
|}
 
|-
 
|-
| rowspan="2" style="background:rgb(255,255,204)"  | 0x0BC2
+
| rowspan="2" | 0x0BC2<br />
| rowspan="2" style="background:rgb(255,255,204)"  | 2 bytes
+
| rowspan="2" | 2 bytes
| colspan="2" style="background:rgb(255,255,204)"  | Menu Locking Mask (1: Locked) (Quit not affected)
+
| colspan="2" | Menu Locking Mask (1: Locked) (Quit not affected)
 
|-
 
|-
 
| colspan="2" |
 
| colspan="2" |
Line 443: Line 459:
 
|}
 
|}
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0BD4
+
|style="background:rgb(255,205,154)" | 0x0BC4
|style="background:rgb(255,255,204)" | 1 byte
+
|style="background:rgb(255,205,154)" | 16 bytes
|style="background:rgb(255,255,204)" | Item masks.<br />0x01: Potion {MD8_3}.<br /> 0x40: Sense Materia {MDS6_2}
+
|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 />
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0BD5
+
| 0x0BD5
|style="background:rgb(255,255,204)" | 1 byte
+
| 1 byte
|style="background:rgb(255,255,204)" | Materia Cave masks (applied when you pick up the corresponding Materia).<br />0x01: Mime, 0x02: HP&lt;-&gt;MP, 0x04: Quadra Magic, 0x08: KOTR
+
| 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)" | 0x0BD6
|style="background:rgb(255,205,154)" | 1 bytes
+
|style="background:rgb(255,205,154)" | 14 bytes
|style="background:rgb(255,205,154)" | Unknown
+
|style="background:rgb(255,205,154)" | z_10 Unknown
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0BD7
+
|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)" | 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,255,204)" | Item masks (applied when you pick them up).<br />0x10: Chaos & Death Penalty, others are unknown
 
|-
 
|-
|style="background:rgb(255,205,154)" | 0x0BD8
+
|style="background:rgb(255,205,154)" | 0x0BDC<br />z_10[6]
|style="background:rgb(255,205,154)" | 4 bytes
 
|style="background:rgb(255,205,154)" | Unknown
 
|-
 
|style="background:rgb(255,255,204)" | 0x0BDC
 
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | 1 byte
|style="background:rgb(255,255,204)" | Field Items, Sector 7 Wall Market and Shinra HQ. Item bit mask (applied when you pick them up).<br />
+
|style="background:rgb(255,255,204)" | Field Items, Sector 7 Wall Market and Shinra HQ<br />
0x01: Ether(Corneo's masion basement floor).<br />
+
Item bit mask ([[Bit_numbering#LSB_0_bit_numbering|LBS]]) (applied when you pick them up).<br />
0x02: Hyper(Corneo's masion corneo 's bedroom floor).<br />
+
Bit=0(Item on the floor), Bit=1(Item Picked Up).<br />
0x04: Phoenix Down (Corneo's masion 2nd floor right room).<br />
+
0x01: Ether.(Corneo's masion basement floor)<br />
0x08: Elixir at Shinra HQ stairs.<br />
+
0x02: Hyper.(Corneo's masion corneo 's bedroom floor)<br />
0x40: Second Midgar part at Shinra HQ.<br />
+
0x04: Phoenix Down (Corneo's masion 2nd floor right room)<br />
0x80: Third Midgar part at Shinra HQ.
+
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,255,204)" | 0x0BDD
+
|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)" | 1 byte
|style="background:rgb(255,255,204)" | Field Items, Shinra HQ. Item bit mask (applied when you pick them up).<br />
+
|style="background:rgb(255,255,204)" | Field Items, Shinra HQ <br />
0x01: Fourth Midgar part.<br />
+
Item bit mask ([[Bit_numbering#LSB_0_bit_numbering|LBS]]) (applied when you pick them up).<br />
0x02: First Midgar part.<br />
+
Bit=0(Item on the floor), Bit=1(Item Picked Up).<br />
0x04: Fifth Midgar Part.<br />
+
0x01: Fourth Midgar part(0x01)<br />
0x08: Keycard 66.
+
0x02: First Midgar part(0x02)<br />
|-
+
0x04: Fifth Midgar Part(0x04)<br />
|style="background:rgb(255,205,154)" | 0x0BDE
+
0x08: Keycard 66(0x08)<br />
|style="background:rgb(255,205,154)" | 6 bytes
+
0x10: <br />
|style="background:rgb(255,205,154)" | Unknown
+
0x20: <br />
 +
0x40: <br />
 +
0x80: <br />
 
|-
 
|-
 
| 0x0BE4
 
| 0x0BE4
Line 491: Line 537:
 
|style="background:rgb(255,205,154)" | 0x0BEC
 
|style="background:rgb(255,205,154)" | 0x0BEC
 
|style="background:rgb(255,205,154)" | 8 bytes
 
|style="background:rgb(255,205,154)" | 8 bytes
|style="background:rgb(255,205,154)" | Unknown
+
|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
 
| 0x0BF4
Line 510: Line 569:
 
|-
 
|-
 
|style="background:rgb(255,205,154)" | 0x0BF8
 
|style="background:rgb(255,205,154)" | 0x0BF8
|style="background:rgb(255,205,154)" | 1 byte
+
|style="background:rgb(255,205,154)" | 1 bytes
|style="background:rgb(255,205,154)" | Unknown
+
|style="background:rgb(255,205,154)" | z_12 Unknown
 
|-
 
|-
 
| 0x0BF9
 
| 0x0BF9
Line 531: Line 590:
 
|style="background:rgb(255,205,154)" | 0x0BFD
 
|style="background:rgb(255,205,154)" | 0x0BFD
 
|style="background:rgb(255,205,154)" | 2 bytes
 
|style="background:rgb(255,205,154)" | 2 bytes
|style="background:rgb(255,205,154)" | Unknown
+
|style="background:rgb(255,205,154)" | z_13 Unknown
 
|-
 
|-
 
| 0x0BFF
 
| 0x0BFF
Line 537: Line 596:
 
| Ultimate Weapon's remaining HP
 
| Ultimate Weapon's remaining HP
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0C02
+
|style="background:rgb(255,205,154)" | 0x0C02
 +
|style="background:rgb(255,205,154)" | 28 bytes
 +
|style="background:rgb(255,205,154)" | z_14 Unknown
 +
|-
 +
|style="background:rgb(255,205,154)" | 0x0C02<br />z_14[0]
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Field Chocobo rating?
 
|style="background:rgb(255,255,204)" | Field Chocobo rating?
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0C03
+
|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)" | 1 byte
 
|style="background:rgb(255,255,204)" | Field Chocobo rating?
 
|style="background:rgb(255,255,204)" | Field Chocobo rating?
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0C04
+
|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)" | 1 byte
 
|style="background:rgb(255,255,204)" | Field Chocobo rating?
 
|style="background:rgb(255,255,204)" | Field Chocobo rating?
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0C05
+
|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)" | 1 byte
 
|style="background:rgb(255,255,204)" | Field Chocobo rating?
 
|style="background:rgb(255,255,204)" | Field Chocobo rating?
 
|-
 
|-
|style="background:rgb(255,205,154)" | 0x0C06
+
| 0x0C1E
|style="background:rgb(255,205,154)" | 24 bytes
+
| 1 bytes
|style="background:rgb(255,205,154)" | Unknown
+
| Needs more research. (bit=0: show tutorial. bit=1: hide tutorial.)<br />
|-
+
0x01: unknown<br />
|style="background:rgb(255,255,225)" | 0x0C1E
+
0x02: unknown<br />
|style="background:rgb(255,255,225)" | 1 byte
+
0x04: Grey Submarine Tutorial already seen?<br />
|style="background:rgb(255,255,225)" | Mask byte (Other masks are still to be identified on this byte)<br />
+
0x08: unknown<br />
0x04: Submarine Tutorial seen.<br />
+
0x10: unknown<br />
0x40: Mask for the "target" text appearing over all available targets in battle.
+
0x20: Snow Area Tutorial already seen?<br />
 +
0x40: Display Field Help<br />
 +
0x80: unknown<br />
 
|-
 
|-
 
| 0x0C1F
 
| 0x0C1F
Line 567: Line 632:
 
| Weapons Killed      0x8:Ruby      0x10:Emerald (more?)
 
| Weapons Killed      0x8:Ruby      0x10:Emerald (more?)
 
|-
 
|-
|style="background:rgb(255,205,154)" | 0x0C1F
+
|style="background:rgb(255,205,154)" | 0x0C20
|style="background:rgb(255,205,154)" | 37 bytes
+
|style="background:rgb(255,205,154)" | 4 bytes
|style="background:rgb(255,205,154)" | Unknown
+
|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,255,204)" | 0x0C44
+
|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)" | 1 byte
|style="background:rgb(255,255,204)" | Progress items, Wallmarket.<br />
+
|style="background:rgb(255,255,204)" | Progress items, Wallmarket ([[Bit_numbering#LSB_0_bit_numbering|LBS]]).<br />
0x01: Cologne at Wallmarket<br />
+
Bit=0(Item not obtained), Bit=1(Item obtained).<br />
0x02: Flower Cologne at Wallmarket<br />
+
0x01: Cologne at Wallmarket (0x01)<br />
0x04: Sexy Cologne at Wallmarket<br />
+
0x02: Flower Cologne at Wallmarket (0x02)<br />
0x40: Pharmacy coupon at Wallmarket<br />
+
0x04: Sexy Cologne at Wallmarket (0x04)<br />
0x80: Wig at Wallmarket
+
0x08: <br />
 +
0x10: <br />
 +
0x20: <br />
 +
0x40: Pharmacy coupon at Wallmarket(0x40)<br />
 +
0x80: Wig at Wallmarket(0x80)<br />
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0C45
+
|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)" | 1 byte
|style="background:rgb(255,255,204)" | Progress items, Wallmarket.<br />
+
|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 />
 
0x08: Obtaining the dress at Wallmarket<br />
 
0x10: Dress used, picked up???<br />
 
0x10: Dress used, picked up???<br />
0x20: Cotton Dress<br />
+
0x20: Cotton Dress [0xCA]<br />
0x40: Satin Dress<br />
+
0x40: Satin Dress [0xAA]<br />
0x80: Silk Dress
+
0x80: Silk Dress [0x9A]<br />
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0C46
+
|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)" | 1 byte
|style="background:rgb(255,255,204)" | Progress items, Wallmarket.<br />
+
|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 />
 
0x01: Disinfectant at Wallmarket<br />
 
0x02: Deodorant at Wallmarket<br />
 
0x02: Deodorant at Wallmarket<br />
Line 598: Line 721:
 
0x10: 200 gil Item at vending machine in Wallmarket<br />
 
0x10: 200 gil Item at vending machine in Wallmarket<br />
 
0x20: 100 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
+
0x40: 50 gil Item at vending machine in Wallmarket<br />
|-
+
0x80: <br />
|style="background:rgb(255,205,154)" | 0x0C47
 
|style="background:rgb(255,205,154)" | 1 byte
 
|style="background:rgb(255,205,154)" | Unknown
 
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0C48
+
|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)" | 1 byte
|style="background:rgb(255,255,204)" | Field Objects, Sector 7 Train Graveyard (so far)<br />
+
|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 />
 
Bit=0(Original Position), Bit=1(Moved).<br />
0x01: Train 1 Position. {mds7st2}<br />
+
0x01: Train 1 Position.(mds7st2)<br />
0x02: Train 2 Position. {mds7st2}<br />
+
0x02: Train 2 Position.(mds7st2)<br />
0x04: Train 3 Position. {mds7st2}
+
0x04: Train 3 Position.(mds7st2)<br />
 +
0x08: <br />
 +
0x10: <br />
 +
0x20: <br />
 +
0x40: <br />
 +
0x80: <br />
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0C49
+
|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)" | 1 byte
 
|style="background:rgb(255,255,204)" | Field Items, Sector 7 Wall Market<br />
 
|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 />
 
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{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{wcrimb_1}<br />
+
0x04: Second battery applied up the wall of Wallmarket(0x04){wcrimb_1}<br />
0x10: Third battery applied and Ether obtained up the wall of Wallmarket{wcrimb_2}<br />
+
0x08: <br />
0x20: Battery (Gun shop batery pack 1/3) {mkt_w}<br />
+
0x10: Third battery applied and Ether obtained up the wall of Wallmarket (0x10){wcrimb_2}<br />
0x40: Battery (Gun shop batery pack 2/3) {mkt_w}<br />
+
0x20: Battery (Gun shop batery pack 1/3){mkt_w}<br />
0x80: Battery (Gun shop batery pack 3/3) {mkt_w}
+
0x40: Battery (Gun shop batery pack 2/3){mkt_w}<br />
Note: all 3 batteries are received at the same time.  
+
0x80: Battery (Gun shop batery pack 3/3){mkt_w}<br />
 +
Note: all 3 batteries get at same time.  
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0C4A
+
|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)" | 1 byte
 
|style="background:rgb(255,255,204)" | Number of Fort Condor Battles Fought<br />
 
|style="background:rgb(255,255,204)" | Number of Fort Condor Battles Fought<br />
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0C4B
+
|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)" | 1 byte
 
|style="background:rgb(255,255,204)" | Number of Fort Condor Battles Won<br />
 
|style="background:rgb(255,255,204)" | Number of Fort Condor Battles Won<br />
 
|-
 
|-
|-
+
|style="background:rgb(255,205,154)" | 0x0C5B<br />z_16[55]
|style="background:rgb(255,205,154)" | 0x0C4C
 
|style="background:rgb(255,205,154)" | 15 bytes
 
|style="background:rgb(255,205,154)" | Unknown
 
|-
 
|style="background:rgb(255,255,204)" | 0x0C5B
 
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | 1 byte
|style="background:rgb(255,255,204)" | Conversations mask.<br />
+
|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 />
 
Bit=0(Not spoken to), Bit=1(Spoken to).<br />
0x01: Speaking to the children near the wall of Wallmarket<br />
+
0x01: Speaking to the children near the wall of Wallmarket(0x01)<br />
0x02: Speaking to the children near the wall of Wallmarket<br />
+
0x02: Speaking to the children near the wall of Wallmarket(0x02)<br />
0x04: Conversation of children on top of the wall of Wallmarket<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: Speaking to the child by the pipe in Wallmarket (0x08)<br />
|-
+
0x10: <br />
|style="background:rgb(255,205,154)" | 0x0C5A
+
0x20: <br />
|style="background:rgb(255,205,154)" | 42 bytes
+
0x40: <br />
|style="background:rgb(255,205,154)" | Unknown
+
0x80: <br />
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0C84
+
|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)" | 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)" | Keeps track of which Shinra floors are unlocked (By picking keycards). Values still unknown.(255 all doors opened when set manualy)
Line 656: Line 778:
 
|style="background:rgb(255,255,204)" | 0x0C85
 
|style="background:rgb(255,255,204)" | 0x0C85
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | 1 byte
|style="background:rgb(255,255,204)" | Mission 1st reactor flags.<br />
+
|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.  
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)" | 0x0C86
Line 669: Line 785:
 
|-
 
|-
 
|style="background:rgb(255,205,154)" | 0x0C87
 
|style="background:rgb(255,205,154)" | 0x0C87
|style="background:rgb(255,205,154)" | 29 bytes
+
|style="background:rgb(255,205,154)" | 29/45 bytes
|style="background:rgb(255,205,154)" | Unknown
+
|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 ==
 
== Save Memory Bank 3/4 ==
 
+
{| 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 682: Line 798:
 
|-
 
|-
 
|style="background:rgb(255,205,154)" | 0x0CA4
 
|style="background:rgb(255,205,154)" | 0x0CA4
|style="background:rgb(255,205,154)" | 16 Bytes
+
|style="background:rgb(255,205,154)" | 16/45 Bytes
|style="background:rgb(255,205,154)" | Unknown
+
|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)" | 0x0CB4
Line 691: Line 807:
 
|style="background:rgb(255,205,154)" | 0x0CB5
 
|style="background:rgb(255,205,154)" | 0x0CB5
 
|style="background:rgb(255,205,154)" | 49 Bytes
 
|style="background:rgb(255,205,154)" | 49 Bytes
|style="background:rgb(255,205,154)" | Unknown
+
|style="background:rgb(255,205,154)" | z_18 Unknown
 
|-
 
|-
 
|style="background:rgb(255,255,204)" | 0x0CE6
 
|style="background:rgb(255,255,204)" | 0x0CE6
Line 697: Line 813:
 
|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,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)"| 0x0CE7
 
|style="background:rgb(255,205,154)" | 7 Bytes
 
|style="background:rgb(255,205,154)" | 7 Bytes
|style="background:rgb(255,205,154)" | Unknown
+
|style="background:rgb(255,205,154)" | z_19 Unknown
 
|-
 
|-
 
| 0x0CEE
 
| 0x0CEE
Line 707: Line 823:
 
|style="background:rgb(255,205,154)" | 0x0CF0
 
|style="background:rgb(255,205,154)" | 0x0CF0
 
|style="background:rgb(255,205,154)" | 12 Bytes
 
|style="background:rgb(255,205,154)" | 12 Bytes
|style="background:rgb(255,205,154)" | Unknown
+
|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
 
| 0x0CFC
Line 718: Line 842:
 
|-
 
|-
 
|style="background:rgb(255,205,154)" | 0x0CFE
 
|style="background:rgb(255,205,154)" | 0x0CFE
|style="background:rgb(255,205,154)" | 1 Bytes
+
|style="background:rgb(255,205,154)" | 1 Byte
|style="background:rgb(255,205,154)" | Unknown
+
|style="background:rgb(255,205,154)" | z_21 Unknown
 
|-
 
|-
 
| 0x0CFF
 
| 0x0CFF
Line 730: Line 854:
 
|-
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D01
 
|style="background:rgb(255,205,154)" | 0x0D01
|style="background:rgb(255,205,154)" | 18 Bytes
+
|style="background:rgb(255,205,154)" | 40 Bytes
|style="background:rgb(255,205,154)" | Unknown
+
|style="background:rgb(255,205,154)" | z_22 Unknown
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0D13
+
|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)" | 1 byte
 
|style="background:rgb(255,255,204)" | Aeris flower quest progress.<br />0x01: if we buy flower from Aeris.
 
|style="background:rgb(255,255,204)" | Aeris flower quest progress.<br />0x01: if we buy flower from Aeris.
 
|-
 
|-
|style="background:rgb(255,205,154)" | 0x0D14
+
|style="background:rgb(255,205,154)" | 0x0D23<br />z_22[34]
|style="background:rgb(255,205,154)" | 15 Bytes
 
|style="background:rgb(255,205,154)" | Unknown
 
|-
 
|style="background:rgb(255,255,204)" | 0x0D23
 
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | 1 byte
|style="background:rgb(255,255,204)" | Current room in TUNNEL_1. From 1 to 6.<br />
+
|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.
If less then 1 then we go to TUNNEL_3. If 6 then to TUNNEL_2.<br />
 
Used instead of duplicating tunnel rooms. Start room set during mission 5 reactor train minigame.
 
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0D24
+
|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)" | 1 byte
|style="background:rgb(255,255,204)" | Conversations mask, Kalm (applied when you speak to someone).<br />
+
|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 />
 
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 />
 
0x08: Spoke to the child in the house next to the Inn<br />
0x10: Freed the dog in a house
+
0x10: Freed the dog in a house<br />
|-
+
0x20: <br />
|style="background:rgb(255,205,154)" | 0x0D25
+
0x40: <br />
|style="background:rgb(255,205,154)" | 1 Byte
+
0x80: <br />
|style="background:rgb(255,205,154)" | Unknown
 
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0D26
+
|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)" | 1 byte
|style="background:rgb(255,255,204)" | Conversations mask, Reactor under the plate (applied when you speak).<br />
+
|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 />
 
Bit=0(Not spoken to), Bit=1(Spoken to).<br />
0x01: Speaking with Biggs.
+
0x01: Speaking with Biggs(0x01)<br />
 +
0x02: <br />
 +
0x04: <br />
 +
0x08: <br />
 +
0x10: <br />
 +
0x20: <br />
 +
0x40: <br />
 +
0x80: <br />
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0D27
+
|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)" | 1 byte
|style="background:rgb(255,255,204)" | Conversations mask, Reactor under the plate (applied when you speak).<br />
+
|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 />
 
Bit=0(Not spoken to), Bit=1(Spoken to).<br />
0x01: Speaking with Jesse(0x01)
+
0x01: Speaking with Jesse(0x01)<br />
|-
+
0x02: <br />
|style="background:rgb(255,205,154)" | 0x0D28
+
0x04: <br />
|style="background:rgb(255,205,154)" | 1 Byte
+
0x08: <br />
|style="background:rgb(255,205,154)" | Unknown
+
0x10: <br />
 +
0x20: <br />
 +
0x40: <br />
 +
0x80: <br />
 
|-
 
|-
 
|0x0D29
 
|0x0D29
Line 779: Line 909:
 
|-
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D2A
 
|style="background:rgb(255,205,154)" | 0x0D2A
|style="background:rgb(255,205,154)" | 3 Bytes
+
|style="background:rgb(255,205,154)" | 28 Bytes
|style="background:rgb(255,205,154)" | Unknown
+
|style="background:rgb(255,205,154)" | z_23 Unknown
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0D2D
+
|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)" | 1 byte
|style="background:rgb(255,255,204)" | Kalm Traveler sidequest Progression ([http://forums.qhimm.com/index.php?topic=5289.0 details]) bit-mask (applied when you speak).<br />
+
|style="background:rgb(255,255,204)" | Conversations mask, Reactor under the plate ([[Bit_numbering#LSB_0_bit_numbering|LBS]]).<br />
0x08: Applied when you give him the Guide Book.<br />
+
Bit=0(NOT Activated/Received/Spoken to), Bit=1(Activated/Received/Spoken to).<br />
0x10: For the Desert Rose<br />
+
0x01: <br />
0x20: For the Earth Harp.<br />
+
0x02: <br />
0x40: The first time he says he's looking for the Guide Book, the Earth Harp and the Desert Rose.<br />
+
0x04: <br />
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.
+
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.)
 +
-->
 
|-
 
|-
|style="background:rgb(255,205,154)" | 0x0D2E
+
| 0x0D46
|style="background:rgb(255,205,154)" | 24 Bytes
+
| 1 byte
|style="background:rgb(255,205,154)" | Unknown
+
| Don's Mission Progress (more needed here)
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0D46
+
|style="background:rgb(255,205,154)" | 0x0D47
|style="background:rgb(255,255,204)" | 1 byte
+
|style="background:rgb(255,205,154)" | 31 Bytes
|style="background:rgb(255,255,204)" | Don's Mission Progress (more needed here)
+
|style="background:rgb(255,205,154)" | z_24 Unknown
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0D47
+
|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)" | 1 byte
|style="background:rgb(255,255,204)" | Conversations mask, Shinra HQ (applied when you speak).<br />
+
|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 />
 
Bit=0(Not spoken to), Bit=1(Spoken to).<br />
0x08: Elevator event at shinra HQ<br />
+
0x01: <br />
0x10: First conversation while climbing Shinra HQ stairs
+
0x02: <br />
|-
+
0x04: <br />
|style="background:rgb(255,205,154)" | 0x0D48
+
0x08: Elevator event at shinra HQ(0x08)<br />
|style="background:rgb(255,205,154)" | 1 Bytes
+
0x10: First conversation while climbing Shinra HQ stairs(0x10)<br />
|style="background:rgb(255,205,154)" | Unknown
+
0x20: <br />
 +
0x40: <br />
 +
0x80: <br />
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0D49
+
|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)" | 1 byte
|style="background:rgb(255,255,204)" | Conversations mask, Shinra HQ (applied when you speak).<br />
+
|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 />
 
Bit=0(Not spoken to), Bit=1(Spoken to).<br />
0x80: Second conversation while climbing Shinra HQ stairs
+
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,255,204)" | 0x0D4A
+
|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)" | 1 byte
|style="background:rgb(255,255,204)" | Conversations mask, Shinra HQ (applied when you speak).<br />
+
|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 />
 
Bit=0(Not spoken to), Bit=1(Spoken to).<br />
0x01: Third conversation while climbing Shinra HQ stairs
+
0x01: Third conversation while climbing Shinra HQ stairs (0x01)<br />
|-
+
0x02: <br />
|style="background:rgb(255,205,154)" | 0x0D4B
+
0x04: <br />
|style="background:rgb(255,205,154)" | 1 Byte
+
0x08: <br />
|style="background:rgb(255,205,154)" | Unknown
+
0x10: <br />
 +
0x20: <br />
 +
0x40: <br />
 +
0x80: <br />
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0D4C
+
|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)" | 1 byte
|style="background:rgb(255,255,204)" | Conversations mask, Shinra HQ (applied when you speak).<br />
+
|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 />
 
Bit=0(Not spoken to), Bit=1(Spoken to).<br />
0x01: Braking in Shinra HQ scene<br />
+
0x01: Braking in Shinra HQ scene (0x01)<br />
0x02: Taking out the guards and obtaining keycard 60<br />
+
0x02: Taking out the guards and obtaining keycard 60(0x02)<br />
0x04: Taking everyone out the first floor in Shinra HQ<br />
+
0x04: Taking everyone out the first floor in Shinra HQ(0x04)<br />
0x08: Speaking to the couple in the shop at Shinra HQ<br />
+
0x08: Speaking to the couple in the shop at Shinra HQ(0x08)<br />
0x10: Speaking to the shop seller in Shinra HQ<br />
+
0x10: Speaking to the shop seller in Shinra HQ(0x10)<br />
0x20: Approaching Shinra HQ and conversation at the front door scene<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: Approaching Shinra HQ and conversation at the front door scene(0x40)<br />
 +
0x80: <br />
 
|-
 
|-
|style="background:rgb(255,205,154)" | 0x0D4E
+
|style="background:rgb(255,205,154)" | 0x0D50<br />z_24[9]
|style="background:rgb(255,205,154)" | 2 Bytes
 
|style="background:rgb(255,205,154)" | Unknown
 
|-
 
|style="background:rgb(255,255,204)" | 0x0D50
 
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | 1 byte
|style="background:rgb(255,255,204)" | Items mask, Shinra HQ (applied when you speak).<br />
+
|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 />
 
Bit=0(Item on floor), Bit=1(Item taken).<br />
 
0x01: Phoenix down from locker at floor 64 (0x01)<br />
 
0x01: Phoenix down from locker at floor 64 (0x01)<br />
 
0x02: Ether from locker at floor 64(0x02)<br />
 
0x02: Ether from locker at floor 64(0x02)<br />
0x10: Exiting elevator FMV at floor 60
+
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)" | 0x0D51
+
|style="background:rgb(255,205,154)" | 0x0D52<br />z_24[11]
|style="background:rgb(255,205,154)" | 1 Byte
+
|style="background:rgb(255,255,204)" | 2 bytes
|style="background:rgb(255,205,154)" | Unknown
+
|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,255,204)" | 0x0D52
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Bits kept for the doors at floor 63, Shinra HQ(applied when you speak).<br />
 
Bit=0(Door opened), Bit=1(Door closed).
 
|-
 
|style="background:rgb(255,255,204)" | 0x0D53
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Bits kept for the doors at floor 63, Shinra HQ (applied when you speak).<br />
 
Bit=0(Door opened), Bit=1(Door closed).
 
|-
 
|style="background:rgb(255,205,154)" | 0x0D54
 
|style="background:rgb(255,205,154)" | 1 Byte
 
|style="background:rgb(255,205,154)" | Unknown
 
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0D55
+
|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)" | 1 byte
|style="background:rgb(255,255,204)" | Item mask, Shinra HQ (applied when you speak).<br />
+
|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 />
 
Bit=0(Item on floor), Bit=1(Item taken).<br />
0x02: Coupon C from Shinra HQ<br />
+
0x01: <br />
0x04: Coupon C from Shinra HQ<br />
+
0x02: Coupon C from Shinra HQ(0x02)<br />
0x08: Coupon B from Shinra HQ<br />
+
0x04: Coupon C from Shinra HQ(0x04)<br />
0x10: Speaking to the machine at floor 63
+
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,255,204)" | 0x0D56
+
|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)" | 1 byte
|style="background:rgb(255,255,204)" | Bits kept for the doors at floor 63, Shinra HQ (applied when you speak).<br />
+
|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).
+
Bit=0(Door opened), Bit=1(Door closed).<br />
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0D57
+
|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)" | 1 byte
|style="background:rgb(255,255,204)" | Conversations mask, Shinra HQ (applied when you speak).<br />
+
|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 />
 
Bit=0(Not spoken to), Bit=1(Spoken to).<br />
0x01: Hitting vending machine at floor 64
+
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,255,204)" | 0x0D58
+
|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)" | 1 byte
|style="background:rgb(255,255,204)" | Conversations mask, Shinra HQ (applied when you speak).<br />
+
|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 />
 
Bit=0(Not spoken to), Bit=1(Spoken to).<br />
0x08: Placing midgar fifth part<br />
+
0x01: <br />
0x10: Placing midgar fourth part<br />
+
0x02: <br />
0x20: Placing midgar third part<br />
+
0x04: <br />
0x40: Placing midgar second part<br />
+
0x08: Placing midgar fifth part(0x08)<br />
0x80: Placing midgar first part
+
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,255,204)" | 0x0D59
+
|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)" | 1 byte
|style="background:rgb(255,255,204)" | Conversations mask, Shinra HQ (applied when you speak).<br />
+
|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 />
 
Bit=0(Not spoken to), Bit=1(Spoken to).<br />
 
0x01: Midgar model lights up at floor 65<br />
 
0x01: Midgar model lights up at floor 65<br />
0x80: Last conversation with floor 63 machine
+
0x02: <br />
|-
+
0x04: <br />
|style="background:rgb(255,205,154)" | 0x0D5A
+
0x08: <br />
|style="background:rgb(255,205,154)" | 3 Bytes
+
0x10: <br />
|style="background:rgb(255,205,154)" | Unknown
+
0x20: <br />
|-
+
0x40: <br />
|style="background:rgb(255,205,154)" | 0x0D5B
+
0x80: Last conversation with floor 63 machine<br />
|style="background:rgb(255,205,154)" | 2 Bytes
 
|style="background:rgb(255,205,154)" | Unknown
 
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0D5D
+
|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)" | 1 byte
|style="background:rgb(255,255,204)" | Conversations mask, Shinra HQ (applied when you speak).<br />
+
|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 />
 
Bit=0(Not spoken to), Bit=1(Spoken to).<br />
0x20: Retrieving coupons (must know the order)<br />
+
0x01: <br />
0x40: Retrieving coupons (must know the order)<br />
+
0x02: <br />
0x80: Retrieving coupons (must know the order)
+
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)" | 0x0D5E
+
|style="background:rgb(255,205,154)" | 0x0D67
|style="background:rgb(255,205,154)" | 21 Bytes
+
|style="background:rgb(255,205,154)" | 12 Bytes
|style="background:rgb(255,205,154)" | Unknown
+
|style="background:rgb(255,205,154)" | z_25 Unknown
 
|-
 
|-
 
| 0x0D73
 
| 0x0D73
Line 929: Line 1,115:
 
| 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
 
| 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,255,204)" | 0x0D74
+
|style="background:rgb(255,205,154)" | 0x0D74
|style="background:rgb(255,255,204)" | 1 byte
+
|style="background:rgb(255,205,154)" | 15 Bytes
|style="background:rgb(255,255,204)" | 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).
+
|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,255,204)" | 0x0D75
+
|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)" | 1 byte
|style="background:rgb(255,255,204)" | Conversations mask, MDS7 (applied when you speak).<br />
+
|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 />
 
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 />
 
Start sector 7 slums [0x00]<br />
Line 945: Line 1,143:
 
0x20: Right after enter s7 bar MAP[0xA1]<br />
 
0x20: Right after enter s7 bar MAP[0xA1]<br />
 
0x40: Girl talk about reactor explotion[0xED]<br />
 
0x40: Girl talk about reactor explotion[0xED]<br />
0x80: Right after enter s7 bar MAP[0xA1]
+
0x80: Right after enter s7 bar MAP[0xA1]<br />
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0D76
+
|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)" | 1 byte
|style="background:rgb(255,255,204)" | Conversations mask, MDS7 (applied when you speak).<br />
+
|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 />
 
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 />
 
Start sector 7 slums [0x00]<br />
 
0x01: After you wake up in the Hideout[0x03]<br />
 
0x01: After you wake up in the Hideout[0x03]<br />
 
0x02: 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 />
 
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}
+
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,255,204)" | 0x0D77
+
|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)" | 1 byte
|style="background:rgb(255,255,204)" | Conversations mask, MDS7 (applied when you speak).<br />
+
|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 />
 
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 />
 
Start sector 7 slums [0x00]<br />
 
0x01: Tell tifa did fight w/ barret (1) didn't fight (0)[0x05]or[0x04] if not<br />
 
0x01: Tell tifa did fight w/ barret (1) didn't fight (0)[0x05]or[0x04] if not<br />
0x04: Auto tifa talk about fight w/ barret[0x04]
+
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,255,204)" | 0x0D78
+
|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)" | 1 byte
|style="background:rgb(255,255,204)" | Conversations mask, MDS7 (applied when you speak).<br />
+
|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 />
 
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 />
 
Start sector 7 slums [0x00]<br />
Line 974: Line 1,182:
 
0x04: After we have talked to tifa[0x07]<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 />
 
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]
+
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,255,204)" | 0x0D79
+
|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)" | 1 byte
|style="background:rgb(255,255,204)" | Conversations mask, MDS7 (applied when you speak).<br />
+
|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 />
 
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 />
 
Start sector 7 slums [0x00]<br />
Line 986: Line 1,197:
 
0x08: 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 />
 
0x10: After you wake up in the Hideout[0x1F]<br />
0x40: After giving Barret the materia tutorial[0x5D]
+
0x20: Unknown[0x00]<br />
 +
0x40: After giving Barret the materia tutorial[0x5D]<br />
 +
0x80: Unknown[0x00]<br />
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0D7A
+
|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)" | 1 byte
|style="background:rgb(255,255,204)" | Conversations mask, MDS7 (applied when you speak).<br />
+
|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 />
 
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 />
 
Start sector 7 slums [0x00]<br />
Line 997: Line 1,210:
 
0x04: second part of talk tifa enter in scene[0x07]<br />
 
0x04: second part of talk tifa enter in scene[0x07]<br />
 
0x08: After you wake up in the Hideout[0x6F]<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 />
 
0x20: After you wake up in the Hideout[0x6F]<br />
 
0x40: 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]
+
0x80: After you get out the Hideout and talk to tifa [0xEF]<br />
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0D7B
+
|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)" | 1 byte
|style="background:rgb(255,255,204)" | Items mask, Training room at sector 5 (applied when you speak).<br />
+
|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 />
 
Bit=0(Item on floor), Bit=1(Item taken).<br />
0x10: All materia after taking ether<br />
+
0x01: <br />
0x20: Ether chest that falls from ceiling
+
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,255,204)" | 0x0D7C
+
|style="background:rgb(255,205,154)" | 0x0D7C<br />z_26[8]
|style="background:rgb(255,255,204)" | 1 byte
+
|style="background:rgb(255,163,0)" | 1 byte
|style="background:rgb(255,255,204)" | MDS7ST3 event flags.<br />
+
|style="background:rgb(255,163,0)" | MDS7ST3 event flags.<br />
 
0x01: when everyone start run to hideout.<br />
 
0x01: when everyone start run to hideout.<br />
 
0x02: when trainman tells you about war (3 talk).<br />
 
0x02: when trainman tells you about war (3 talk).<br />
 
0x04: when pair on station agreed with each other.<br />
 
0x04: when pair on station agreed with each other.<br />
0x08: when Jessie, Biggs and Wedge run into train.
+
0x08: when Jessie, Biggs and Wedge run into train.<br />
 +
0x10: <br />
 +
0x20: <br />
 +
0x40: <br />
 +
0x80: <br />
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0D7D
+
|style="background:rgb(255,255,204)" | 0x0D83
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | 1 byte
|style="background:rgb(255,255,204)" | Midgard train flags.<br />
+
|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.
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)" | 0x0D84
|style="background:rgb(255,205,154)" | 32 Bytes
+
|style="background:rgb(255,205,154)" | 32/64 Bytes
|style="background:rgb(255,205,154)" | Unknown
+
|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 ==
 
== Save Memory Bank B/C ==
 
+
{| 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
 
! style="background:rgb(204,204,204)" align="center" | Length
 
! style="background:rgb(204,204,204)" align="center" | Length
 
! style="background:rgb(204,204,204)" align="center" | Description
 
! 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)" | 0x0DC4
 
|style="background:rgb(255,255,204)" | 16 bytes
 
|style="background:rgb(255,255,204)" | 16 bytes
|style="background:rgb(255,255,204)" | Chocobo slot 1 [See table 3 for Chocobo Slot format]
+
|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)" | 0x0DD4
Line 1,053: Line 1,289:
 
|style="background:rgb(255,255,204)" | Chocobo slot 4 [Slot 5 and 6 are located at 0x1084 - 0x10A3]
 
|style="background:rgb(255,255,204)" | Chocobo slot 4 [Slot 5 and 6 are located at 0x1084 - 0x10A3]
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0E29
+
|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)" | 1 byte
 
|style="background:rgb(255,255,204)" | Chocobo breeding tutorial (taught by the Chocobo Sage) Progression Variable
 
|style="background:rgb(255,255,204)" | Chocobo breeding tutorial (taught by the Chocobo Sage) Progression Variable
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0E2A
+
|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)" | 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,255,204)" | Number of battles to reach in order to unlock the next part of the Chocobo breeding tutorial
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0E33
+
|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)" | 1 byte
 
|style="background:rgb(255,255,204)" | Lucrecia's Cave sidequest Progression Variable
 
|style="background:rgb(255,255,204)" | Lucrecia's Cave sidequest Progression Variable
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0E35
+
|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)" | 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
 
|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 ==
 
== Save Memory Bank D/E ==
 
+
{| 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 1,078: Line 1,374:
 
! style="background:rgb(204,204,204)" align="center" | Description
 
! style="background:rgb(204,204,204)" align="center" | Description
 
|-
 
|-
| 0
+
| 0x0EA4
 
| 1 byte
 
| 1 byte
 
| Which game-play Disc is needed
 
| Which game-play Disc is needed
 
|-
 
|-
| 30
+
|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
 
| 1 byte
| Field pointers mask (hand over party leader's head + red and green arrows)<br />0x00: Inactive<br />0x02: Active
+
| 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]])
 
|-
 
|-
| 31
+
|style="background:rgb(255,205,154)" | 0x0F24
| 1 byte
+
|style="background:rgb(255,205,154)" | 5 bytes
| If you have max materias in your equipment it is set to non-zero
+
|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)
 
|-
 
|-
|style="background:rgb(255,255,204)" | 32
+
| 0x0F64
|style="background:rgb(255,255,204)" | 6 bytes
+
| 8 bytes
|style="background:rgb(255,255,204)" | Name of Chocobo 1 ([[FF7/FF Text|FF Text format]])
+
| Caught Wild Chocobo's coordinates on world map
 
|-
 
|-
|style="background:rgb(255,255,204)" | 38
+
| 0x0F6C
|style="background:rgb(255,255,204)" | 6 bytes
+
| 8 bytes
|style="background:rgb(255,255,204)" | Name of Chocobo 2 ([[FF7/FF Text|FF Text format]])
+
| Tiny Bronco/Chocobo's coordinates on world map
 
|-
 
|-
|style="background:rgb(255,255,204)" | 44
+
| 0x0F74
|style="background:rgb(255,255,204)" | 6 bytes
+
| 8 bytes
|style="background:rgb(255,255,204)" | Name of Chocobo 3 ([[FF7/FF Text|FF Text format]])
+
| Buggy/Highwind's coordinates on world map
 
|-
 
|-
|style="background:rgb(255,255,204)" | 50
+
| 0x0F7C
|style="background:rgb(255,255,204)" | 6 bytes
+
| 8 bytes
|style="background:rgb(255,255,204)" | Name of Chocobo 4 ([[FF7/FF Text|FF Text format]])
+
| Submarine/???'s coordinates on world map
 
|-
 
|-
|style="background:rgb(255,255,204)" | 56
+
| 0x0F84
|style="background:rgb(255,255,204)" | 6 bytes
+
| 8 bytes
|style="background:rgb(255,255,204)" | Name of Chocobo 5 ([[FF7/FF Text|FF Text format]])
+
| Diamond=>Ultimate=>Ruby Weapon's coordinates on world map (ruby is bound To the desert)
 +
<!--
 
|-
 
|-
|style="background:rgb(255,255,204)" | 62
+
|style="background:rgb(255,255,204)" | <del>0x0F90</del>
|style="background:rgb(255,255,204)" | 6 bytes
+
|style="background:rgb(255,255,204)" | <del>8 bytes</del>
|style="background:rgb(255,255,204)" | Name of Chocobo 6 ([[FF7/FF Text|FF Text format]])
+
|style="background:rgb(255,255,204)" | <del>Emerald? Weapon's coordinates on world map</del>
 +
-->
 
|-
 
|-
|style="background:rgb(255,255,204)" | 68
+
|style="background:rgb(255,255,204)" | 0x0F8C
 
|style="background:rgb(255,255,204)" | 2 bytes
 
|style="background:rgb(255,255,204)" | 2 bytes
|style="background:rgb(255,255,204)" | Stamina of Chocobo 1
+
|style="background:rgb(255,255,204)" | 1<sup>st</sup> Snow Pole X Coordinate.
 
|-
 
|-
|style="background:rgb(255,255,204)" | 70
+
|style="background:rgb(255,255,204)" | 0x0F8E
 
|style="background:rgb(255,255,204)" | 2 bytes
 
|style="background:rgb(255,255,204)" | 2 bytes
|style="background:rgb(255,255,204)" | Stamina of Chocobo 2
+
|style="background:rgb(255,255,204)" | 1<sup>st</sup> Snow Pole Y Coordinate.
 
|-
 
|-
|style="background:rgb(255,255,204)" | 72
+
|style="background:rgb(255,255,204)" | 0x0F90
 
|style="background:rgb(255,255,204)" | 2 bytes
 
|style="background:rgb(255,255,204)" | 2 bytes
|style="background:rgb(255,255,204)" | Stamina of Chocobo 3
+
|style="background:rgb(255,255,204)" | 2<sup>nd</sup> Snow Pole X Coordinate.
 
|-
 
|-
|style="background:rgb(255,255,204)" | 74
+
|style="background:rgb(255,255,204)" | 0x0F92
 
|style="background:rgb(255,255,204)" | 2 bytes
 
|style="background:rgb(255,255,204)" | 2 bytes
|style="background:rgb(255,255,204)" | Stamina of Chocobo 4
+
|style="background:rgb(255,255,204)" | 2<sup>nd</sup> Snow Pole Y Coordinate.
 
|-
 
|-
|style="background:rgb(255,255,204)" | 76
+
|style="background:rgb(255,255,204)" | 0x0F94
 
|style="background:rgb(255,255,204)" | 2 bytes
 
|style="background:rgb(255,255,204)" | 2 bytes
|style="background:rgb(255,255,204)" | Stamina of Chocobo 5
+
|style="background:rgb(255,255,204)" | 3<sup>ed</sup> Snow Pole X Coordinate.
 
|-
 
|-
|style="background:rgb(255,255,204)" | 78
+
|style="background:rgb(255,255,204)" | 0x0F96
 
|style="background:rgb(255,255,204)" | 2 bytes
 
|style="background:rgb(255,255,204)" | 2 bytes
|style="background:rgb(255,255,204)" | Stamina of Chocobo 6
+
|style="background:rgb(255,255,204)" | 3<sup>ed</sup> Snow Pole Y Coordinate.
|-
 
|style="background:rgb(255,255,204)" | 89
 
|style="background:rgb(255,255,204)" | 1 byte
 
|style="background:rgb(255,255,204)" | Vehicle Enabler
 
 
|-
 
|-
| 91
+
|style="background:rgb(255,205,154)" | 0x0F98
| 1 byte
+
|style="background:rgb(255,205,154)" | 12/236 bytes
| Save flag.<br />0x02: set when we in save and unset when out
+
|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,255,204)" | 113
+
|style="background:rgb(255,205,154)" | 0x0F9C<br />z_38[4]
|style="background:rgb(255,255,204)" | 24 bytes
+
|style="background:rgb(255,255,204)" | 1 bytes
|style="background:rgb(255,255,204)" | Name of location ([[FF7/FF Text|FF Text format]])
+
|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,255,204)" | 0x0F5C
+
|style="background:rgb(255,205,154)" | 0x0F9D<br />z_38[5]
|style="background:rgb(255,255,204)" | 8 bytes
+
|style="background:rgb(255,255,204)" | 1 bytes
|style="background:rgb(255,255,204)" | Party's coordinates on world map ([[FF7/FF_Coordinates|FF Coordinates format]])
+
|style="background:rgb(255,255,204)" | Top-view (ca. 45&deg;). Determines the camera's position.
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x0F64
+
|style="background:rgb(255,205,154)" | 0x0F9C<br />z_38[4]
|style="background:rgb(255,255,204)" | 0x0F6B
+
|style="background:rgb(255,255,204)" | 2 bytes
|style="background:rgb(255,255,204)" | Unknown (Emerald or Ruby Weapon's coordinates on world map ?)
+
|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,255,204)" | 0x0F6C
+
|style="background:rgb(255,205,154)" | 0x0F9F<br />z_38[6]
|style="background:rgb(255,255,204)" | 8 bytes
+
|style="background:rgb(255,255,204)" | 2 bytes
|style="background:rgb(255,255,204)" | Tiny Bronco/Chocobo's coordinates on world map
+
|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,255,204)" | 0x0F74
+
|style="background:rgb(255,205,154)" | 0x0FA0<br />z_38[8]
|style="background:rgb(255,255,204)" | 8 bytes
+
| 1 bytes
|style="background:rgb(255,255,204)" | Buggy/Highwind's coordinates on world map
+
| 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,255,204)" | 0x0F7C
+
|style="background:rgb(255,205,154)" | 0x0FA1<br />z_38[9]
|style="background:rgb(255,255,204)" | 8 bytes
+
|style="background:rgb(255,255,204)" | 1 bytes
|style="background:rgb(255,255,204)" | Submarine's coordinates on world map
+
|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,255,204)" | 0x0F84
+
|style="background:rgb(255,205,154)" | 0x0FA3<br />z_38[11]
|style="background:rgb(255,255,204)" | 8 bytes
+
|style="background:rgb(255,205,154)" | 1 bytes
|style="background:rgb(255,255,204)" | Ultimate Weapon's coordinates on world map
+
|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 ==
 
== Save Memory Bank 7/F ==
 
+
{| 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 1,183: Line 1,669:
 
! style="background:rgb(204,204,204)" align="center" | Description
 
! style="background:rgb(204,204,204)" align="center" | Description
 
|-
 
|-
|style="background:rgb(255,255,204)" | 2
+
|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)" | 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 />
 
|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 />
Line 1,189: Line 1,679:
 
Map: Off(80); Small(00); Large(40)
 
Map: Off(80); Small(00); Large(40)
 
|-
 
|-
|style="background:rgb(255,255,204)" | 7
+
|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)" | 1 byte
 
|style="background:rgb(255,255,204)" | If not 0x00, game crashes
 
|style="background:rgb(255,255,204)" | If not 0x00, game crashes
 
|-
 
|-
| 32
+
|style="background:rgb(255,205,154)" | 0x0FC4<br />z_38[44]
 
| 2 bytes
 
| 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.
 
| 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,255,204)" | 87
+
|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)" | 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,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,255,204)" | 140
+
|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)" | 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)" | Field screen rain switch (non-zero to turn on rain effect)
 
|-
 
|-
|style="background:rgb(255,255,204)" | 224
+
|style="background:rgb(255,255,204)" | 0x1084
 
|style="background:rgb(255,255,204)" | 16 bytes
 
|style="background:rgb(255,255,204)" | 16 bytes
 
|style="background:rgb(255,255,204)" | Chocobo slot 5
 
|style="background:rgb(255,255,204)" | Chocobo slot 5
 
|-
 
|-
|style="background:rgb(255,255,204)" | 240
+
|style="background:rgb(255,255,204)" | 0x1094
 
|style="background:rgb(255,255,204)" | 16 bytes
 
|style="background:rgb(255,255,204)" | 16 bytes
 
|style="background:rgb(255,255,204)" | Chocobo slot 6
 
|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) game ingores 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 ==
 
== 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.
 
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:
+
In Binary:
QQQQQQQXXXXXXXXX
+
QQQQQQQXXXXXXXXX
Where X is the index and Q is the quantity.
+
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>
 
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 0 - 127: Items<br>
 
Indexes 128 - 255: Weapons<br>
 
Indexes 128 - 255: Weapons<br>
 
Indexes 256 - 287: Armors<br>
 
Indexes 256 - 287: Armors<br>
 
Indexes 288 - 319: Accessories<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. 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.
 
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 ==
 
== 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
+
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;"
 
{| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;"
 
|+'''Table 1: Materia List (PC)'''
 
|+'''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" | Name
 
! style="background:rgb(204,204,204)" align="center" | Type
 
! style="background:rgb(204,204,204)" align="center" | Type
! style="background:rgb(204,204,204)" align="center" | ID
 
 
|-
 
|-
 +
|0x00
 
|MP Plus
 
|MP Plus
 
|Independent
 
|Independent
|0x00
 
 
|-
 
|-
 +
|0x01
 
|HP Plus
 
|HP Plus
 
|Independent
 
|Independent
|0x01
 
 
|-
 
|-
 +
|0x02
 
|Speed Plus
 
|Speed Plus
 
|Independent
 
|Independent
|0x02
 
 
|-
 
|-
 +
|0x03
 
|Magic Plus
 
|Magic Plus
 
|Independent
 
|Independent
|0x03
 
 
|-
 
|-
 +
|0x04
 
|Luck Plus
 
|Luck Plus
 
|Independent
 
|Independent
|0x04
 
 
|-
 
|-
 +
|0x05
 
|EXP Plus
 
|EXP Plus
 
|Independent
 
|Independent
|0x05
 
 
|-
 
|-
 +
|0x06
 
|Gil Plus
 
|Gil Plus
 
|Independent
 
|Independent
|0x06
 
 
|-
 
|-
 +
|0x07
 
|Enemy Away
 
|Enemy Away
 
|Independent
 
|Independent
|0x07
 
 
|-
 
|-
 +
|0x08
 
|Enemy Lure
 
|Enemy Lure
 
|Independent
 
|Independent
|0x08
 
 
|-
 
|-
 +
|0x09
 
|Chocobo Lure
 
|Chocobo Lure
 
|Independent
 
|Independent
|0x09
 
 
|-
 
|-
 +
|0x0B
 
|Long Range
 
|Long Range
 
|Independent
 
|Independent
|0x0B
 
 
|-
 
|-
 +
|0x0C
 
|Mega All
 
|Mega All
 
|Independent
 
|Independent
|0x0C
 
 
|-
 
|-
 +
|0x0D
 
|Counter Attack
 
|Counter Attack
 
|Independent
 
|Independent
|0x0D
 
 
|-
 
|-
 +
|0x0E
 
|Slash-All
 
|Slash-All
 
|Command
 
|Command
|0x0E
 
 
|-
 
|-
 +
|0x0F
 
|Double Cut
 
|Double Cut
|Independent
+
|Command
|0x0F
 
 
|-
 
|-
 +
|0x0A
 
|Pre-emptive
 
|Pre-emptive
 
|Independent
 
|Independent
|0x0A
+
|-
|-       
+
|0x10
 
|Cover
 
|Cover
 
|Independent
 
|Independent
|0x10
 
 
|-
 
|-
 +
|0x11
 
|Underwater
 
|Underwater
 
|Independent
 
|Independent
|0x11
 
 
|-
 
|-
 +
|0x12
 
|HP <-> MP
 
|HP <-> MP
 
|Independent
 
|Independent
|0x12
 
 
|-
 
|-
 +
|0x13
 
|W-Magic
 
|W-Magic
 
|Command
 
|Command
|0x13
 
 
|-
 
|-
 +
|0x14
 
|W-Summon
 
|W-Summon
 
|Command
 
|Command
|0x14
 
 
|-
 
|-
 +
|0x15
 
|W-Item
 
|W-Item
 
|Command
 
|Command
|0x15
 
 
|-
 
|-
 +
|0x16
 
|Unknown
 
|Unknown
 
|Placeholder?
 
|Placeholder?
|0X16
 
 
|-
 
|-
 +
|0x17
 
|All
 
|All
 
|Support
 
|Support
|0x17
 
 
|-
 
|-
 +
|0x18
 
|Counter
 
|Counter
 
|Support
 
|Support
|0x18
 
 
|-
 
|-
 +
|0x19
 
|Magic Counter
 
|Magic Counter
 
|Support
 
|Support
|0x19
 
 
|-
 
|-
 +
|0x1A
 
|MP Turbo
 
|MP Turbo
 
|Support
 
|Support
|0x1A
 
 
|-
 
|-
 +
|0x1B
 
|MP Absorb
 
|MP Absorb
 
|Support
 
|Support
|0x1B
 
 
|-
 
|-
 +
|0x1C
 
|HP Absorb
 
|HP Absorb
 
|Support
 
|Support
|0x1C
 
 
|-
 
|-
 +
|0x1D
 
|Elemental
 
|Elemental
 
|Support
 
|Support
|0x1D
 
 
|-
 
|-
 +
|0x1E
 
|Added Effect
 
|Added Effect
 
|Support
 
|Support
|0x1E
 
 
|-
 
|-
 +
|0x1F
 
|Sneak Attack
 
|Sneak Attack
 
|Support
 
|Support
|0x1F
 
 
|-
 
|-
 +
|0x20
 
|Final Attack
 
|Final Attack
 
|Support
 
|Support
|0x20
 
 
|-
 
|-
 +
|0x21
 
|Added Cut
 
|Added Cut
 
|Support
 
|Support
|0x21
 
 
|-
 
|-
 +
|0x22
 
|Steal As Well
 
|Steal As Well
 
|Support
 
|Support
|0x22
 
 
|-
 
|-
 +
|0x23
 
|Quadra Magic
 
|Quadra Magic
 
|Support
 
|Support
|0x23
 
 
|-
 
|-
 +
|0x24
 
|Steal
 
|Steal
 
|Command
 
|Command
|0x24
 
 
|-
 
|-
 +
|0x25
 
|Sense
 
|Sense
 
|Command
 
|Command
|0x25
 
 
|-
 
|-
 +
|0x26
 
|Unknown
 
|Unknown
 
|Placeholder?
 
|Placeholder?
|0X26
 
 
|-
 
|-
 +
|0x27
 
|Throw
 
|Throw
 
|Command
 
|Command
|0x27
 
 
|-
 
|-
 +
|0x28
 
|Morph
 
|Morph
 
|Command
 
|Command
|0x28
 
 
|-
 
|-
 +
|0x29
 
|Deathblow
 
|Deathblow
 
|Command
 
|Command
|0x29
 
 
|-
 
|-
 +
|0x2A
 
|Manipulate
 
|Manipulate
 
|Command
 
|Command
|0x2A
 
 
|-
 
|-
 +
|0x2B
 
|Mime
 
|Mime
 
|Command
 
|Command
|0x2B
 
 
|-
 
|-
 +
|0x2C
 
|Enemy Skill
 
|Enemy Skill
 
|Command
 
|Command
|0x2C
 
 
|-
 
|-
|Unknown                  
+
|0x2D
 +
|Unknown  
 
|Placeholder?
 
|Placeholder?
|0X2D
 
 
|-
 
|-
|Unknown                  
+
|0x2E
 +
|Unknown  
 
|Placeholder?
 
|Placeholder?
|0X2E
 
 
|-
 
|-
|Unknown                  
+
|0x2F
 +
|Unknown  
 
|Placeholder?
 
|Placeholder?
|0X2F
 
 
|-
 
|-
 +
|0x30
 
|Master Command
 
|Master Command
 
|Command
 
|Command
|0x30
 
 
|-
 
|-
 +
|0x31
 
|Fire
 
|Fire
 
|Magic
 
|Magic
|0x31
 
 
|-
 
|-
 +
|0x32
 
|Ice
 
|Ice
 
|Magic
 
|Magic
|0x32
 
 
|-
 
|-
 +
|0x33
 
|Earth
 
|Earth
 
|Magic
 
|Magic
|0x33
 
 
|-
 
|-
 +
|0x34
 
|Lightning
 
|Lightning
 
|Magic
 
|Magic
|0x34
 
 
|-
 
|-
 +
|0x35
 
|Restore
 
|Restore
 
|Magic
 
|Magic
|0x35
 
 
|-
 
|-
 +
|0x36
 
|Heal
 
|Heal
 
|Magic
 
|Magic
|0x36
 
 
|-
 
|-
 +
|0x37
 
|Revive
 
|Revive
 
|Magic
 
|Magic
|0x37
 
 
|-
 
|-
 +
|0x38
 
|Seal
 
|Seal
 
|Magic
 
|Magic
|0x38
 
 
|-
 
|-
 +
|0x39
 
|Mystify
 
|Mystify
 
|Magic
 
|Magic
|0x39
 
 
|-
 
|-
 +
|0x3A
 
|Transform
 
|Transform
 
|Magic
 
|Magic
|0x3A
 
 
|-
 
|-
 +
|0x3B
 
|Exit
 
|Exit
 
|Magic
 
|Magic
|0x3B
 
 
|-
 
|-
 +
|0x3C
 
|Poison
 
|Poison
 
|Magic
 
|Magic
|0x3C
 
 
|-
 
|-
 +
|0x3D
 
|Demi
 
|Demi
 
|Magic
 
|Magic
|0x3D
 
 
|-
 
|-
 +
|0x3E
 
|Barrier
 
|Barrier
 
|Magic
 
|Magic
|0x3E
 
 
|-
 
|-
|Unknown                  
+
|0x3F
 +
|Unknown  
 
|Placeholder?
 
|Placeholder?
|0X3F
 
 
|-
 
|-
 +
|0x40
 
|Comet
 
|Comet
 
|Magic
 
|Magic
|0x40
 
 
|-
 
|-
 +
|0x41
 
|Time
 
|Time
 
|Magic
 
|Magic
|0x41
 
 
|-
 
|-
|Unknown                  
+
|0x42
 +
|Unknown  
 
|Placeholder?
 
|Placeholder?
|0X42
 
 
|-
 
|-
|Unknown                  
+
|0x43
 +
|Unknown  
 
|Placeholder?
 
|Placeholder?
|0X43
 
 
|-
 
|-
 +
|0x44
 
|Destruct
 
|Destruct
 
|Magic
 
|Magic
|0x44
 
 
|-
 
|-
 +
|0x45
 
|Contain
 
|Contain
 
|Magic
 
|Magic
|0x45
 
 
|-
 
|-
 +
|0x46
 
|FullCure
 
|FullCure
 
|Magic
 
|Magic
|0x46
 
 
|-
 
|-
 +
|0x47
 
|Shield
 
|Shield
 
|Magic
 
|Magic
|0x47
 
 
|-
 
|-
 +
|0x48
 
|Ultima
 
|Ultima
 
|Magic
 
|Magic
|0x48
 
 
|-
 
|-
 +
|0x49
 
|Master Magic
 
|Master Magic
 
|Magic
 
|Magic
|0x49
 
 
|-
 
|-
 +
|0x4A
 
|Choco/Mog
 
|Choco/Mog
 
|Summon
 
|Summon
|0x4A
 
 
|-
 
|-
 +
|0x4B
 
|Shiva
 
|Shiva
 
|Summon
 
|Summon
|0x4B
 
 
|-
 
|-
 +
|0x4C
 
|Ifrit
 
|Ifrit
 
|Summon
 
|Summon
|0x4C
 
 
|-
 
|-
 +
|0x4D
 
|Ramuh
 
|Ramuh
 
|Summon
 
|Summon
|0x4D
 
 
|-
 
|-
 +
|0x4E
 
|Titan
 
|Titan
 
|Summon
 
|Summon
|0x4E
 
 
|-
 
|-
 +
|0x4F
 
|Odin
 
|Odin
 
|Summon
 
|Summon
|0x4F
 
 
|-
 
|-
 +
|0x50
 
|Leviathan
 
|Leviathan
 
|Summon
 
|Summon
|0x50
 
 
|-
 
|-
 +
|0x51
 
|Bahamut
 
|Bahamut
 
|Summon
 
|Summon
|0x51
 
 
|-
 
|-
 +
|0x52
 
|Kujata
 
|Kujata
 
|Summon
 
|Summon
|0x52
 
 
|-
 
|-
 +
|0x53
 
|Alexander
 
|Alexander
 
|Summon
 
|Summon
|0x53
 
 
|-
 
|-
 +
|0x54
 
|Phoenix
 
|Phoenix
 
|Summon
 
|Summon
|0x54
 
 
|-
 
|-
 +
|0x55
 
|Neo Bahamut
 
|Neo Bahamut
 
|Summon
 
|Summon
|0x55
 
 
|-
 
|-
 +
|0x56
 
|Hades
 
|Hades
 
|Summon
 
|Summon
|0x56
 
 
|-
 
|-
 +
|0x57
 
|Typhoon
 
|Typhoon
 
|Summon
 
|Summon
|0x57
 
 
|-
 
|-
 +
|0x58
 
|Bahamut ZERO
 
|Bahamut ZERO
 
|Summon
 
|Summon
|0x58
 
 
|-
 
|-
 +
|0x59
 
|Knights of Round
 
|Knights of Round
 
|Summon
 
|Summon
|0x59
 
 
|-
 
|-
 +
|0x5A
 
|Master Summon
 
|Master Summon
 
|Summon
 
|Summon
|0x5A
 
 
|-
 
|-
 +
|0xFF
 
|Empty Slot
 
|Empty Slot
 
|NONE
 
|NONE
|0xFF
 
 
|}
 
|}
  
 
== KERNEL.BIN Section 4 Entry ==
 
== 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).
 
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 04:52, 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
z_7[0]
1 Byte Yuffie's Initial Level (z_7 Unknown)

Byte value before Yuffie join the team: 0x00.
(If byte's value is changed, then you can't fight Yuffie, so she can't be obtained).
Yuffie's Initial Level only is set when she already join the team.
Credit to (NFITC1)

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 17 bytes z_8 Unknown
0x0BB4
z_8[9]
1 byte Game timer (Hours)
0x0BB5
z_8[10]
1 byte Game timer (Minutes)
0x0BB6
z_8[11]
1 byte Game timer (Seconds)
0x0BB7
z_8[12]
1 byte Game timer (Tenths?) From 0x00 to ~0x21 in one sec.(33 FPS?)
0x0BB8
z_8[13]
1 bytes Countdown Timer (Hours?)
0x0BB9
z_8[14]
1 bytes Countdown Timer (Minutes) (Tested in Bombing Mission)
0x0BBA
z_8[15]
1 bytes Countdown Timer (Seconds) (Tested in Bombing Mission)
0x0BBB
z_8[16]
1 bytes 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
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
0x0BC4 16 bytes z_9 Unknown
0x0BC8
z_9[4]
1 byte Field Items, Sector 7 Train Graveyard

Item bit mask (LBS) (applied when you pick them up).
Bit=0(Item on the floor), Bit=1(Item Picked Up).
0x01: Hi-Potion.(mds7st1|Barrel 1)
0x02: Echo Screen.(mds7st1|Barrel 2)
0x04: Potion.(mds7st2|Floor 2)
0x08: Ether.(mds7st2|Floor 3)
0x10: Hi-Potion.(mds7st1|Roof Train 1)
0x20: Potion.(mds7st1|Inside Train 2)
0x40: Potion.(mds7st1|Floor 1)
0x80: Hi-Potion.(mds7st2|Roof Train 2)

0x0BD4 1 byte Item bit mask (LBS)(applied when you pick them up).

Field Item / Materia
Bit=0(Item on the floor), Bit=1(Item Picked Up).
0x01: Potion {MD8_3}
0x02: Potion + Phoenix Down {EALIN_1}
0x04: Ether {EALS_1}
0x08: Cover Materia {EALS_1}
0x10: Choco-Mog Summon{FARM}
0x20: Sense Materia {MDS6_2}
0x40: Ramuh Summon {CRCIN_2}
0x80: Mythril Key Item {ZZ1}

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 14 bytes z_10 Unknown
0x0BD7
z_10[1]
1 byte Item masks (applied when you pick them up).
0x10: Chaos & Death Penalty, others are unknown
0x0BDC
z_10[6]
1 byte Field Items, Sector 7 Wall Market and Shinra HQ

Item bit mask (LBS) (applied when you pick them up).
Bit=0(Item on the floor), Bit=1(Item Picked 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 (0x08)
0x10:
0x20:
0x40: Second Midgar part at Shinra HQ(0x40)
0x80: Third Midgar part at Shinra HQ(0x80)

0x0BDD
z_10[7]
1 byte Field Items, Shinra HQ

Item bit mask (LBS) (applied when you pick them up).
Bit=0(Item on the floor), Bit=1(Item Picked Up).
0x01: Fourth Midgar part(0x01)
0x02: First Midgar part(0x02)
0x04: Fifth Midgar Part(0x04)
0x08: Keycard 66(0x08)
0x10:
0x20:
0x40:
0x80:

0x0BE4 8 bytes Key items [see Key Item List]
0x0BEC 8 bytes z_11 Unknown
0x0BEF
z_11[3]
1 byte Items mask, Chocobo Farm (LBS)(applied when you take the item).

Bit=0(Item in field), Bit=1(Item taken).
0x01: Activated right after getting Choco-Mog
0x02:
0x04:
0x08:
0x10:
0x20:
0x40:
0x80:

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 bytes 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
0x0BFD 2 bytes z_13 Unknown
0x0BFF 3 bytes Ultimate Weapon's remaining HP
0x0C02 28 bytes z_14 Unknown
0x0C02
z_14[0]
1 byte Field Chocobo rating?
0x0C03
z_14[1]
1 byte Field Chocobo rating?
0x0C04
z_14[2]
1 byte Field Chocobo rating?
0x0C05
z_14[3]
1 byte Field Chocobo rating?
0x0C1E 1 bytes Needs more research. (bit=0: show tutorial. bit=1: hide tutorial.)

0x01: unknown
0x02: unknown
0x04: Grey Submarine Tutorial already seen?
0x08: unknown
0x10: unknown
0x20: Snow Area Tutorial already seen?
0x40: Display Field Help
0x80: unknown

0x0C1F 1 bytes Weapons Killed 0x8:Ruby 0x10:Emerald (more?)
0x0C20 4 bytes z_15 Unknown
0x0C20
z_15[0]
1 byte Which Chocobo was taken out from the stable.

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.

0x0C21
z_15[1]
1 byte Riding off wild chocobo dialog options.

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.

0x0C22
z_15[2]
1 byte Chocobo display value on world map (LBS).

Bit=0(Disabled), Bit=1(Enabled).
Ex: Wild Chocobo (0x01) + Black Chocobo (0x20) = Byte value 0x21
0x01: Caught wild chocobo
0x02: Riding Chocobo
0x04: Yellow
0x08: Green
0x10: Blue
0x20: Black
0x40: Gold
0x80: None?

0x0C23
z_15[3]
1 byte Vehicle display value on world map (LBS).

Note: if disk is different than 1, buggy is invisible.
Bit=0(Disabled), Bit=1(Enabled).
Ex: Buggy (0x01) + Tiny Bronco (0x04) = Byte value 0x05
Byte value 0x00: None
0x01: Buggy
0x02: Unknown/Unused
0x04: Tiny Bronco
0x08: Unknown/Unused
0x10: Highwind
0x20: Highwind (bit=1: Flying in the sky | bit=0: On the ground)
0x40: Unknown/Unused
0x80: Unknown/Unused

0x0C24 97 bytes z_16 Unknown
0x0C44
z_16[32]
1 byte Progress items, Wallmarket (LBS).

Bit=0(Item not obtained), Bit=1(Item obtained).
0x01: Cologne at Wallmarket (0x01)
0x02: Flower Cologne at Wallmarket (0x02)
0x04: Sexy Cologne at Wallmarket (0x04)
0x08:
0x10:
0x20:
0x40: Pharmacy coupon at Wallmarket(0x40)
0x80: Wig at Wallmarket(0x80)

0x0C45
z_16[33]
1 byte Progress items, Wallmarket (LBS).

Bit=0(Item not obtained), Bit=1(Item obtained).
0x01:
0x02:
0x04:
0x08: Obtaining the dress at Wallmarket
0x10: Dress used, picked up???
0x20: Cotton Dress [0xCA]
0x40: Satin Dress [0xAA]
0x80: Silk Dress [0x9A]

0x0C46
z_16[34]
1 byte Progress items, Wallmarket (LBS).

Bit=0(Item not obtained), Bit=1(Item obtained).
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
0x80:

0x0C48
z_16[36]
1 byte Field Objects, Sector 7 Train Graveyard (LBS) (so far)

Bit=0(Original Position), Bit=1(Moved).
0x01: Train 1 Position.(mds7st2)
0x02: Train 2 Position.(mds7st2)
0x04: Train 3 Position.(mds7st2)
0x08:
0x10:
0x20:
0x40:
0x80:

0x0C49
z_16[37]
1 byte Field Items, Sector 7 Wall Market

Items bit mask (LBS)
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(0x02){wcrimb_1}
0x04: Second battery applied up the wall of Wallmarket(0x04){wcrimb_1}
0x08:
0x10: Third battery applied and Ether obtained up the wall of Wallmarket (0x10){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 get at same time.

0x0C4A
z_16[38]
1 byte Number of Fort Condor Battles Fought
0x0C4B
z_16[39]
1 byte Number of Fort Condor Battles Won
0x0C5B
z_16[55]
1 byte Conversations mask (LBS)(applied when you speak).

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

0x0C84
z_16[96]
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/45 bytes z_17 Unknown[0-28] First 29 bytes of 45 (ENDS AT 0x0CB3 16 Bytes into next bank)

Save Memory Bank 3/4

Table 1: FF7 Save Slot
Offset Length Description
0x0CA4 16/45 Bytes z_17 Unknown[29-44] Last 16 bytes of 45
0x0CB4 1 byte Aeris In Church progression (document this better)
0x0CB5 49 Bytes z_18 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 z_19 Unknown
0x0CEE 2 bytes Party GP (0-10000)
0x0CF0 12 Bytes z_20 Unknown
0x0CF3
z_20[3]
1 Byte Battle Square Special Dialog Progression {0x00 init, 0x10 :no text, 0xF0:new special fight}
0x0CF4
z_20[4] & Z_20[5]
2 Bytes Battle Square Battle Points
0x0CFC 1 byte Number of chocobo stables owned
0x0CFD 1 byte Number of occupied stables
0x0CFE 1 Byte 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
0x0D01 40 Bytes z_22 Unknown
0x0D13
z_22[18]
1 byte Aeris flower quest progress.
0x01: if we buy flower from Aeris.
0x0D23
z_22[34]
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
z_22[35]
1 byte Conversations mask, Kalm (LBS)(applied when you speak to someone).

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

0x0D26
z_22[37]
1 byte Conversations mask, Reactor under the plate (LBS)(applied when you speak).

Bit=0(Not spoken to), Bit=1(Spoken to).
0x01: Speaking with Biggs(0x01)
0x02:
0x04:
0x08:
0x10:
0x20:
0x40:
0x80:

0x0D27
z_22[38]
1 byte Conversations mask, Reactor under the plate (LBS)(applied when you speak).

Bit=0(Not spoken to), Bit=1(Spoken to).
0x01: Speaking with Jesse(0x01)
0x02:
0x04:
0x08:
0x10:
0x20:
0x40:
0x80:

0x0D29 1 Byte Yuffie can be found in the forests? (LSB only) others used?
0x0D2A 28 Bytes z_23 Unknown
0x0D44
z_23[26]
1 byte Conversations mask, Reactor under the plate (LBS).

Bit=0(NOT Activated/Received/Spoken to), Bit=1(Activated/Received/Spoken to).
0x01:
0x02:
0x04:
0x08:
0x10: Aerith on roof event ends
0x20:
0x40: Turbo Ether {MIN51_2}
0x80: Aerith on roof event starts

0x0D46 1 byte Don's Mission Progress (more needed here)
0x0D47 31 Bytes z_24 Unknown
0x0D47
z_24[0]
1 byte Conversations mask, Shinra HQ (LBS)(applied when you speak).

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

0x0D49
z_24[2]
1 byte Conversations mask, Shinra HQ (LBS)(applied when you speak).

Bit=0(Not spoken to), Bit=1(Spoken to).
0x01:
0x02:
0x04:
0x08:
0x10:
0x20:
0x40:
0x80: Second conversation while climbing Shinra HQ stairs(0x80)

0x0D4A
z_24[3]
1 byte Conversations mask, Shinra HQ (LBS)(applied when you speak).

Bit=0(Not spoken to), Bit=1(Spoken to).
0x01: Third conversation while climbing Shinra HQ stairs (0x01)
0x02:
0x04:
0x08:
0x10:
0x20:
0x40:
0x80:

0x0D4C
z_24[5]
1 byte Conversations mask, Shinra HQ (LBS)(applied when you speak).

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

0x0D50
z_24[9]
1 byte Items mask, Shinra HQ (LBS)(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)
0x04:
0x08:
0x10: Exiting elevator FMV at floor 60(0x10)
0x20:
0x40:
0x80:

0x0D52
z_24[11]
2 bytes Bits kept for the doors at floor 63, Shinra HQ (LBS)(applied when you speak).

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

0x0D55
z_24[14]
1 byte Item mask, Shinra HQ (LBS)(applied when you speak).

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

0x0D56
z_24[15]
1 byte Bits kept for some events on floor 63, Shinra HQ (LBS)(Really needs to be investigated).

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

0x0D57
z_24[16]
1 byte Conversations mask, Shinra HQ (LBS)(applied when you speak).

Bit=0(Not spoken to), Bit=1(Spoken to).
0x01: Hitting vending machine at floor 64(0x01)
0x02:
0x04:
0x08:
0x10:
0x20:
0x40:
0x80:

0x0D58
z_24[17]
1 byte Conversations mask, Shinra HQ (LBS)(applied when you speak).

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

0x0D59
z_24[18]
1 byte Conversations mask, Shinra HQ (LBS)(applied when you speak).

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

0x0D5D
z_24[22]
1 byte Conversations mask, Shinra HQ (LBS)(applied when you speak).

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

0x0D66 1 byte Turtle Paradise Flyers Seen LSB 1 2 3 4 5 6 x x MSB (flyer#) 1=seen

0x01: Sector 7 Slums
0x02: 1st Floor Shinra Building
0x04: Gold Saucer - Ghost Hotel
0x08: Cosmo Canyon - Inn 2nd Floor
0x10: Cosmo Canyon - Near Shop
0x20: Wutai In Front of Trap Room
0x40: Wutai - In Front of Turtle Paradise
0x80:

0x0D67 12 Bytes 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.
0x6E: Yes; 0x6F: No
0x0D74 15 Bytes z_26 Unknown
0x0D74
z_26[0]
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).
0x20:
0x40:
0x80:

0x0D75
z_26[1]
1 byte Conversations mask, MDS7 (LBS)(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
z_26[2]
1 byte Conversations mask, MDS7 (LBS)(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]
0x04: Unknown[0x00]?
0x08: Unknown[0x00]
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}
0x40: Unknown[0x00]
0x80: Unknown[0x00]

0x0D77
z_26[3]
1 byte Conversations mask, MDS7 (LBS)(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
0x02: Unknown[0x00]
0x04: Auto tifa talk about fight w/ barret[0x04]
0x08: Unknown[0x00]
0x10: Unknown[0x00]
0x20: Unknown[0x00]
0x40: Unknown[0x00]
0x80: Unknown[0x00]

0x0D78
z_26[4]
1 byte Conversations mask, MDS7 (LBS)(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]
0x20: Unknown[0x00]
0x40: Unknown[0x00]
0x80: Unknown[0x00]

0x0D79
z_26[5]
1 byte Conversations mask, MDS7 (LBS)(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]
0x20: Unknown[0x00]
0x40: After giving Barret the materia tutorial[0x5D]
0x80: Unknown[0x00]

0x0D7A
z_26[6]
1 byte Conversations mask, MDS7 (LBS)(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]
0x10: Unknown[0x00]
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
z_26[7]
1 byte Items mask, Training room at sector 5 (LBS)(applied when you speak).

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

0x0D7C
z_26[8]
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.
0x10:
0x20:
0x40:
0x80:

0x0D83 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/64 Bytes z_27 Unknown[0-31] First 32 bytes of 64 (ENDS AT 0x0DC3 32 Bytes into next bank)
0x0D90
z_27[12]
1 byte Event flags inside Junon.

0x01:
0x02:
0x04: Junon Soldiers running through the city after the parade.
0x08:
0x10:
0x20: Enemy Skill materia
0x40:
0x80:

Save Memory Bank B/C

Table 1: FF7 Save Slot
Offset Length Description
0x0DA4 32/64 Bytes z_27 Unknown[32-63] Last 32 bytes of 64
0x0DC4 16 bytes Chocobo slot 1 [See Below 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]
0x0E04 13 Bytes z_28 Unknown
0x0E11 2 Byte G-Bike Minigame High Score
0x0E13 4 Bytes Fastest Time For Snowboard Beginner Course stored in Msec 3bytes byte[0] unused
0x0E17 4 Bytes Fastest Time For Snowboard Expert Course stored in Msec 3bytes byte[0] unused
0x0E1B 4 Bytes Fastest Time For Snowboard Crazy Course stored in Msec 3bytes byte[0] unused
0x0E1F 1 Byte UnSaved Snowboard MIni Game Temp Var.
0x0E20 1 Byte HighScore For Snowboard Beginner Course
0x0E21 1 Byte HighScore For Snowboard Expert Course
0x0E22 1 Byte HighScore For Snowboard Crazy Course
0x0E23 1 Byte UnSaved Snowboard MIni Game Temp Var
0x0E24 2 bytes 2nd rank at RollerCoaster Shooter
0x0E26 2 bytes 3rd rank at RollerCoaster Shooter
0x0E28 17 Bytes z_29 Unknown
0x0E29
z_29[1]
1 byte Chocobo breeding tutorial (taught by the Chocobo Sage) Progression Variable
0x0E2A
z_29[2]
2 bytes Number of battles to reach in order to unlock the next part of the Chocobo breeding tutorial
0x0E33
z_29[11]
1 byte Lucrecia's Cave sidequest Progression Variable
0x0E35
z_29[13]
2 bytes Lucrecia's Cave sidequest:
Number of battles to get past in order to unlock Chaos & Death Penalty
0x0E39 2 bytes 1st rank at RollerCoaster Shooter
0x0E3C 105 Bytes z_30 Unknown

Save Memory Bank D/E

Table 1: FF7 Save Slot
Offset Length Description
0x0EA4 1 byte Which game-play Disc is needed
0x0EA5 1 byte z_31 Unknown Data
0x0EA6 1 Byte Start Of Bombing Mission (0x14=Yes, 0x56=No)
0x0EA7 3 bytes 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
0x0EAC 22 bytes z_33 Unknown
0x0EC2 1 byte Field pointers mask (hand over party leader's head + red and green arrows)
0x00: Inactive
0x02: Active
0x0EC3 1 byte z_34 Unknown. If you have max materias in your equipment it is set to non-zero (needs to be confirmed) FALSE! (By Ss4).
0x0EC4 6 bytes Name of Chocobo 1 (FF Text format)
0x0ECA 6 bytes Name of Chocobo 2 (FF Text format)
0x0ED0 6 bytes Name of Chocobo 3 (FF Text format)
0x0ED6 6 bytes Name of Chocobo 4 (FF Text format)
0x0EDC 6 bytes Name of Chocobo 5 (FF Text format)
0x0EE2 6 bytes Name of Chocobo 6 (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)

0x01:
0x02:
0x04: Vincent Regulary. Has the character entered the party regularly? Byte value (Yes:[0xFF]; No:[0xFB])(NEEDS TO BE CHECKED)
0x08: Gray Submarine (bit = 1)/ Red Submarine (bit = 0) (Liked with 0x0EF6[2])
0x10:
0x20:
0x40:
0x80:

0x0EF5 23 bytes z_35 Unknown
0x0EF6
z_35[1]
1 byte Vehicle Submarine

0x01:
0x02:
0x04: Grey Submarine Ignored / Red Submarine bit = 1 (Linked with 0x0EF4[3])
0x08:
0x10:
0x20:
0x40:
0x80:

0x0EFD
z_35[8]
1 byte Vehicle Enabler
0x0EFF
z_35[10]
1 byte Save flag.

0x02: set when we in save (menu or point? please check) and unset when out
Other byte values: 0x10, 0x12, 0x51

0x0F0C 24 bytes Name of location (FF Text format)
0x0F24 5 bytes z_36 Unknown
0x0F29 1 bytes Save on the world map - Tutorial seen (To be Checked)
0x3B: Seen
0x33: Not Seen
0x0F2A 50 bytes z_37 Unknown
0x0F2A
z_37[0]
1 byte Needs more research.

0x01:
0x02:
0x04: Red Submarine Tutorial
0x08:
0x10:
0x20:
0x40:
0x80:

0x0F2B
z_37[1]
1 bytes 0x20: World map Ruby Weapon form. bit=0: Small Form (before first encounter). bit=1: Big Form (after first encounter).
0x0F3A
z_37[16]
1 bytes Rand number between 0,1,2. Is set when you change field map. ex: enter a town.
0x0F5C 3 bytes Party leader's coordinates on world map:
Party leader X position on the world map (X coord). Value from 0 up to 295000

000000: 0x000000
065535: 0xFFFF00 | 065536: 0x000001
131071: 0xFFFF01 | 131072: 0x000002
196607: 0xFFFF02 | 196608: 0x000003
262143: 0xFFFF03 | 262144: 0x000004
295000: 0x588004

0x0F5F 1 bytes Party leader viewing direction angle on the world map. Value from 0 up to 255 to cover 0 - 359°
0x0F60 3 bytes Party leader Y position on the world map (Y coord). Value from 1 up to 230000

000001: 0x01003C
065535: 0xFFFF3C | 065536: 0x00003D
131071: 0xFFFF3D | 131072: 0x00003E
196607: 0xFFFF3E | 196608: 0x00003F
230000: 0x70823F

0x0F63 1 bytes 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)
0x0F8C 2 bytes 1st Snow Pole X Coordinate.
0x0F8E 2 bytes 1st Snow Pole Y Coordinate.
0x0F90 2 bytes 2nd Snow Pole X Coordinate.
0x0F92 2 bytes 2nd Snow Pole Y Coordinate.
0x0F94 2 bytes 3ed Snow Pole X Coordinate.
0x0F96 2 bytes 3ed Snow Pole Y Coordinate.
0x0F98 12/236 bytes z_38 Unknown[0-11] First 12 bytes of 236 (ENDS AT 0x1083 224 Bytes into next bank)
0x0F9C
z_38[4]
1 bytes Angle of the world. The viewing direction of the camera onto the world map. For top-view (ca. 45°) this value should be 0.
0x0F9D
z_38[5]
1 bytes Top-view (ca. 45°). Determines the camera's position.
0x0F9C
z_38[4]
2 bytes Camera angle and rotation of normal world map.

00 00 - FF 0F: Map rotation angle. xx yx: if y > 0, y will be changed to 0. (Source: Asa. Data Collision)

0x0F9F
z_38[6]
2 bytes Snow Pole Number/Where address will be overwritten by next pole (cycling 00, 01, 02, 00, 01, 02... )

00: 1st pole address
01: 2nd pole address
02: 3rd pole address

0x0FA0
z_38[8]
1 bytes Wild Chocobo Type.

Value is set when Chocobo is caught and used after Chocobo is sent to cage.
Index is the byte's value and not the bit-mask.
0x00: Chocobo not displayed in cage
0x01: Wonderful
0x02: Great
0x03: Good
0x04: Fair
0x05: Average
0x06: Poor
0x07: Bad
0x08: Terrible
Over 08 = Choco Billy's rating window not displayed

0x0FA1
z_38[9]
1 bytes Riding Byte.

Index is the byte's value and not the bit-mask.
0x00: On foot.
0x03: Highwind
0x04: Wild Chocobo (Liked with 0x0C22[0])
0x0D: Submarine
0x13: Chocobo (Liked with 0x0C22[1/7]. 0x0C22: 0x04=Yellow, ..., 0x40=Gold)

0x0FA3
z_38[11]
1 bytes 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

Table 1: FF7 Save Slot
Offset Length Description
0x0FA4 224/236 Bytes Unknown z_38[12-235] Last 224 bytes of 236
0x0FA6
z_38[14]
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)

0x0FAB
z_38[19]
1 byte If not 0x00, game crashes
0x0FC4
z_38[44]
2 bytes Fields items mask.
0x0001: first potion on MD1STIN.
0x0002: second potion on MD1STIN.
0x0004: potion at NMKIN3.
0x0008: phoenix down on NKMIN1.
0x0FF1
z_38[89]
1 byte On Buggy vehicle. Specifies if a character is on a Buggy. Only if a Buggy is present.
0x0E: On; 0x0C: Off
0x0FF8
z_38[96]
1 byte Items mask, Mythril Mine (LBS)(applied when you take the item).

Bit=0(Item in field), Bit=1(Item taken).
0x01:
0x02:
0x04:
0x08: Ether
0x10: Hi-Potion
0x20: Elixir
0x40: Long Range materia
0x80:

0x0FF9
z_38[97]
1 byte Items mask, Kalm (LBS)(applied when you take the item).

Bit=0(Item in field), Bit=1(Item taken).
0x01: Hidden Ether in the second floor of a house
0x02:
0x04:
0x08:
0x10:
0x20:
0x40:
0x80:

0x0FFB
z_38[99]
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)
0x0FFC
z_38[100]
1 byte Items mask, Kalm (LBS)(applied when you take the item).

Bit=0(Item in field), Bit=1(Item taken).
0x01: Peacemaker in a house
0x02:
0x04:
0x08:
0x10:
0x20:
0x40:
0x80:

0x0FFD
z_38[101]
1 byte Items mask, Kalm (LBS)(applied when you take the item).

Bit=0(Item in field), Bit=1(Item taken).
0x01:
0x02: Hidden Ether from house next to the Inn
0x04:
0x08: Guard Source
0x10: Hidden Ether
0x20:
0x40:
0x80:

0x0FFE
z_38[102]
1 byte Items mask, Mythril Mine (LBS)(applied when you take the item).

Bit=0(Item in field), Bit=1(Item taken).
0x01:
0x02:
0x04:
0x08:
0x10: Mind Source
0x20: Tent
0x40:
0x80:

0x101E
z_38[134]
1 byte Items mask, Junon (LBS)(applied when you take the item).

Bit=0(Item in field), Bit=1(Item taken).
0x01: Mind Source
0x02: Power Source
0x04: Guard Source
0x08:
0x10: 1/35 Soldier
0x20: Luck Source
0x40:
0x80:

0x1030
z_38[152]
1 byte Field screen rain switch (non-zero to turn on rain effect)
0x1084 16 bytes Chocobo slot 5
0x1094 16 bytes Chocobo slot 6

Character Record

Table 2: Character Record
Offset Length 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 (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) game ingores values <4 4-63 are visible as "progress"
0x22 2 bytes Learned limit skills

0x0001: Limit Lv. 1-1
0x0002: Limit Lv. 1-2
0x0004: Always 0 (reserved bit or spacer/breaker/end of limit)
0x0008: Limit Lv. 2-1
0x0010: Limit Lv. 2-2
0x0020: Always 0 (reserved bit or spacer/breaker/end of limit)
0x0040: Limit Lv. 3-1
0x0080: Limit Lv. 3-2
0x0100: Always 0 (reserved bit or spacer/breaker/end of limit)
0x0200: Limit Lv. 4

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)
0x34 4 bytes 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

Table 3: Chocobo Record
Offset Length 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
0xC 1 byte Pcount (?)
0xD 1 byte Number of races won
0xE 1 byte 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:
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)
ID Name 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}
Example: 0x04: Set to 1 if we choose no drink when talking to tifa. [0x0F] {MDS7PB_1}

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 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.