Difference between revisions of "Main Page"
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)" | | + | |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, | + | |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, | + | |style="background:rgb(255,205,154)" | 0x0BBB<br />z_8[16] |
− | |style="background:rgb(255,255,204)" | | + | |style="background:rgb(255,255,204)" | 1 bytes |
− | |style="background:rgb(255,255,204)" | | + | |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" | + | | rowspan="2" | 0x0BC0 |
− | | rowspan="2" | + | | rowspan="2" | 2 bytes |
− | | colspan="2 | + | | colspan="2" | Menu Visiblity Mask (Quit not affected) |
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
Line 423: | Line 439: | ||
|} | |} | ||
|- | |- | ||
− | | rowspan="2" | + | | rowspan="2" | 0x0BC2<br /> |
− | | rowspan="2" | + | | rowspan="2" | 2 bytes |
− | | colspan="2" | + | | colspan="2" | Menu Locking Mask (1: Locked) (Quit not affected) |
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
Line 443: | Line 459: | ||
|} | |} | ||
|- | |- | ||
− | |style="background:rgb(255,255, | + | |style="background:rgb(255,205,154)" | 0x0BC4 |
− | |style="background:rgb(255,255, | + | |style="background:rgb(255,205,154)" | 16 bytes |
− | |style="background:rgb(255, | + | |style="background:rgb(255,205,154)" | z_9 Unknown |
+ | |- | ||
+ | |style="background:rgb(255,205,154)" | 0x0BC8<br />z_9[4] | ||
+ | |style="background:rgb(255,163,0)" | 1 byte | ||
+ | |style="background:rgb(255,163,0)" | Field Items, Sector 7 Train Graveyard<br /> | ||
+ | Item bit mask ([[Bit_numbering#LSB_0_bit_numbering|LBS]]) (applied when you pick them up).<br /> | ||
+ | Bit=0(Item on the floor), Bit=1(Item Picked Up).<br /> | ||
+ | 0x01: Hi-Potion.(mds7st1|Barrel 1)<br /> | ||
+ | 0x02: Echo Screen.(mds7st1|Barrel 2)<br /> | ||
+ | 0x04: Potion.(mds7st2|Floor 2)<br /> | ||
+ | 0x08: Ether.(mds7st2|Floor 3)<br /> | ||
+ | 0x10: Hi-Potion.(mds7st1|Roof Train 1)<br /> | ||
+ | 0x20: Potion.(mds7st1|Inside Train 2)<br /> | ||
+ | 0x40: Potion.(mds7st1|Floor 1)<br /> | ||
+ | 0x80: Hi-Potion.(mds7st2|Roof Train 2)<br /> | ||
+ | |- | ||
+ | | 0x0BD4 | ||
+ | | 1 byte | ||
+ | | Item bit mask ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you pick them up). | ||
+ | Field Item / Materia<br /> | ||
+ | Bit=0(Item on the floor), Bit=1(Item Picked Up).<br /> | ||
+ | 0x01: Potion {MD8_3}<br /> | ||
+ | 0x02: Potion + Phoenix Down {EALIN_1}<br /> | ||
+ | 0x04: Ether {EALS_1}<br /> | ||
+ | 0x08: Cover Materia {EALS_1}<br /> | ||
+ | 0x10: Choco-Mog Summon{FARM}<br /> | ||
+ | 0x20: Sense Materia {MDS6_2}<br /> | ||
+ | 0x40: Ramuh Summon {CRCIN_2}<br /> | ||
+ | 0x80: Mythril Key Item {ZZ1}<br /> | ||
|- | |- | ||
− | + | | 0x0BD5 | |
− | + | | 1 byte | |
− | + | | Materia Cave masks (applied when you pick up the corresponding Materia).<br />0x01: Mime, 0x02: HP<->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)" | | + | |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, | + | |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 | + | |style="background:rgb(255,205,154)" | 0x0BDC<br />z_10[6] |
− | |||
− | |||
− | |||
− | |||
|style="background:rgb(255,255,204)" | 1 byte | |style="background:rgb(255,255,204)" | 1 byte | ||
− | |style="background:rgb(255,255,204)" | Field Items, Sector 7 Wall Market and Shinra HQ | + | |style="background:rgb(255,255,204)" | Field Items, Sector 7 Wall Market and Shinra HQ<br /> |
− | 0x01: Ether(Corneo's masion basement floor) | + | 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) | + | Bit=0(Item on the floor), Bit=1(Item Picked Up).<br /> |
− | 0x04: Phoenix Down (Corneo's masion 2nd floor right room) | + | 0x01: Ether.(Corneo's masion basement floor)<br /> |
− | 0x08: Elixir at Shinra HQ stairs | + | 0x02: Hyper.(Corneo's masion corneo 's bedroom floor)<br /> |
− | 0x40: Second Midgar part at Shinra HQ | + | 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, | + | |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 | + | |style="background:rgb(255,255,204)" | Field Items, Shinra HQ <br /> |
− | 0x01: Fourth Midgar part | + | Item bit mask ([[Bit_numbering#LSB_0_bit_numbering|LBS]]) (applied when you pick them up).<br /> |
− | 0x02: First Midgar part | + | Bit=0(Item on the floor), Bit=1(Item Picked Up).<br /> |
− | 0x04: Fifth Midgar Part | + | 0x01: Fourth Midgar part(0x01)<br /> |
− | 0x08: Keycard 66 | + | 0x02: First Midgar part(0x02)<br /> |
− | + | 0x04: Fifth Midgar Part(0x04)<br /> | |
− | + | 0x08: Keycard 66(0x08)<br /> | |
− | + | 0x10: <br /> | |
− | + | 0x20: <br /> | |
+ | 0x40: <br /> | ||
+ | 0x80: <br /> | ||
|- | |- | ||
| 0x0BE4 | | 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 | + | |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, | + | |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, | + | |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, | + | |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, | + | |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? | ||
|- | |- | ||
− | | | + | | 0x0C1E |
− | | | + | | 1 bytes |
− | | | + | | Needs more research. (bit=0: show tutorial. bit=1: hide tutorial.)<br /> |
− | + | 0x01: unknown<br /> | |
− | + | 0x02: unknown<br /> | |
− | + | 0x04: Grey Submarine Tutorial already seen?<br /> | |
− | + | 0x08: unknown<br /> | |
− | 0x04: Submarine Tutorial seen | + | 0x10: unknown<br /> |
− | 0x40: | + | 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)" | | + | |style="background:rgb(255,205,154)" | 0x0C20 |
− | |style="background:rgb(255,205,154)" | | + | |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, | + | |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, | + | |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, | + | |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, | + | |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. | + | 0x01: Train 1 Position.(mds7st2)<br /> |
− | 0x02: Train 2 Position. | + | 0x02: Train 2 Position.(mds7st2)<br /> |
− | 0x04: Train 3 Position. | + | 0x04: Train 3 Position.(mds7st2)<br /> |
+ | 0x08: <br /> | ||
+ | 0x10: <br /> | ||
+ | 0x20: <br /> | ||
+ | 0x40: <br /> | ||
+ | 0x80: <br /> | ||
|- | |- | ||
− | |style="background:rgb(255, | + | |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 | + | 0x80: Battery (Gun shop batery pack 3/3){mkt_w}<br /> |
+ | Note: all 3 batteries get at same time. | ||
|- | |- | ||
− | |style="background:rgb(255, | + | |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, | + | |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 | ||
− | |||
− | |||
− | |||
− | |||
|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 /> | |
− | + | 0x20: <br /> | |
− | + | 0x40: <br /> | |
− | + | 0x80: <br /> | |
|- | |- | ||
− | |style="background:rgb(255, | + | |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 | + | |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)" | | + | |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, | + | |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 | + | |style="background:rgb(255,205,154)" | 0x0D23<br />z_22[34] |
− | |||
− | |||
− | |||
− | |||
|style="background:rgb(255,255,204)" | 1 byte | |style="background:rgb(255,255,204)" | 1 byte | ||
− | |style="background:rgb(255,255,204)" | Current room in TUNNEL_1. From 1 to 6. | + | |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. | ||
− | Used instead of duplicating tunnel rooms. Start room set during mission 5 reactor train minigame. | ||
|- | |- | ||
− | |style="background:rgb(255, | + | |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 /> | |
− | + | 0x40: <br /> | |
− | + | 0x80: <br /> | |
− | |||
|- | |- | ||
− | |style="background:rgb(255, | + | |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, | + | |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 /> | |
− | + | 0x04: <br /> | |
− | + | 0x08: <br /> | |
− | + | 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)" | | + | |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, | + | |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)" | | + | |style="background:rgb(255,255,204)" | Conversations mask, Reactor under the plate ([[Bit_numbering#LSB_0_bit_numbering|LBS]]).<br /> |
− | 0x08: | + | Bit=0(NOT Activated/Received/Spoken to), Bit=1(Activated/Received/Spoken to).<br /> |
− | 0x10: | + | 0x01: <br /> |
− | 0x20: | + | 0x02: <br /> |
− | 0x40: | + | 0x04: <br /> |
− | 0x80: | + | 0x08: <br /> |
+ | 0x10: Aerith on roof event ends<br /> | ||
+ | 0x20: <br /> | ||
+ | 0x40: Turbo Ether {MIN51_2}<br /> | ||
+ | 0x80: Aerith on roof event starts<br /> | ||
+ | <!-- Asa Asa (2012-03-12) | ||
+ | Progress Tab | ||
+ | The check box "cb_s5_7 (aerith On roof)" changes "0x0D44: 0x40 0n/Off". | ||
+ | But "0x0D44: 0x40" is Turbo Ether from Kid in "house 2F 5min1_2". | ||
+ | And "Aerith on roof" is "0x0D44: 0x80", not 0x40. | ||
+ | (After "Aerith on roof" event [church 158 - mds5_4 171 - mds5_2 173], both of 0x80 & 0x10 of 0x0D44 are changed to ON. So I also checked 0x10 to confirm them.) | ||
+ | --> | ||
|- | |- | ||
− | | | + | | 0x0D46 |
− | | | + | | 1 byte |
− | | | + | | Don's Mission Progress (more needed here) |
|- | |- | ||
− | |style="background:rgb(255, | + | |style="background:rgb(255,205,154)" | 0x0D47 |
− | |style="background:rgb(255, | + | |style="background:rgb(255,205,154)" | 31 Bytes |
− | |style="background:rgb(255, | + | |style="background:rgb(255,205,154)" | z_24 Unknown |
|- | |- | ||
− | |style="background:rgb(255, | + | |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 /> | |
− | + | 0x08: Elevator event at shinra HQ(0x08)<br /> | |
− | + | 0x10: First conversation while climbing Shinra HQ stairs(0x10)<br /> | |
− | + | 0x20: <br /> | |
+ | 0x40: <br /> | ||
+ | 0x80: <br /> | ||
|- | |- | ||
− | |style="background:rgb(255, | + | |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, | + | |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 /> | |
− | + | 0x04: <br /> | |
− | + | 0x08: <br /> | |
− | + | 0x10: <br /> | |
+ | 0x20: <br /> | ||
+ | 0x40: <br /> | ||
+ | 0x80: <br /> | ||
|- | |- | ||
− | |style="background:rgb(255, | + | |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 | + | |style="background:rgb(255,205,154)" | 0x0D50<br />z_24[9] |
− | |||
− | |||
− | |||
− | |||
|style="background:rgb(255,255,204)" | 1 byte | |style="background:rgb(255,255,204)" | 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 | + | |style="background:rgb(255,205,154)" | 0x0D52<br />z_24[11] |
− | + | |style="background:rgb(255,255,204)" | 2 bytes | |
− | + | |style="background:rgb(255,255,204)" | Bits kept for the doors at floor 63, Shinra HQ ([[Bit_numbering#LSB_0_bit_numbering|LBS]])(applied when you speak).<br /> | |
− | + | Bit=0(Door opened), Bit=1(Door closed).<br /> | |
− | |||
− | |style="background:rgb(255,255,204)" | | ||
− | |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, | + | |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, | + | |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 | + | |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, | + | |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, | + | |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, | + | |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 /> | ||
− | + | 0x02: <br /> | |
− | + | 0x04: <br /> | |
− | + | 0x08: <br /> | |
− | + | 0x10: <br /> | |
− | + | 0x20: <br /> | |
− | + | 0x40: <br /> | |
− | + | 0x80: Last conversation with floor 63 machine<br /> | |
− | |||
− | |||
|- | |- | ||
− | |style="background:rgb(255, | + | |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)" | | + | |style="background:rgb(255,205,154)" | 0x0D67 |
− | |style="background:rgb(255,205,154)" | | + | |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, | + | |style="background:rgb(255,205,154)" | 0x0D74 |
− | |style="background:rgb(255, | + | |style="background:rgb(255,205,154)" | 15 Bytes |
− | |style="background:rgb(255, | + | |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, | + | |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, | + | |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, | + | |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, | + | |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, | + | |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, | + | |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, | + | |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, | + | |style="background:rgb(255,205,154)" | 0x0D7C<br />z_26[8] |
− | |style="background:rgb(255, | + | |style="background:rgb(255,163,0)" | 1 byte |
− | |style="background:rgb(255, | + | |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)" | | + | |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 | + | |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, | + | |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, | + | |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, | + | |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 | ||
|- | |- | ||
− | | | + | | 0x0EA4 |
| 1 byte | | 1 byte | ||
| Which game-play Disc is needed | | Which game-play Disc is needed | ||
|- | |- | ||
− | | | + | |style="background:rgb(255,205,154)"| 0x0EA5 |
+ | |style="background:rgb(255,205,154)"| 1 byte | ||
+ | |style="background:rgb(255,205,154)"| z_31 Unknown Data | ||
+ | |- | ||
+ | |0x0EA6 | ||
+ | |1 Byte | ||
+ | |Start Of Bombing Mission (0x14=Yes, 0x56=No) | ||
+ | |- | ||
+ | |style="background:rgb(255,205,154)"| 0x0EA7 | ||
+ | |style="background:rgb(255,205,154)"| 3 bytes | ||
+ | |style="background:rgb(255,205,154)"| z_32 Unknown | ||
+ | |- | ||
+ | |0x0EAA | ||
+ | |2 Bytes | ||
+ | |Step counter. Used in great glacier to count the steps until passing out and resetted whenever you enter it. Value to pass out = 544 | ||
+ | |- | ||
+ | |style="background:rgb(255,205,154)"| 0x0EAC | ||
+ | |style="background:rgb(255,205,154)"| 22 bytes | ||
+ | |style="background:rgb(255,205,154)"| z_33 Unknown | ||
+ | |- | ||
+ | |style="background:rgb(255,255,204)"| 0x0EC2 | ||
+ | |style="background:rgb(255,255,204)"| 1 byte | ||
+ | |style="background:rgb(255,255,204)"| Field pointers mask (hand over party leader's head + red and green arrows)<br />0x00: Inactive<br />0x02: Active | ||
+ | |- | ||
+ | |style="background:rgb(255,205,154)"| 0x0EC3 | ||
+ | |style="background:rgb(255,205,154)"| 1 byte | ||
+ | |style="background:rgb(255,205,154)"| z_34 Unknown. <del>If you have max materias in your equipment it is set to non-zero (needs to be confirmed)</del> FALSE! (By Ss4). | ||
+ | |- | ||
+ | | 0x0EC4 | ||
+ | | 6 bytes | ||
+ | | Name of Chocobo 1 ([[FF7/FF Text|FF Text format]]) | ||
+ | |- | ||
+ | | 0x0ECA | ||
+ | | 6 bytes | ||
+ | | Name of Chocobo 2 ([[FF7/FF Text|FF Text format]]) | ||
+ | |- | ||
+ | | 0x0ED0 | ||
+ | | 6 bytes | ||
+ | | Name of Chocobo 3 ([[FF7/FF Text|FF Text format]]) | ||
+ | |- | ||
+ | | 0x0ED6 | ||
+ | | 6 bytes | ||
+ | | Name of Chocobo 4 ([[FF7/FF Text|FF Text format]]) | ||
+ | |- | ||
+ | | 0x0EDC | ||
+ | | 6 bytes | ||
+ | | Name of Chocobo 5 ([[FF7/FF Text|FF Text format]]) | ||
+ | |- | ||
+ | | 0x0EE2 | ||
+ | | 6 bytes | ||
+ | | Name of Chocobo 6 ([[FF7/FF Text|FF Text format]]) | ||
+ | |- | ||
+ | | 0x0EE8 | ||
+ | | 2 bytes | ||
+ | | Stamina of Chocobo 1 | ||
+ | |- | ||
+ | | 0x0EEA | ||
+ | | 2 bytes | ||
+ | | Stamina of Chocobo 2 | ||
+ | |- | ||
+ | | 0x0EEC | ||
+ | | 2 bytes | ||
+ | | Stamina of Chocobo 3 | ||
+ | |- | ||
+ | | 0x0EEE | ||
+ | | 2 bytes | ||
+ | | Stamina of Chocobo 4 | ||
+ | |- | ||
+ | | 0x0EF0 | ||
+ | | 2 bytes | ||
+ | | Stamina of Chocobo 5 | ||
+ | |- | ||
+ | | 0x0EF2 | ||
+ | | 2 bytes | ||
+ | | Stamina of Chocobo 6 | ||
+ | |- | ||
+ | | 0x0EF4 | ||
| 1 byte | | 1 byte | ||
− | | | + | | Vincent Regularly/Change Submarine Color. (Bit-mask)<br /> |
+ | 0x01: <br /> | ||
+ | 0x02: <br /> | ||
+ | 0x04: Vincent Regulary. Has the character entered the party regularly? Byte value (Yes:[0xFF]; No:[0xFB])(NEEDS TO BE CHECKED)<br /> | ||
+ | 0x08: Gray Submarine (bit = 1)/ Red Submarine (bit = 0) (Liked with 0x0EF6[2])<br /> | ||
+ | 0x10: <br /> | ||
+ | 0x20: <br /> | ||
+ | 0x40: <br /> | ||
+ | 0x80: <br /> | ||
+ | |- | ||
+ | |style="background:rgb(255,205,154)" | 0x0EF5 | ||
+ | |style="background:rgb(255,205,154)" | 23 bytes | ||
+ | |style="background:rgb(255,205,154)" | z_35 Unknown | ||
+ | |- | ||
+ | |style="background:rgb(255,205,154)" | 0x0EF6<br />z_35[1] | ||
+ | |style="background:rgb(255,255,204)" | 1 byte | ||
+ | |style="background:rgb(255,255,204)" | Vehicle Submarine<br /> | ||
+ | 0x01: <br /> | ||
+ | 0x02: <br /> | ||
+ | 0x04: Grey Submarine Ignored / Red Submarine bit = 1 (Linked with 0x0EF4[3])<br /> | ||
+ | 0x08: <br /> | ||
+ | 0x10: <br /> | ||
+ | 0x20: <br /> | ||
+ | 0x40: <br /> | ||
+ | 0x80: <br /> | ||
+ | |- | ||
+ | |style="background:rgb(255,205,154)" | 0x0EFD<br />z_35[8] | ||
+ | |style="background:rgb(255,255,204)" | 1 byte | ||
+ | |style="background:rgb(255,255,204)" | Vehicle Enabler | ||
+ | |- | ||
+ | |style="background:rgb(255,205,154)" | 0x0EFF<br />z_35[10] | ||
+ | |style="background:rgb(255,255,204)" | 1 byte | ||
+ | |style="background:rgb(255,255,204)" | Save flag.<br /> | ||
+ | 0x02: set when we in save (menu or point? please check) and unset when out<br /> | ||
+ | Other byte values: 0x10, 0x12, 0x51 | ||
+ | |- | ||
+ | |style="background:rgb(255,255,204)" | 0x0F0C | ||
+ | |style="background:rgb(255,255,204)" | 24 bytes | ||
+ | |style="background:rgb(255,255,204)" | Name of location ([[FF7/FF Text|FF Text format]]) | ||
|- | |- | ||
− | | | + | |style="background:rgb(255,205,154)" | 0x0F24 |
− | | 1 byte | + | |style="background:rgb(255,205,154)" | 5 bytes |
− | | | + | |style="background:rgb(255,205,154)" | z_36 Unknown |
+ | |- | ||
+ | | 0x0F29 | ||
+ | | 1 bytes | ||
+ | | Save on the world map - Tutorial seen (To be Checked)<br />0x3B: Seen<br />0x33: Not Seen | ||
+ | |- | ||
+ | |style="background:rgb(255,205,154)" | 0x0F2A | ||
+ | |style="background:rgb(255,205,154)" | 50 bytes | ||
+ | |style="background:rgb(255,205,154)" | z_37 Unknown | ||
+ | |- | ||
+ | |style="background:rgb(255,205,154)" | 0x0F2A<br />z_37[0] | ||
+ | |style="background:rgb(255,255,204)" | 1 byte | ||
+ | |style="background:rgb(255,255,204)" | Needs more research. | ||
+ | 0x01: <br /> | ||
+ | 0x02: <br /> | ||
+ | 0x04: Red Submarine Tutorial<br /> | ||
+ | 0x08: <br /> | ||
+ | 0x10: <br /> | ||
+ | 0x20: <br /> | ||
+ | 0x40: <br /> | ||
+ | 0x80: | ||
+ | |- | ||
+ | |style="background:rgb(255,205,154)" | 0x0F2B<br />z_37[1] | ||
+ | |style="background:rgb(255,255,204)" | 1 bytes | ||
+ | |style="background:rgb(255,255,204)" | 0x20: World map Ruby Weapon form. bit=0: Small Form (before first encounter). bit=1: Big Form (after first encounter). | ||
+ | |- | ||
+ | |style="background:rgb(255,205,154)" | 0x0F3A<br />z_37[16] | ||
+ | |style="background:rgb(255,255,204)" | 1 bytes | ||
+ | |style="background:rgb(255,255,204)" | Rand number between 0,1,2. Is set when you change field map. ex: enter a town. | ||
+ | |- | ||
+ | |style="background:rgb(255,255,204)" | 0x0F5C | ||
+ | |style="background:rgb(255,255,204)" | 3 bytes | ||
+ | |style="background:rgb(255,255,204)" | Party leader's coordinates on world map:<br /> Party leader X position on the world map (X coord). Value from 0 up to 295000<br /> | ||
+ | 000000: 0x000000<br /> | ||
+ | 065535: 0xFFFF00 | 065536: 0x000001<br /> | ||
+ | 131071: 0xFFFF01 | 131072: 0x000002<br /> | ||
+ | 196607: 0xFFFF02 | 196608: 0x000003<br /> | ||
+ | 262143: 0xFFFF03 | 262144: 0x000004<br /> | ||
+ | 295000: 0x588004 | ||
+ | |- | ||
+ | |style="background:rgb(255,255,204)" | 0x0F5F | ||
+ | |style="background:rgb(255,255,204)" | 1 bytes | ||
+ | |style="background:rgb(255,255,204)" | Party leader viewing direction angle on the world map. Value from 0 up to 255 to cover 0 - 359°<br /> | ||
+ | |- | ||
+ | |style="background:rgb(255,255,204)" | 0x0F60 | ||
+ | |style="background:rgb(255,255,204)" | 3 bytes | ||
+ | |style="background:rgb(255,255,204)" | Party leader Y position on the world map (Y coord). Value from 1 up to 230000<br /> | ||
+ | 000001: 0x01003C<br /> | ||
+ | 065535: 0xFFFF3C | 065536: 0x00003D<br /> | ||
+ | 131071: 0xFFFF3D | 131072: 0x00003E<br /> | ||
+ | 196607: 0xFFFF3E | 196608: 0x00003F<br /> | ||
+ | 230000: 0x70823F | ||
+ | |- | ||
+ | |style="background:rgb(255,255,204)" | 0x0F63 | ||
+ | |style="background:rgb(255,255,204)" | 1 bytes | ||
+ | |style="background:rgb(255,255,204)" | Party leader Z altitude on the world map (Z coord). Input value from -128 up to 127 are allowed (0 = Mean Sea Level) | ||
|- | |- | ||
− | | | + | | 0x0F64 |
− | | | + | | 8 bytes |
− | | | + | | Caught Wild Chocobo's coordinates on world map |
|- | |- | ||
− | | | + | | 0x0F6C |
− | | | + | | 8 bytes |
− | | | + | | Tiny Bronco/Chocobo's coordinates on world map |
|- | |- | ||
− | | | + | | 0x0F74 |
− | | | + | | 8 bytes |
− | | | + | | Buggy/Highwind's coordinates on world map |
|- | |- | ||
− | | | + | | 0x0F7C |
− | | | + | | 8 bytes |
− | | | + | | Submarine/???'s coordinates on world map |
|- | |- | ||
− | | | + | | 0x0F84 |
− | | | + | | 8 bytes |
− | | | + | | Diamond=>Ultimate=>Ruby Weapon's coordinates on world map (ruby is bound To the desert) |
+ | <!-- | ||
|- | |- | ||
− | |style="background:rgb(255,255,204)" | | + | |style="background:rgb(255,255,204)" | <del>0x0F90</del> |
− | |style="background:rgb(255,255,204)" | | + | |style="background:rgb(255,255,204)" | <del>8 bytes</del> |
− | |style="background:rgb(255,255,204)" | | + | |style="background:rgb(255,255,204)" | <del>Emerald? Weapon's coordinates on world map</del> |
+ | --> | ||
|- | |- | ||
− | |style="background:rgb(255,255,204)" | | + | |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)" | | + | |style="background:rgb(255,255,204)" | 1<sup>st</sup> Snow Pole X Coordinate. |
|- | |- | ||
− | |style="background:rgb(255,255,204)" | | + | |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)" | | + | |style="background:rgb(255,255,204)" | 1<sup>st</sup> Snow Pole Y Coordinate. |
|- | |- | ||
− | |style="background:rgb(255,255,204)" | | + | |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)" | | + | |style="background:rgb(255,255,204)" | 2<sup>nd</sup> Snow Pole X Coordinate. |
|- | |- | ||
− | |style="background:rgb(255,255,204)" | | + | |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)" | | + | |style="background:rgb(255,255,204)" | 2<sup>nd</sup> Snow Pole Y Coordinate. |
|- | |- | ||
− | |style="background:rgb(255,255,204)" | | + | |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)" | | + | |style="background:rgb(255,255,204)" | 3<sup>ed</sup> Snow Pole X Coordinate. |
|- | |- | ||
− | |style="background:rgb(255,255,204)" | | + | |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)" | | + | |style="background:rgb(255,255,204)" | 3<sup>ed</sup> Snow Pole Y Coordinate. |
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
− | | | + | |style="background:rgb(255,205,154)" | 0x0F98 |
− | | | + | |style="background:rgb(255,205,154)" | 12/236 bytes |
− | | | + | |style="background:rgb(255,205,154)" | z_38 Unknown[0-11] First 12 bytes of 236 (ENDS AT 0x1083 224 Bytes into next bank) |
|- | |- | ||
− | |style="background:rgb(255, | + | |style="background:rgb(255,205,154)" | 0x0F9C<br />z_38[4] |
− | |style="background:rgb(255,255,204)" | | + | |style="background:rgb(255,255,204)" | 1 bytes |
− | |style="background:rgb(255,255,204)" | | + | |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°) this value should be 0. |
|- | |- | ||
− | |style="background:rgb(255, | + | |style="background:rgb(255,205,154)" | 0x0F9D<br />z_38[5] |
− | |style="background:rgb(255,255,204)" | | + | |style="background:rgb(255,255,204)" | 1 bytes |
− | |style="background:rgb(255,255,204)" | | + | |style="background:rgb(255,255,204)" | Top-view (ca. 45°). Determines the camera's position. |
|- | |- | ||
− | |style="background:rgb(255, | + | |style="background:rgb(255,205,154)" | 0x0F9C<br />z_38[4] |
− | |style="background:rgb(255,255,204)" | | + | |style="background:rgb(255,255,204)" | 2 bytes |
− | |style="background:rgb(255,255,204)" | | + | |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, | + | |style="background:rgb(255,205,154)" | 0x0F9F<br />z_38[6] |
− | |style="background:rgb(255,255,204)" | | + | |style="background:rgb(255,255,204)" | 2 bytes |
− | |style="background:rgb(255,255,204)" | | + | |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, | + | |style="background:rgb(255,205,154)" | 0x0FA0<br />z_38[8] |
− | | | + | | 1 bytes |
− | | | + | | Wild Chocobo Type.<br /> |
+ | Value is set when Chocobo is caught and used after Chocobo is sent to cage.<br /> | ||
+ | Index is the byte's value and not the bit-mask.<br /> | ||
+ | 0x00: Chocobo not displayed in cage<br /> | ||
+ | 0x01: Wonderful<br /> | ||
+ | 0x02: Great<br /> | ||
+ | 0x03: Good<br /> | ||
+ | 0x04: Fair<br /> | ||
+ | 0x05: Average<br /> | ||
+ | 0x06: Poor<br /> | ||
+ | 0x07: Bad<br /> | ||
+ | 0x08: Terrible<br /> | ||
+ | Over 08 = Choco Billy's rating window not displayed | ||
|- | |- | ||
− | |style="background:rgb(255, | + | |style="background:rgb(255,205,154)" | 0x0FA1<br />z_38[9] |
− | |style="background:rgb(255,255,204)" | | + | |style="background:rgb(255,255,204)" | 1 bytes |
− | |style="background:rgb(255,255,204)" | | + | |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, | + | |style="background:rgb(255,205,154)" | 0x0FA3<br />z_38[11] |
− | |style="background:rgb(255, | + | |style="background:rgb(255,205,154)" | 1 bytes |
− | |style="background:rgb(255, | + | |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, | + | |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, | + | |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 | ||
|- | |- | ||
− | | | + | |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)" | | + | |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)" | | + | |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)" | | + | |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)" | | + | |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: | |
− | + | QQQQQQQXXXXXXXXX | |
− | + | Where X is the index and Q is the quantity. | |
There are a total of 320 item slots in the save map and a total of 320 objects that are stored there, some of which are dummy items. The objects are indexed like this:<br> | 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 | + | 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 | + | 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 | ||
− | |||
|- | |- | ||
+ | |0x00 | ||
|MP Plus | |MP Plus | ||
|Independent | |Independent | ||
− | |||
|- | |- | ||
+ | |0x01 | ||
|HP Plus | |HP Plus | ||
|Independent | |Independent | ||
− | |||
|- | |- | ||
+ | |0x02 | ||
|Speed Plus | |Speed Plus | ||
|Independent | |Independent | ||
− | |||
|- | |- | ||
+ | |0x03 | ||
|Magic Plus | |Magic Plus | ||
|Independent | |Independent | ||
− | |||
|- | |- | ||
+ | |0x04 | ||
|Luck Plus | |Luck Plus | ||
|Independent | |Independent | ||
− | |||
|- | |- | ||
+ | |0x05 | ||
|EXP Plus | |EXP Plus | ||
|Independent | |Independent | ||
− | |||
|- | |- | ||
+ | |0x06 | ||
|Gil Plus | |Gil Plus | ||
|Independent | |Independent | ||
− | |||
|- | |- | ||
+ | |0x07 | ||
|Enemy Away | |Enemy Away | ||
|Independent | |Independent | ||
− | |||
|- | |- | ||
+ | |0x08 | ||
|Enemy Lure | |Enemy Lure | ||
|Independent | |Independent | ||
− | |||
|- | |- | ||
+ | |0x09 | ||
|Chocobo Lure | |Chocobo Lure | ||
|Independent | |Independent | ||
− | |||
|- | |- | ||
+ | |0x0B | ||
|Long Range | |Long Range | ||
|Independent | |Independent | ||
− | |||
|- | |- | ||
+ | |0x0C | ||
|Mega All | |Mega All | ||
|Independent | |Independent | ||
− | |||
|- | |- | ||
+ | |0x0D | ||
|Counter Attack | |Counter Attack | ||
|Independent | |Independent | ||
− | |||
|- | |- | ||
+ | |0x0E | ||
|Slash-All | |Slash-All | ||
|Command | |Command | ||
− | |||
|- | |- | ||
+ | |0x0F | ||
|Double Cut | |Double Cut | ||
− | | | + | |Command |
− | |||
|- | |- | ||
+ | |0x0A | ||
|Pre-emptive | |Pre-emptive | ||
|Independent | |Independent | ||
− | | | + | |- |
− | | | + | |0x10 |
|Cover | |Cover | ||
|Independent | |Independent | ||
− | |||
|- | |- | ||
+ | |0x11 | ||
|Underwater | |Underwater | ||
|Independent | |Independent | ||
− | |||
|- | |- | ||
+ | |0x12 | ||
|HP <-> MP | |HP <-> MP | ||
|Independent | |Independent | ||
− | |||
|- | |- | ||
+ | |0x13 | ||
|W-Magic | |W-Magic | ||
|Command | |Command | ||
− | |||
|- | |- | ||
+ | |0x14 | ||
|W-Summon | |W-Summon | ||
|Command | |Command | ||
− | |||
|- | |- | ||
+ | |0x15 | ||
|W-Item | |W-Item | ||
|Command | |Command | ||
− | |||
|- | |- | ||
+ | |0x16 | ||
|Unknown | |Unknown | ||
|Placeholder? | |Placeholder? | ||
− | |||
|- | |- | ||
+ | |0x17 | ||
|All | |All | ||
|Support | |Support | ||
− | |||
|- | |- | ||
+ | |0x18 | ||
|Counter | |Counter | ||
|Support | |Support | ||
− | |||
|- | |- | ||
+ | |0x19 | ||
|Magic Counter | |Magic Counter | ||
|Support | |Support | ||
− | |||
|- | |- | ||
+ | |0x1A | ||
|MP Turbo | |MP Turbo | ||
|Support | |Support | ||
− | |||
|- | |- | ||
+ | |0x1B | ||
|MP Absorb | |MP Absorb | ||
|Support | |Support | ||
− | |||
|- | |- | ||
+ | |0x1C | ||
|HP Absorb | |HP Absorb | ||
|Support | |Support | ||
− | |||
|- | |- | ||
+ | |0x1D | ||
|Elemental | |Elemental | ||
|Support | |Support | ||
− | |||
|- | |- | ||
+ | |0x1E | ||
|Added Effect | |Added Effect | ||
|Support | |Support | ||
− | |||
|- | |- | ||
+ | |0x1F | ||
|Sneak Attack | |Sneak Attack | ||
|Support | |Support | ||
− | |||
|- | |- | ||
+ | |0x20 | ||
|Final Attack | |Final Attack | ||
|Support | |Support | ||
− | |||
|- | |- | ||
+ | |0x21 | ||
|Added Cut | |Added Cut | ||
|Support | |Support | ||
− | |||
|- | |- | ||
+ | |0x22 | ||
|Steal As Well | |Steal As Well | ||
|Support | |Support | ||
− | |||
|- | |- | ||
+ | |0x23 | ||
|Quadra Magic | |Quadra Magic | ||
|Support | |Support | ||
− | |||
|- | |- | ||
+ | |0x24 | ||
|Steal | |Steal | ||
|Command | |Command | ||
− | |||
|- | |- | ||
+ | |0x25 | ||
|Sense | |Sense | ||
|Command | |Command | ||
− | |||
|- | |- | ||
+ | |0x26 | ||
|Unknown | |Unknown | ||
|Placeholder? | |Placeholder? | ||
− | |||
|- | |- | ||
+ | |0x27 | ||
|Throw | |Throw | ||
|Command | |Command | ||
− | |||
|- | |- | ||
+ | |0x28 | ||
|Morph | |Morph | ||
|Command | |Command | ||
− | |||
|- | |- | ||
+ | |0x29 | ||
|Deathblow | |Deathblow | ||
|Command | |Command | ||
− | |||
|- | |- | ||
+ | |0x2A | ||
|Manipulate | |Manipulate | ||
|Command | |Command | ||
− | |||
|- | |- | ||
+ | |0x2B | ||
|Mime | |Mime | ||
|Command | |Command | ||
− | |||
|- | |- | ||
+ | |0x2C | ||
|Enemy Skill | |Enemy Skill | ||
|Command | |Command | ||
− | |||
|- | |- | ||
− | |Unknown | + | |0x2D |
+ | |Unknown | ||
|Placeholder? | |Placeholder? | ||
− | |||
|- | |- | ||
− | |Unknown | + | |0x2E |
+ | |Unknown | ||
|Placeholder? | |Placeholder? | ||
− | |||
|- | |- | ||
− | |Unknown | + | |0x2F |
+ | |Unknown | ||
|Placeholder? | |Placeholder? | ||
− | |||
|- | |- | ||
+ | |0x30 | ||
|Master Command | |Master Command | ||
|Command | |Command | ||
− | |||
|- | |- | ||
+ | |0x31 | ||
|Fire | |Fire | ||
|Magic | |Magic | ||
− | |||
|- | |- | ||
+ | |0x32 | ||
|Ice | |Ice | ||
|Magic | |Magic | ||
− | |||
|- | |- | ||
+ | |0x33 | ||
|Earth | |Earth | ||
|Magic | |Magic | ||
− | |||
|- | |- | ||
+ | |0x34 | ||
|Lightning | |Lightning | ||
|Magic | |Magic | ||
− | |||
|- | |- | ||
+ | |0x35 | ||
|Restore | |Restore | ||
|Magic | |Magic | ||
− | |||
|- | |- | ||
+ | |0x36 | ||
|Heal | |Heal | ||
|Magic | |Magic | ||
− | |||
|- | |- | ||
+ | |0x37 | ||
|Revive | |Revive | ||
|Magic | |Magic | ||
− | |||
|- | |- | ||
+ | |0x38 | ||
|Seal | |Seal | ||
|Magic | |Magic | ||
− | |||
|- | |- | ||
+ | |0x39 | ||
|Mystify | |Mystify | ||
|Magic | |Magic | ||
− | |||
|- | |- | ||
+ | |0x3A | ||
|Transform | |Transform | ||
|Magic | |Magic | ||
− | |||
|- | |- | ||
+ | |0x3B | ||
|Exit | |Exit | ||
|Magic | |Magic | ||
− | |||
|- | |- | ||
+ | |0x3C | ||
|Poison | |Poison | ||
|Magic | |Magic | ||
− | |||
|- | |- | ||
+ | |0x3D | ||
|Demi | |Demi | ||
|Magic | |Magic | ||
− | |||
|- | |- | ||
+ | |0x3E | ||
|Barrier | |Barrier | ||
|Magic | |Magic | ||
− | |||
|- | |- | ||
− | |Unknown | + | |0x3F |
+ | |Unknown | ||
|Placeholder? | |Placeholder? | ||
− | |||
|- | |- | ||
+ | |0x40 | ||
|Comet | |Comet | ||
|Magic | |Magic | ||
− | |||
|- | |- | ||
+ | |0x41 | ||
|Time | |Time | ||
|Magic | |Magic | ||
− | |||
|- | |- | ||
− | |Unknown | + | |0x42 |
+ | |Unknown | ||
|Placeholder? | |Placeholder? | ||
− | |||
|- | |- | ||
− | |Unknown | + | |0x43 |
+ | |Unknown | ||
|Placeholder? | |Placeholder? | ||
− | |||
|- | |- | ||
+ | |0x44 | ||
|Destruct | |Destruct | ||
|Magic | |Magic | ||
− | |||
|- | |- | ||
+ | |0x45 | ||
|Contain | |Contain | ||
|Magic | |Magic | ||
− | |||
|- | |- | ||
+ | |0x46 | ||
|FullCure | |FullCure | ||
|Magic | |Magic | ||
− | |||
|- | |- | ||
+ | |0x47 | ||
|Shield | |Shield | ||
|Magic | |Magic | ||
− | |||
|- | |- | ||
+ | |0x48 | ||
|Ultima | |Ultima | ||
|Magic | |Magic | ||
− | |||
|- | |- | ||
+ | |0x49 | ||
|Master Magic | |Master Magic | ||
|Magic | |Magic | ||
− | |||
|- | |- | ||
+ | |0x4A | ||
|Choco/Mog | |Choco/Mog | ||
|Summon | |Summon | ||
− | |||
|- | |- | ||
+ | |0x4B | ||
|Shiva | |Shiva | ||
|Summon | |Summon | ||
− | |||
|- | |- | ||
+ | |0x4C | ||
|Ifrit | |Ifrit | ||
|Summon | |Summon | ||
− | |||
|- | |- | ||
+ | |0x4D | ||
|Ramuh | |Ramuh | ||
|Summon | |Summon | ||
− | |||
|- | |- | ||
+ | |0x4E | ||
|Titan | |Titan | ||
|Summon | |Summon | ||
− | |||
|- | |- | ||
+ | |0x4F | ||
|Odin | |Odin | ||
|Summon | |Summon | ||
− | |||
|- | |- | ||
+ | |0x50 | ||
|Leviathan | |Leviathan | ||
|Summon | |Summon | ||
− | |||
|- | |- | ||
+ | |0x51 | ||
|Bahamut | |Bahamut | ||
|Summon | |Summon | ||
− | |||
|- | |- | ||
+ | |0x52 | ||
|Kujata | |Kujata | ||
|Summon | |Summon | ||
− | |||
|- | |- | ||
+ | |0x53 | ||
|Alexander | |Alexander | ||
|Summon | |Summon | ||
− | |||
|- | |- | ||
+ | |0x54 | ||
|Phoenix | |Phoenix | ||
|Summon | |Summon | ||
− | |||
|- | |- | ||
+ | |0x55 | ||
|Neo Bahamut | |Neo Bahamut | ||
|Summon | |Summon | ||
− | |||
|- | |- | ||
+ | |0x56 | ||
|Hades | |Hades | ||
|Summon | |Summon | ||
− | |||
|- | |- | ||
+ | |0x57 | ||
|Typhoon | |Typhoon | ||
|Summon | |Summon | ||
− | |||
|- | |- | ||
+ | |0x58 | ||
|Bahamut ZERO | |Bahamut ZERO | ||
|Summon | |Summon | ||
− | |||
|- | |- | ||
+ | |0x59 | ||
|Knights of Round | |Knights of Round | ||
|Summon | |Summon | ||
− | |||
|- | |- | ||
+ | |0x5A | ||
|Master Summon | |Master Summon | ||
|Summon | |Summon | ||
− | |||
|- | |- | ||
+ | |0xFF | ||
|Empty Slot | |Empty Slot | ||
|NONE | |NONE | ||
− | |||
|} | |} | ||
== 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
Contents
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.
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) | ||||||||||
| ||||||||||||
0x10A6 | 2 bytes | PHS Visibility Mask (does not turn off party characters) | ||||||||||
| ||||||||||||
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
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. | |||||||||||
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) | |||||||||||
| |||||||||||||
0x0BC2 |
2 bytes | Menu Locking Mask (1: Locked) (Quit not affected) | |||||||||||
| |||||||||||||
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). | |||||||||||
0x0BD4 | 1 byte | Item bit mask (LBS)(applied when you pick them up).
Field Item / Materia | |||||||||||
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). | |||||||||||
0x0BDD z_10[7] |
1 byte | Field Items, Shinra HQ Item bit mask (LBS) (applied when you pick them up). | |||||||||||
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). | |||||||||||
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 | |||||||||||
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). | |||||||||||
0x0C23 z_15[3] |
1 byte | Vehicle display value on world map (LBS). Note: if disk is different than 1, buggy is invisible. | |||||||||||
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). | |||||||||||
0x0C45 z_16[33] |
1 byte | Progress items, Wallmarket (LBS). Bit=0(Item not obtained), Bit=1(Item obtained). | |||||||||||
0x0C46 z_16[34] |
1 byte | Progress items, Wallmarket (LBS). Bit=0(Item not obtained), Bit=1(Item obtained). | |||||||||||
0x0C48 z_16[36] |
1 byte | Field Objects, Sector 7 Train Graveyard (LBS) (so far) Bit=0(Original Position), Bit=1(Moved). | |||||||||||
0x0C49 z_16[37] |
1 byte | Field Items, Sector 7 Wall Market Items bit mask (LBS) | |||||||||||
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). | |||||||||||
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
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). |
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). |
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). |
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). |
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). |
0x0D49 z_24[2] |
1 byte | Conversations mask, Shinra HQ (LBS)(applied when you speak). Bit=0(Not spoken to), Bit=1(Spoken to). |
0x0D4A z_24[3] |
1 byte | Conversations mask, Shinra HQ (LBS)(applied when you speak). Bit=0(Not spoken to), Bit=1(Spoken to). |
0x0D4C z_24[5] |
1 byte | Conversations mask, Shinra HQ (LBS)(applied when you speak). Bit=0(Not spoken to), Bit=1(Spoken to). |
0x0D50 z_24[9] |
1 byte | Items mask, Shinra HQ (LBS)(applied when you speak). Bit=0(Item on floor), Bit=1(Item taken). |
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). |
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). |
0x0D58 z_24[17] |
1 byte | Conversations mask, Shinra HQ (LBS)(applied when you speak). Bit=0(Not spoken to), Bit=1(Spoken to). |
0x0D59 z_24[18] |
1 byte | Conversations mask, Shinra HQ (LBS)(applied when you speak). Bit=0(Not spoken to), Bit=1(Spoken to). |
0x0D5D z_24[22] |
1 byte | Conversations mask, Shinra HQ (LBS)(applied when you speak). Bit=0(Not spoken to), Bit=1(Spoken to). |
0x0D66 | 1 byte | Turtle Paradise Flyers Seen LSB 1 2 3 4 5 6 x x MSB (flyer#) 1=seen
0x01: Sector 7 Slums |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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). |
0x0D7C z_26[8] |
1 byte | MDS7ST3 event flags. 0x01: when everyone start run to hideout. |
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: |
Save Memory Bank B/C
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
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. |
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: |
0x0EF5 | 23 bytes | z_35 Unknown |
0x0EF6 z_35[1] |
1 byte | Vehicle Submarine 0x01: |
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 |
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: |
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 |
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 |
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 |
0x0FA0 z_38[8] |
1 bytes | Wild Chocobo Type. Value is set when Chocobo is caught and used after Chocobo is sent to cage. |
0x0FA1 z_38[9] |
1 bytes | Riding Byte. Index is the byte's value and not the bit-mask. |
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
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) |
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). |
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). |
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). |
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). |
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). |
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). |
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
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 |
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
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
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.