Difference between revisions of "FF7/Savemap"
(Key Item List (from dziugo's forum post)) |
|||
Line 2,541: | Line 2,541: | ||
| Empty Slot | | Empty Slot | ||
| NONE | | NONE | ||
+ | |} | ||
+ | |||
+ | == Key Item List == | ||
+ | |||
+ | Key Items are stored in Bank 1 of the Savemap, one bit for each item. Bit ON - party has the item. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |+ '''Table 1: Key Items List''' | ||
+ | |- | ||
+ | ! Variable | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0BE4<br>Var 64 | ||
+ | | | ||
+ | 0x01: Cotton Dress<br /> 0x02: Satin Dress<br /> 0x04: Silk Dress<br /> 0x08: Wig<br /> 0x10: Dyed Wig<br /> 0x20: Blonde Wig<br /> 0x40: Glass Tiara<br /> 0x80: Ruby Tiara | ||
+ | |- | ||
+ | | 0x0BE5<br>Var 65 | ||
+ | | | ||
+ | 0x01: Diamond Tiara<br /> 0x02: Cologne<br /> 0x04: Flower cologne<br /> 0x08: Sexy Cologne<br /> 0x10: Member's Card<br /> 0x20: Lingerie<br /> 0x40: Mystery panties<br /> 0x80: Bikini briefs | ||
+ | |- | ||
+ | | 0x0BE6<br>Var 66 | ||
+ | | | ||
+ | 0x01: Pharmacy Coupon<br /> 0x02: Disinfectant<br /> 0x04: Deodorant<br /> 0x08: Digestive<br /> 0x10: Huge Materia (Fort Condor)<br /> 0x20: Huge Materia (Corel)<br /> 0x40: Huge Materia (Underwater)<br /> 0x80: Huge Materia (rocket) | ||
+ | |- | ||
+ | | 0x0BE7<br>Var 67 | ||
+ | | | ||
+ | 0x01: Key to Ancients<br /> 0x02: Letter to a Daughter<br /> 0x04: Letter to a Wife<br /> 0x08: Lunar Harp<br /> 0x10: Basement Key<br /> 0x20: Key to Sector 5<br /> 0x40: Keycard 60<br /> 0x80: Keycard 62 | ||
+ | |- | ||
+ | | 0x0BE8<br>Var 68 | ||
+ | | | ||
+ | 0x01: Keycard 65<br /> 0x02: Keycard 66<br /> 0x04: Keycard 68<br /> 0x08: Midgar parts<br /> 0x10: Midgar parts<br /> 0x20: Midgar parts<br /> 0x40: Midgar parts<br /> 0x80: Midgar parts | ||
+ | |- | ||
+ | | 0x0BE9<br>Var 69 | ||
+ | | | ||
+ | 0x01: PHS<br /> 0x02: Gold Ticket<br /> 0x04: Keystone<br /> 0x08: Leviathan Scales<br /> 0x10: Glacier Map<br /> 0x20: A Coupon<br /> 0x40: B Coupon<br /> 0x80: C Coupon | ||
+ | |- | ||
+ | | 0x0BEA<br>Var 70 | ||
+ | | | ||
+ | 0x01: Black Materia<br /> 0x02: Mythril<br /> 0x04: Snowboard | ||
|} | |} | ||
Revision as of 10:10, 24 May 2020
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(4) bytes |
Checksum (how to generate) | ||||||||||
0x0004 | 1 byte | Save Preview: Lead character's level | ||||||||||
0x0005 | 1 byte | Save 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 | Save Preview: 2nd character's portrait | ||||||||||
0x0007 | 1 byte | Save Preview: 3rd character's portrait | ||||||||||
0x0008 | 16 bytes |
Save Preview: Lead character's name, FF Text format , terminated with 0xFF | ||||||||||
0x0018 | 2 bytes | Save Preview: Lead character's current HP | ||||||||||
0x001A | 2 bytes | Save Preview: Lead character's max HP | ||||||||||
0x001C | 2 bytes | Save Preview: Lead character's current MP | ||||||||||
0x001E | 2 bytes | Save Preview: Lead character's max MP | ||||||||||
0x0020 | 4 bytes | Save Preview: Amount of Gil | ||||||||||
0x0024 | 4 bytes | Save Preview: Total number of seconds played | ||||||||||
0x0028 | 32 bytes |
Save 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 | ||||||||||
0x00D8 | 132 bytes | Character Record: Barret | ||||||||||
0x015C | 132 bytes | Character Record: Tifa | ||||||||||
0x01E0 | 132 bytes | Character Record: Aeris's | ||||||||||
0x0264 | 132 bytes | Character Record: Red XIII | ||||||||||
0x02E8 | 132 bytes | Character Record: Yuffie | ||||||||||
0x036C | 132 bytes | Character Record: Cait Sith (or Young Cloud) | ||||||||||
0x03F0 | 132 bytes | Character Record: Vincent (or Sephiroth) | ||||||||||
0x0474 | 132 bytes | Character Record: Cid | ||||||||||
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 | Alignment (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 | 4 bytes | Countdown Timer (in seconds) | ||||||||||
0x0B88 | 12 bytes | z_4 Unknown | ||||||||||
0x0B88 z_4[0] |
4 byte |
Used to calculate fractions of seconds (1/65535) of Game timer (0x0B80). | ||||||||||
0x0B8C z_4[4] |
4 byte |
Used to calculate fractions of seconds (1/65535) of Countdown timer (0x0B84). | ||||||||||
0x0B90 z_4[8] |
4 byte |
This is set along with Current map value (0x0B94). | ||||||||||
0x0B94 | 2 bytes |
Current module | ||||||||||
0x0B96 | 2 bytes | Current location | ||||||||||
0x0B98 | 2 bytes | Alignment (Always 0x00) | ||||||||||
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]) | ||||||||||
0x0BA3 z_6[2] |
1 byte | Alignment (Always 0x00) | ||||||||||
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 | |||||||||||
0x0BAB z_8[0] |
1 byte |
1st temp party member char ID placeholder | |||||||||||
0x0BAC z_8[1] |
1 byte | 2nd temp party member char ID placeholder | |||||||||||
0x0BAD z_8[2] |
1 byte | 3ed temp party member char ID placeholder | |||||||||||
0x0BAE z_8[3] |
6 byte | Unknown (Always 0x00?) | |||||||||||
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 Frames. 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 | |||||||||||
0x0BBA z_8[15] |
1 bytes | Countdown Timer Seconds | |||||||||||
0x0BBB z_8[16] |
1 bytes | Countdown Timer Frames. From 0 to 30 (dec) in one sec. | |||||||||||
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 | |||||||||||
0x0BC4 z_9[0] |
4 byte | Unknown (Always 0x00?) | |||||||||||
0x0BC8 z_9[4] |
1 byte |
Field Items, Sector 7 Train Graveyard | |||||||||||
0x0BC9 z_9[5] |
1 byte |
Field Items | |||||||||||
0x0BCA z_9[6] |
10 byte | Unknown (Always 0x00?) | |||||||||||
0x0BD4 | 1 byte |
Item bit mask (LBS)(applied when you pick them up). Field Item / Materia | |||||||||||
0x0BD5 | 1 byte |
Materia Cave / Northern Cave (Item bit mask) | |||||||||||
0x0BD6 | 14 bytes | z_10 Unknown | |||||||||||
0x0BD6 z_10[0] |
1 byte |
Field Items Northern Cave | |||||||||||
0x0BD7 z_10[1] |
1 byte |
Field Items | |||||||||||
0x0BD8 z_10[2] |
4 byte | Unknown (Always 0x00?) | |||||||||||
0x0BDC z_10[6] |
1 byte |
Field Items, Sector 7 Wall Market and Shinra HQ | |||||||||||
0x0BDD z_10[7] |
1 byte |
Field Items, Shinra HQ | |||||||||||
0x0BDE z_10[8] |
1 byte |
Field Items | |||||||||||
0x0BDF z_10[9] |
1 byte |
Field Items | |||||||||||
0x0BE0 z_10[10] |
4 byte | Unknown (Always 0x00?) | |||||||||||
0x0BE4 | 8 bytes | Key items [see Key Item List] | |||||||||||
0x0BEC | 8 bytes | z_11 Unknown | |||||||||||
0x0BEC z_11[0] |
1 byte | Northern Cave - Progress (TODO: more info) | |||||||||||
0x0BED z_11[1] |
1 byte | Unknown (Always 0x00?) | |||||||||||
0x0BEE z_11[2] |
1 byte | Northern Cave - Progress (TODO: more info) | |||||||||||
0x0BEF z_11[3] |
1 byte |
Items mask, Chocobo Farm (LBS)(applied when you take the item). | |||||||||||
0x0BF0 z_11[4] |
4 byte | Unknown (Always 0x00?) | |||||||||||
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 |
Northern Cave, bit mask | |||||||||||
0x0C14 z_14[18] |
2 bytes | Current Battle Points (Battle Square) | |||||||||||
0x0C18 z_14[22] |
1 byte | Current Number of Battles Won (Battle Square) | |||||||||||
0x0C1E | 1 bytes |
Needs more research. (bit=0: show tutorial. bit=1: hide tutorial.) | |||||||||||
0x0C1F | 1 bytes |
Weapons Killed | |||||||||||
0x0C20 | 4 bytes | z_15 Unknown | |||||||||||
0x0C20 z_15[0] |
1 byte |
Which Chocobo was taken out from the stable. | |||||||||||
0x0C21 z_15[1] |
1 byte |
Riding off wild chocobo dialog options. | |||||||||||
0x0C22 z_15[2] |
1 byte |
Chocobo display value on world map (LBS). | |||||||||||
0x0C23 z_15[3] |
1 byte |
Vehicle display value on world map (LBS). | |||||||||||
0x0C24 | 97 bytes | z_16 Unknown | |||||||||||
0x0C24 z_16[0] |
1 byte |
Field mask, Corel (LBS)(applied when you take the item). | |||||||||||
0x0C25 z_16[1] |
1 byte |
Field mask (LBS)(applied when you take the item). | |||||||||||
0x0C26 z_16[2] |
1 byte |
Field mask (LBS)(applied when you take the item). | |||||||||||
0x0C27 z_16[3] |
1 byte |
Field mask (LBS)(applied when you take the item). | |||||||||||
0x0C28 z_16[4] |
1 byte |
Field mask (LBS)(applied when you take the item). | |||||||||||
0x0C29 z_16[5] |
1 byte |
Field mask, Whirlwind Maze (LBS)(applied when you take the item). | |||||||||||
0x0C2A z_16[6] |
1 byte |
Field mask, Whirlwind Maze (LBS)(applied when you take the item). | |||||||||||
0x0C2B z_16[7] |
1 byte |
Field mask, Whirlwind Maze (LBS)(applied when you take the item). | |||||||||||
0x0C44 z_16[32] |
1 byte |
Progress items, Wallmarket (LBS). | |||||||||||
0x0C45 z_16[33] |
1 byte |
Progress items, Wallmarket (LBS). | |||||||||||
0x0C46 z_16[34] |
1 byte |
Progress items, Wallmarket (LBS). | |||||||||||
0x0C47 z_16[35] |
1 byte |
Ms. Cloud Bauty level (Don Corneo choice) (0 to 25 Points) | |||||||||||
0x0C48 z_16[36] |
1 byte |
Field Objects, Sector 7 Train Graveyard (LBS) (so far) | |||||||||||
0x0C49 z_16[37] |
1 byte |
Field Items, Sector 7 Wall Market | |||||||||||
0x0C4A z_16[38] |
1 byte | Number of Fort Condor Battles Fought | |||||||||||
0x0C4B z_16[39] |
1 byte | Number of Fort Condor Battles Won | |||||||||||
0x0C4C z_16[40] |
1 byte |
Progress, Fort Condor | |||||||||||
0x0C4D z_16[41] |
1 byte |
Battle Rank (Battle difficulty), Fort Condor | |||||||||||
0x0C4E z_16[42] |
1 byte |
Number of Allies left, Fort Condor | |||||||||||
0x0C4F z_16[43] |
1 byte | Number of Enemies killed, Fort Condor | |||||||||||
0x0C50 z_16[44] |
1 byte |
Battle result, Fort Condor | |||||||||||
0x0C51 z_16[45] |
2 bytes |
Game Progres Temp Var, Fort Condor {convil_4/mihari/s1} | |||||||||||
0x0C53 z_16[47] |
1 bytes |
Number of Enemies left alive in the battle field, Fort Condor | |||||||||||
0x0C54 z_16[48] |
1 byte |
Progress, Fort Condor | |||||||||||
0x0C55 z_16[49] |
1 byte |
Progress & Battle Reward, Fort Condor | |||||||||||
0x0C56 z_16[50] |
1 byte |
Progress, Fort Condor | |||||||||||
0x0C57 z_16[51] |
1 byte |
Battle modifier linked with 0x0C4D, Fort Condor | |||||||||||
0x0C58 z_16[52] |
2 bytes | Fort Condor Funds | |||||||||||
0x0C5A z_16[54] |
1 byte | Number of Fort Condor Battles Lost | |||||||||||
0x0C5B z_16[55] |
1 byte |
Conversations mask (LBS)(applied when you speak). | |||||||||||
0x0C5C z_16[56] |
1 byte | Handle the map jumps to MOVE_S(670),MOVE_I,MOVE_F,MOVE_R,MOVE_U,MOVE_D, Great Glacier | |||||||||||
0x0C5D z_16[57] |
1 byte |
Progress, Great Glacier | |||||||||||
0x0C5E z_16[58] |
2 byte | Store Cloud MAPID, is used to know where to send you after seeing the Glacier Map, Great Glacier {hyoumap/init/s0} | |||||||||||
0x0C60 z_16[60] |
2 byte | Store Cloud position (X) right before you use the map, Great Glacier | |||||||||||
0x0C62 z_16[62] |
2 byte | Store Cloud position (Y) right before you use the map, Great Glacier | |||||||||||
0x0C64 z_16[64] |
2 byte | Store Cloud position (Z) right before you use the map, Great Glacier | |||||||||||
0x0C66 z_16[66] |
2 byte | Store Cloud position (triangle ID) right before you use the map, Great Glacier | |||||||||||
0x0C68 z_16[68] |
1 byte | Store Cloud direction right before you use the map, then restore it from it, Great Glacier | |||||||||||
0x0C69 z_16[69] |
1 byte | Is set to 1 when cloud pass-out, Great Glacier | |||||||||||
0x0C6A z_16[70] |
1 byte |
Cloud Pass-out Counter, Great Glacier | |||||||||||
0x0C6B z_16[71] |
1 byte |
Progress & Field item mask, Great Glacier | |||||||||||
0x0C74 z_16[80] |
1 byte |
Used to save user anwser in the debugroom {BLACKBG7/leave/s1} before Jump to map blin70_4 (No269) | |||||||||||
0x0C75 z_16[81] |
1 byte | Unknown is set to 0 in Wall Market {MRKT2/mapinit/s0} | |||||||||||
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 |
0x0CAD z_17[9] |
1 byte |
1st party member char ID mirror. Is a mirror of 0x04F8 (set from field module). |
0x0CAE z_17[10] |
1 byte |
2nd party member char ID mirror. Is a mirror of 0x04F9 (set from field module). |
0x0CAF z_17[11] |
1 byte |
3ed party member char ID mirror. Is a mirror of 0x04FA (set from field module). |
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 |
0x0CF0 z_20[0] |
1 byte | Chocobo Race - Times you lose (Only on Corel Prision Race){crcin/esto/s0} |
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 |
Choco Bill dialogs mask 0x01: If you talk him after meteor get summoned (only showed once) {FRMIN/jijii/s1} |
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). |
0x0D26 z_22[37] |
1 byte |
Conversations mask, Reactor under the plate (LBS)(applied when you speak). |
0x0D27 z_22[38] |
1 byte |
Conversations mask, Reactor under the plate (LBS)(applied when you speak). |
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). |
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). |
0x0D49 z_24[2] |
1 byte |
Conversations mask, Shinra HQ (LBS)(applied when you speak). |
0x0D4A z_24[3] |
1 byte |
Conversations mask, Shinra HQ (LBS)(applied when you speak). |
0x0D4C z_24[5] |
1 byte |
Conversations mask, Shinra HQ (LBS)(applied when you speak). |
0x0D50 z_24[9] |
1 byte |
Items mask, Shinra HQ (LBS)(applied when you speak). |
0x0D52 z_24[11] |
2 bytes |
Bits kept for the doors at floor 63, Shinra HQ (LBS)(applied when you speak). |
0x0D55 z_24[14] |
1 byte |
Item mask, Shinra HQ (LBS)(applied when you speak). |
0x0D56 z_24[15] |
1 byte |
Bits kept for some events on floor 63, Shinra HQ (LBS)(Really needs to be investigated). |
0x0D57 z_24[16] |
1 byte |
Conversations mask, Shinra HQ (LBS)(applied when you speak). |
0x0D58 z_24[17] |
1 byte |
Conversations mask, Shinra HQ (LBS)(applied when you speak). |
0x0D59 z_24[18] |
1 byte |
Conversations mask, Shinra HQ (LBS)(applied when you speak). |
0x0D5D z_24[22] |
1 byte |
Conversations mask, Shinra HQ (LBS)(applied when you speak). |
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 |
0x0D67 z_25[0] |
1 byte |
Conversations mask |
0x0D68 z_25[1] |
1 byte |
Northern Cave: Cloud Lv just before Jenova Synthesis battle start. |
0x0D69 z_25[2] |
1 byte | Northern Cave: Barret Lv just before Jenova Synthesis battle start. |
0x0D6A z_25[3] |
1 byte | Northern Cave: Tifa Lv just before Jenova Synthesis battle start. |
0x0D6B z_25[4] |
1 byte | Northern Cave: Red XII Lv just before Jenova Synthesis battle start. |
0x0D6C z_25[5] |
1 byte | Northern Cave: Yuffie Lv just before Jenova Synthesis battle start. |
0x0D6D z_25[6] |
1 byte | Northern Cave: Cait Sith Lv just before Jenova Synthesis battle start. |
0x0D6E z_25[7] |
1 byte | Northern Cave: Vincent Lv just before Jenova Synthesis battle start. |
0x0D6F z_25[8] |
1 byte | Northern Cave: Cid Lv just before Jenova Synthesis battle start. |
0x0D70 z_25[9] |
1 byte |
Bizarro Sephiroth Fight Number of Groups |
0x0D71 z_25[10] |
1 byte |
Bizarro Sephiroth Fight, some progress value |
0x0D72 z_25[11] |
1 byte |
Great Glacier Snowboard, taken path (Set the exit location where you land) {hyou1/event/s1} |
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. |
0x0D75 z_26[1] |
1 byte |
Conversations mask, MDS7 (LBS)(applied when you speak). |
0x0D76 z_26[2] |
1 byte |
Conversations mask, MDS7 (LBS)(applied when you speak). |
0x0D77 z_26[3] |
1 byte |
Conversations mask, MDS7 (LBS)(applied when you speak). |
0x0D78 z_26[4] |
1 byte |
Conversations mask, MDS7 (LBS)(applied when you speak). |
0x0D79 z_26[5] |
1 byte |
Conversations mask, MDS7 (LBS)(applied when you speak). |
0x0D7A z_26[6] |
1 byte |
Conversations mask, MDS7 (LBS)(applied when you speak). |
0x0D7B z_26[7] |
1 byte |
Items mask, Training room at sector 5 (LBS)(applied when you speak). |
0x0D7C z_26[8] |
1 byte |
MDS7ST3 event flags. |
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. |
Save Memory Bank B/C
Offset | Length | Description |
---|---|---|
0x0DA4 | 32/64 Bytes | z_27 Unknown[32-63] Last 32 bytes of 64 |
0x0DA4 z_27[32] |
6 bytes |
Chocobo Race - Chocobo Name (FF Text format) |
0x0DAA z_27[38] |
1 bytes |
Chocobo Race(G1) - Jockey |
0x0DAB z_27[39] |
1 bytes |
Chocobo Race(G1) - Course |
0x0DAC z_27[40] |
1 bytes |
Chocobo Race(G1) - Bet Selection Screen |
0x0DAD z_27[41] |
1 bytes |
Chocobo Race(G1) - ??? |
0x0DAE z_27[42] |
2 bytes |
Chocobo Race(G2) - Sprint Speed |
0x0DB0 z_27[44] |
2 bytes |
Chocobo Race(G2) - Speed |
0x0DB2 z_27[46] |
1 byte |
Chocobo Race(G2) - Acceleration |
0x0DB3 z_27[47] |
1 byte |
Chocobo Race(G2) - Cooperation |
0x0DB4 z_27[48] |
1 byte |
Chocobo Race(G2) - Intelligence |
0x0DB5 z_27[49] |
1 byte |
Chocobo Race(G2) - Type (Yellow, Green, Blue, Black, Gold) |
0x0DB6 z_27[50] |
1 byte |
Chocobo Race(G2) - Personality |
0x0DB7 z_27[51] |
1 byte |
Chocobo Race(G2) - ??? |
0x0DB8 z_27[52] |
1 byte |
Chocobo Race(G2) - ??? |
0x0DB9 z_27[53] |
1 byte |
Chocobo Race(G2) - ??? |
0x0DBA z_27[54] |
1 byte |
Chocobo Race(G2) - Joe/TEIOH Chalenge |
0x0DBB z_27[55] |
1 byte |
Chocobo Race(G2) - Selected Rank |
0x0DBC z_27[56] |
1 byte |
Chocobo Race - ??? |
0x0DBD z_27[57] |
1 byte |
Chocobo Race - Finish Place (0 to 5) |
0x0DBE z_27[58] |
2 bytes |
Chocobo Race(G2) - Stamina |
0x0DC0 z_27[60] |
1 bytes |
Chocobo Race(G1) - Winning Prize |
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 |
0x0E0C z_28[8] |
1 byte |
Change on Final Battle |
0x0E0E z_28[10] |
1 byte |
Yuffie Stolen Materia Quest - Disabled party members {YUFY1/YUFI} |
0x0E0F z_28[11] |
2 bytes | G-Bike Minigame Last Score {GAMES_2/dic} |
0x0E11 | 2 Bytes | G-Bike Minigame High Score |
0x0E13 | 1 Byte | UnSaved Snowboard Mini Game Temp Var. |
0x0E14 | 4 Bytes | Fastest Time For Snowboard Beginner Course. Format: MMSSTTT0 90 27 36 02 in the file is a time of 2'36"279 (value is 32bit int so will become 02362790 when read ) |
0x0E18 | 4 Bytes | Fastest Time For Snowboard Expert Course. See Beginner Course for more info |
0x0E1C | 4 Bytes | Fastest Time For Snowboard Crazy Course. See Beginner Course for more info |
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 |
0x0E28 z_29[0] |
1 bytes |
Mythril Side Quest/Chocobo Sage Side Quest |
0x0E29 z_29[1] |
1 byte |
Chocobo Sage Side Quest - Progression Variable 01: First time you talk to Chocobo Sage |
0x0E2A z_29[2] |
2 bytes | Number of battles to reach in order to unlock the next part of the Chocobo breeding tutorial |
0x0E2C z_29[4] |
1 bytes | Chocobo Sage Side Quest - Part of the random number of battles formula |
0x0E2D z_29[5] |
1 bytes | Unused? |
0x0E2E z_29[6] |
1 bytes |
Chocobo Race / Others |
0x0E2F z_29[7] |
1 bytes | Chocobo Race - Selected Chocobo Stable Position (0 to 5) |
0x0E30 z_29[8] |
1 bytes | Unused? |
0x0E2E z_29[6] |
1 bytes |
Northern Cave |
0x0E2F z_29[7] |
1 bytes |
Northern Cave |
0x0E30 z_29[8] |
1 bytes |
Northern Cave - Received items from party in the last talk |
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 Tifa's House 0x01: Final Heaven {niv_ti2/piano/s1} |
0x0EA6 | 1 Byte | Start Of Bombing Mission (0x14=Yes, 0x56=No) Northern Cave - Progress (TODO: more info) 0x94 |
0x0EA7 | 3 bytes | z_32 Unknown |
0x0EA7 z_32[0] |
1 bytes | Northern Cave - Progress (TODO: more info) |
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) |
0x0EF5 | 23 bytes | z_35 Unknown |
0x0EF6 z_35[1] |
1 byte |
Vehicle Submarine |
0x0EFD z_35[8] |
1 byte | Northern Cave - Yuffie Split up path |
0x0EFF z_35[10] |
1 byte |
Save flag. |
0x0F04 z_35[22] |
1 byte | Northern Cave - Progress (TODO: more info) |
0x0F05 z_35[23] |
1 byte | Northern Cave - Progress (TODO: more info) |
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: |
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 |
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. |
0x0F9F z_38[6] |
2 bytes |
Snow Pole Number/Where address will be overwritten by next pole (cycling 00, 01, 02, 00, 01, 02... ) |
0x0FA0 z_38[8] |
1 bytes |
Wild Chocobo Type. |
0x0FA1 z_38[9] |
1 bytes |
Riding Byte. |
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 |
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. |
0x0FC6 z_38[46] |
1 byte |
Items mask, Chocobo Farm (LBS)(applied when you take the item). |
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 |
0x0FF4 z_38[92] |
1 byte |
Items mask, Mythril Mine (LBS)(applied when you take the item). |
0x0FF5 z_38[93] |
1 byte |
Items mask, (LBS)(applied when you take the item). |
0x0FF6 z_38[94] |
1 byte |
Items mask, (LBS)(applied when you take the item). |
0x0FF9 z_38[97] |
1 byte |
Items mask, Kalm (LBS)(applied when you take the item). |
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). |
0x0FFD z_38[101] |
1 byte |
Items mask, Kalm (LBS)(applied when you take the item). |
0x0FFE z_38[102] |
1 byte |
Items mask, Mythril Mine (LBS)(applied when you take the item). |
0x1004 z_38[] |
1 byte | 1st party member char ID in Group 1. Final Boss Battle: Bizarro Sephiroth. |
0x1005 z_38[] |
1 byte | 2nd party member char ID in Group 1. Final Boss Battle: Bizarro Sephiroth. |
0x1006 z_38[] |
1 byte | 3ed party member char ID in Group 1. Final Boss Battle: Bizarro Sephiroth. |
0x1007 z_38[] |
1 byte | 1st party member char ID in Group 2. Final Boss Battle: Bizarro Sephiroth. |
0x1008 z_38[] |
1 byte | 2nd party member char ID in Group 2. Final Boss Battle: Bizarro Sephiroth. |
0x1009 z_38[] |
1 byte | 3ed party member char ID in Group 2. Final Boss Battle: Bizarro Sephiroth. |
0x100A z_38[] |
1 byte | 1st party member char ID in Group 3. Final Boss Battle: Bizarro Sephiroth. |
0x100B z_38[] |
1 byte | 2nd party member char ID in Group 3. Final Boss Battle: Bizarro Sephiroth. |
0x100C z_38[] |
1 byte | 3ed party member char ID in Group 3. Final Boss Battle: Bizarro Sephiroth. |
0x101E z_38[134] |
1 byte |
Items mask, Junon (LBS)(applied when you take the item). |
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 - Ignored If Not Cait / Vincent??? |
0x01 | 1 byte | Level (1-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) Games Gui Hides Values <4, 4-63 are visible as "progress" |
0x22 | 2 bytes |
Learned limit skills |
0x24 | 2 bytes | Number of kills |
0x26 | 2 bytes | Times limit 1-1 has been used |
0x28 | 2 bytes | Times limit 2-1 has been used |
0x2A | 2 bytes | Times limit 3-1 has been used |
0x2C | 2 bytes | Current HP |
0x2E | 2 bytes | Base HP (before materia alterations) |
0x30 | 2 bytes | Current MP |
0x32 | 2 bytes | Base MP (before materia alterations) |
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 and the quantity will not decrease unless an item is used or sold. Forcing the quantity to exceed 99 does not have any side effect with most versions of the game. The Japanese PSX version(BISLPS-00700) is the only version with a problem when you exceed a quantity of 99 for an item. This version will experience an error during battles when you have more then 99 of an item.
Save Materia List
Materia is stored as a single-byte ID followed by the amount of AP on that instance of Materia stored as an unsigned 24-bit integer.eskill materia does not use the ap value, but instead the 24 bits as switches for each skill that can be learned. For every materia ap =0xFFFFFF when mastered
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 |
Key Item List
Key Items are stored in Bank 1 of the Savemap, one bit for each item. Bit ON - party has the item.
Variable | Description |
---|---|
0x0BE4 Var 64 |
0x01: Cotton Dress |
0x0BE5 Var 65 |
0x01: Diamond Tiara |
0x0BE6 Var 66 |
0x01: Pharmacy Coupon |
0x0BE7 Var 67 |
0x01: Key to Ancients |
0x0BE8 Var 68 |
0x01: Keycard 65 |
0x0BE9 Var 69 |
0x01: PHS |
0x0BEA Var 70 |
0x01: Black Materia |
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.