65
edits
Changes
From Final Fantasy Inside
m
=== The Savemap ===<b>Welcome to QhimmWiki!</b>
Note: For the Information on FF7 should thus go into a subpage of [[FF7]], like [[FF7/Field/Script]]. I''preview'' descriptions belowm considering having tech-support information stored here as well, though maybe it too should get its own hierarchy, changing these values does not change any separate from the tech information in-game values. These FF7/FF8? Suggestions are only used so a player can preview the data within the save file when viewing the Save menuwelcome [[Talk:Main page|here]].
{| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;"|+'''Table 1: FF7 Save Slot'''! style="background:rgb(204,204,204)" align="center" | Offset! style="background:rgb(204,204,204)" align="center" | Length! style="background:rgb(204,204For now,204)" align="center" colspan="2" | Description|-| 0x0000| 2 bytes| colspan="2" | Checksum ([http://forums.qhimm.com/index.php?topic=4211.msg60545#msg60545 how to generate])|-| 0x0002| 2 bytes| colspan="2" | Unknown |-| 0x0004| 1 byte| colspan="2" | I'''Preview''': Lead character's level|-| rowspan="2" | 0x0005| rowspan="2" | 1 byte| colspan="2" | '''Preview''': Lead character's portrait|-| 0x00: Cloud<br />0x01: Barret<br />0x02: Tifa<br />0x03: Aeris<br />0x04: Red XIII<br />0x05: Yuffie<br />0x06: Cait Sith| 0x07: Vincent<br />0x08: Cid<br />0x09: Young Cloud<br />0x0A: Sephiroth<br />0x0B: Chocobo<br />0xFF: None|-| 0x0006| 1 byte| colspan="2" | '''Preview''': 2nd character's portrait|-| 0x0007| 1 byte| colspan="2" | '''Preview''': 3rd character's portrait|-| 0x0008| 16 bytes| colspan="2" | '''Preview''': Lead character's name, ve started an example page on the [[FF7PSX/FF TextTIM file|FF Text PSX TIM format]] , terminated with 0xFF|-| 0x0018| 2 bytes| colspan="2" | '''Preview''': Lead character's current HP|-| 0x001A| 2 bytes| colspan="2" | '''Preview''': Lead character's max HP|-| 0x001C| 2 bytes| colspan="2" | '''Preview''': Lead character's current MP|-| 0x001E| 2 bytes| colspan="2" | '''Preview''': Lead character's max MP|-| 0x0020| 4 bytes| colspan="2" | '''Preview''': Amount of Gil|-| 0x0024| 4 bytes| colspan="2" | '''Preview''': Total number of seconds played|-| 0x0028| 32 bytes| colspan="2" | '''Preview''': Save location, [[FF7/FF Text|FF Text format]], terminated with 0xFF|-| 0x0048| 3 bytes| colspan="2" | RGB value for upper left corner of window|-| 0x004B| 3 bytes| colspan="2" | RGB value for upper right corner of window|-| 0x004E| 3 bytes| colspan="2" | RGB value for lower left corner of window|-| 0x0051| 3 bytes| colspan="2" | RGB value for lower right corner of window|-| 0x0054| 132 bytes| colspan="2" | Character record: Cloud [; check it out to see below for Character record format]|-| 0x00D8| 132 bytes| colspan="2" | Character record: Barret|-| 0x015C| 132 bytes| colspan="2" | Character record: Tifa|-| 0x01E0| 132 bytes| colspan="2" | Character record: Aeris|-| 0x0264| 132 bytes| colspan="2" | Character record: Red XIII|-| 0x02E8| 132 bytes| colspan="2" | Character record: Yuffie|-| 0x036C| 132 bytes| colspan="2" | Character record: Cait Sith (or Young Cloud)|-| 0x03F0| 132 bytes| colspan="2" | Character record: Vincent (or Sephiroth)|-| 0x0474| 132 bytes| colspan="2" | Character record: Cid|-| 0x04F8| 1 byte| colspan="2" | Party member in slot 1 [uses same format as character portrait above]|-| 0x04F9| 1 byte| colspan="2" | Party member in slot 2|-| 0x04FA| 1 byte| colspan="2" | Party member in slot 3|-| 0x04FB| 1 byte| colspan="2" | 0xFF|-| 0x04FC| 640 bytes| colspan="2" | Party Item stock, 2 bytes per item, 320 item slots max [See [[#Save_Item_List|save item list]] below]|-| 0x077C| 800 bytes| colspan="2" | Party Materia stock, 4 bytes per materia, 200 materia max [See [[#Save_Materia_List|save materia list]] ]|-| 0x0A9C| 192 bytes| colspan="2" | Materia stolen by Yuffie, 4 bytes per materia, 48 materia max [See [[#Save_Materia_List|save materia list]] ]|-|style="background:rgb(255,255,204)" | 0x0B5C|style="background:rgb(255,255,204)" | 32 bytes|style="background:rgb(255,255,204)" colspan="2" | Unknown|-| 0x0B7C| 4 bytes| colspan="2" | Party's Gil amount|-| 0x0B80| 4 bytes| colspan="2" | Total number what I envision of seconds played|-| 0x0B84| 3 bytes| colspan="2" | Countdown Timer (HH:MM:SS)|-|style="background:rgb(255,255,204)" | 0x0B87|style="background:rgb(255,255,204)" | 13 bytes|style="background:rgb(255,255,204)" colspan="2" | Unknown (related to Current map)|-| 0x0B94| 2 bytes| colspan="2" | Current map|-| 0x0B96| 2 bytes| colspan="2" | Current location|-|style="background:rgb(255,255,204)" | 0x0B98|style="background:rgb(255,255,204)" | 2 bytes|style="background:rgb(255,255,204)" colspan="2" | Unknown|-| 0x0B9A| 2 bytes| colspan="2" | X location on world map|-| 0x0B9C| 2 bytes| colspan="2" | Y location on world map|-| 0x0B9E| 2 bytes| colspan="2" | Z location on world map|-|style="background:rgb(255,255,204)" | 0x0BA0|style="background:rgb(255,255,204)" | 3 bytes|style="background:rgb(255,255,204)" colspan="2" | Unknown. Related to map location and coordinatesthis site.|-|style="background:rgb(255,255,204)" | 0x0BA3|style="background:rgb(255,255,204)" | 1 byte|style="background:rgb(255,255,204)" colspan="2" | Unknown|-|style="background:rgb(255,205,154)" | 0x0BA4|style="background:rgb(255,205,154)" ||style="background:rgb(255,205,154)" colspan="2" | [BEGINNING OF MEMORY BANK 1/2]|-|style="background:rgb(255,205,154)" | 0x0CA4|style="background:rgb(255,205,154)" ||style="background:rgb(255,205,154)" colspan="2" | [BEGINNING OF MEMORY BANK 3/4]|-|style="background:rgb(255,205,154)" | 0x0DA4|style="background:rgb(255,205,154)" ||style="background:rgb(255,205,154)" colspan="2" | [BEGINNING OF MEMORY BANK B/C]|-|style="background:rgb(255,205,154)" | 0x0EA4|style="background:rgb(255,205,154)" ||style="background:rgb(255,205,154)" colspan="2" | [BEGINNING OF MEMORY BANK D/E]|-|style="background:rgb(255,205,154)" | 0x0FA4|style="background:rgb(255,205,154)" ||style="background:rgb(255,205,154)" colspan="2" | [BEGINNING OF MEMORY BANK 7/F]|-| rowspan="2" | 0x10A4| rowspan="2" | 2 bytes| colspan="2" | PHS Locking Mask (1: Locked)|-| colspan="2" |{| border="0" cellspacing="1" cellpadding="3" style="background: rgb(0,0,0)" align="center"|style="background:rgb(68,144,205)" | LSB|style="background:rgb(205,205,230)" | Cloud|style="background:rgb(205,205,230)" | Barret|style="background:rgb(205,205,230)" | Tifa|style="background:rgb(205,205,230)" | Aeris|style="background:rgb(205,205,230)" | Red|style="background:rgb(205,205,230)" | Yuffie|style="background:rgb(205,205,230)" | Vincent|style="background:rgb(205,205,230)" | Cait|style="background:rgb(205,205,230)" | Cid|style="background:rgb(68,144,205)" | MSB|}|-| rowspan="2" | 0x10A6| rowspan="2" | 2 bytes| colspan="2" | PHS Visibility Mask (does not ''turn off'' party characters)|-| colspan="2" |{| border="0" cellspacing="1" cellpadding="3" style="background: rgb(0,0,0)" align="center"|style="background:rgb(68,144,205)" | LSB|style="background:rgb(205,205,230)" | Cloud|style="background:rgb(205,205,230)" | Barret|style="background:rgb(205,205,230)" | Tifa|style="background:rgb(205,205,230)" | Aeris|style="background:rgb(205,205,230)" | Red|style="background:rgb(205,205,230)" | Yuffie|style="background:rgb(205,205,230)" | Vincent|style="background:rgb(205,205,230)" | Cait|style="background:rgb(205,205,230)" | Cid|style="background:rgb(68,144,205)" | MSB|}|-|style="background:rgb(255,255,204)" | 0x10A8|style="background:rgb(255,255,204)" | 48 bytes|style="background:rgb(255,255,204)" colspan="2" | Unknown|-| 0x10D8| 1 byte| colspan="2" | Battle Speed (0x00: fastest, 0xFF: slowest)|-| 0x10D9| 1 byte| colspan="2" | Battle Message Speed|-| rowspan="5" | 0x10DA| rowspan="5" | 1 byte| colspan="2" | General configuration|-| colspan="2" | Sound: mono (0x00); stereo (0x01)|-| colspan="2" | Controller: normal (0x00); customize (0x04)|-| colspan="2" | Cursor: initial (0x00); memory (0x10)|-| colspan="2" | ATB: Active (0x00); Recommended (0x40); Wait (0x80)|-| rowspan="4" | 0x10DB| rowspan="4" | 1 byte| colspan="2" | General configuration (continued)|-| colspan="2" | Camera angle: Auto (0x00); Fix (0x01)|-| colspan="2" | Magic order: (game crashes if flag set to 0x18 or 0x1C)<br /> "1. restore attack indirect" (0x00)<br />"2. restore indirect attack" (0x04)<br />"3. attack indirect restore" (0x08)<br />"4. attack restore indirect" (0x0C)<br />"5. indirect restore attack" (0x10)<br />"6. indirect attack restore" (0x14)<br /> |-| colspan="2" | Extra battle window displaying information: Inactive (0x00); Active (0x40)|-| 0x10DC| 16 bytes| colspan="2" | Controller Mapping (PSX ONLY) <br />l2,r2,l1,r1,tri,circle,cross,square,Select,?,?,Start,u,r,d,l <br />l2,r2,l1,r1,Menu,OK,Cancel,Ext,Help,?,?,Pause,u,r,d,l|-| 0x10EC| 1 byte| colspan="2" | Message Speed|-|style="background:rgb(255,255,204)" | 0x10ED|style="background:rgb(255,255,204)" | 7 bytes|style="background:rgb(255,255,204)" colspan="2" | Unknown|}
{| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px Even though this is a wiki, for now registration and anonymous contributions have been deactivated in an effort to better control the quality and structure of initial contributions. If you feel you have solid black; border-collapse: collapse;"|+'''Table 2: Character Record'information to contribute, drop Qhimm a note and you''! style="background:rgbll (204,204,204probably)" align="center" | Offset! style="background:rgb(204get an account. Also,204,204)" align="center" | Length! style="background:rgb(204,204,204)" align="center" | Description|-| 0x00| 1 byte| Character ID|-| 0x01| 1 byte| Level (0-99) |-| 0x02| 1 byte| Strength (0-255) |-| 0x03| 1 byte| Vitality (0-255) |-| 0x04| 1 byte| Magic (0-255) |-| 0x05| 1 byte| Spirit (0-255) |-| 0x06| 1 byte| Dexterity (0-255) |-| 0x07| 1 byte| Luck (0-255) |-| 0x08| 1 byte| Strength Bonus (Power Sources used)|-| 0x09| 1 byte| Vitality Bonus (Guard Sources used)|-| 0x0A| 1 byte| Magic Bonus (Magic Sources used)|-| 0x0B| 1 byte| Spirit Bonus (Mind Sources used)|-| 0x0C| 1 byte| Dexterity Bonus (Speed Sources used)|-| 0x0D| 1 byte| Luck Bonus (Luck Sources used)|-| 0x0E| 1 byte| Current limit level (1-4)|-| 0x0F| 1 byte| Current limit bar (0xFF = limit break)|-| 0x10| 12 bytes| Name ([[FF7/FF Text|FF Text]] format)|-| 0x1C| 1 byte| Equipped weapon|-| 0x1D| 1 byte| Equipped armor|-| 0x1E| 1 byte| Equipped accessory|-| 0x1F| 1 byte| Character flags - 0x10-Sadnessfurther discussion on the details of how to structure the content is to be expected. For now, 0x20-Fury|a subpage-| 0x20| 1 byte| Char order - 0xFF-Normaloriented design is favored. Also, 0xFE-Back row|-| 0x21| 1 byte| Level progress bar|-| 0x22| 2 bytes| Learned limit skills|-| 0x24| 2 bytes| Number since this is a reasonably fresh install I haven't had time to write a huge amount 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(255documentation for it. As a result,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 ''many of the help links lead to next level|}empty pages''.
{| 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 Memory Bank 1/2 == {| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;"|+'''Table 1: FF7 Save Slot'''! style="background:rgb(204,204,204)" align="center" | Offset! style="background:rgb(204,204,204)" align="center" | Length! style="background:rgb(204,204,204)" align="center" | Description|-| 0x0BA4| 2 byte| Main progress variable|-| 0x0BA6| 1 Byte| Yuffie's Initial Level|-| 0x0BA7| 1 byte| Aeris' current love points|-| 0x0BA8| 1 byte| Tifa's current love points|-| 0x0BA9| 1 byte| Yuffie's current love points|-| 0x0BAA| 1 byte| Barret's current love points|-|style="background:rgb(255,255,204)" | 21|style="background:rgb(255,255,204)" | 1 byte|style="background:rgb(255,255,204)" | Game timer (Hours)|-|style="background:rgb(255,255,204)" | 22|style="background:rgb(255,255,204)" | 1 byte|style="background:rgb(255,255,204)" | Game timer (Minutes)|-|style="background:rgb(255,255,204)" | 23|style="background:rgb(255,255,204)" | 1 byte|style="background:rgb(255,255,204)" | Game timer (Seconds)|-|style="background:rgb(255,255,204)" | 0x0BB7|style="background:rgb(255,255,204)" | 1 byte|style="background:rgb(255,255,204)" | Game timer (Tenths)|-|style="background:rgb(255,255,204)" | 0x0BB8|style="background:rgb(255,255,204)" | 4 bytes|style="background:rgb(255,255,204)" | Unknown (curse ring usage?)|-| 0x0BBC| 2 bytes| Number of battles fought|-| 0x0BBE| 2 bytes| Number of escapes|-| rowspan="2" style="background:rgb(255,255,204)" | 28| rowspan="2" style="background:rgb(255,255,204)" | 2 bytes| colspan="2" style="background:rgb(255,255,204)" | Menu Visiblity Mask (Quit not affected)|-| colspan="2" |{| border="0" cellspacing="1" cellpadding="3" style="background: rgb(0,0,0)" align="center"|style="background:rgb(68,144,205)" | LSB|style="background:rgb(205,205,230)" | item|style="background:rgb(205,205,230)" | magic|style="background:rgb(205,205,230)" | materia|style="background:rgb(205,205,230)" | equip|style="background:rgb(205,205,230)" | status|style="background:rgb(205,205,230)" | order|style="background:rgb(205,205,230)" | limit|style="background:rgb(205,205,230)" | config|style="background:rgb(205,205,230)" | PHS|style="background:rgb(205,205,230)" | save|style="background:rgb(68,144,205)" | MSB|}|-| rowspan="2" style="background:rgb(255,255,204)" | 30| rowspan="2" style="background:rgb(255,255,204)" | 2 bytes| colspan="2" style="background:rgb(255,255,204)" | Menu Locking Mask (1: Locked) (Quit not affected)|-| colspan="2" |{| border="0" cellspacing="1" cellpadding="3" style="background: rgb(0,0,0)" align="center"|style="background:rgb(68,144,205)" | LSB|style="background:rgb(205,205,230)" | item|style="background:rgb(205,205,230)" | magic|style="background:rgb(205,205,230)" | materia|style="background:rgb(205,205,230)" | equip|style="background:rgb(205,205,230)" | status|style="background:rgb(205,205,230)" | order|style="background:rgb(205,205,230)" | limit|style="background:rgb(205,205,230)" | config|style="background:rgb(205,205,230)" | PHS|style="background:rgb(205,205,230)" | save|style="background:rgb(68,144,205)" | MSB|}|-|style="background:rgb(255,255,204)" | 48|style="background:rgb(255,255,204)" | 1 byte|style="background:rgb(255,255,204)" | Item masks.<br />0x01: Potion on MD8_3.|-|style="background:rgb(255,255,204)" | 0x0BD5|style="background:rgb(255,255,204)" | 1 byte|style="background:rgb(255,255,204)" | 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,255,204)" | 0x0BD7|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|-| 0x0BE4| 8 bytes| Key items [see Key Item List]|-|style="background:rgb(255,255,204)" | 80|style="background:rgb(255,255,204)" | 1 byte|style="background:rgb(255,255,204)" | Aeris battle love points|-|style="background:rgb(255,255,204)" | 81|style="background:rgb(255,255,204)" | 1 byte|style="background:rgb(255,255,204)" | Tifa battle love points|-|style="background:rgb(255,255,204)" | 82|style="background:rgb(255,255,204)" | 1 byte|style="background:rgb(255,255,204)" | Yuffie battle love points|-|style="background:rgb(255,255,204)" | 83|style="background:rgb(255,255,204)" | 1 byte|style="background:rgb(255,255,204)" | Barret battle love points|-| 0x0BF9| 1 byte| Rating for Penned Chocobo Number 1 (01: Wonderful -> 08: Worst)|-| 0x0BFA| 1 byte| Rating for Penned Chocobo Number 2 |-| 0x0BFB| 1 byte| Rating for Penned Chocobo Number 3 |-| 0x0BFC| 1 byte| Rating for Penned Chocobo Number 4 |-|style="background:rgb(255,255,204)" | 0x0BFF|style="background:rgb(255,255,204)" | 3 bytes|style="background:rgb(255,255,204)" | Ultimate Weapon's remaining HP|-|style="background:rgb(255,255,204)" | 0x0C02|style="background:rgb(255,255,204)" | 1 byte|style="background:rgb(255,255,204)" | Field Chocobo rating?|-|style="background:rgb(255,255,204)" | 0x0C03|style="background:rgb(255,255,204)" | 1 byte|style="background:rgb(255,255,204)" | Field Chocobo rating?|-|style="background:rgb(255,255,204)" | 0x0C04|style="background:rgb(255,255,204)" | 1 byte|style="background:rgb(255,255,204)" | Field Chocobo rating?|-|style="background:rgb(255,255,204)" | 0x0C05|style="background:rgb(255,255,204)" | 1 byte|style="background:rgb(255,255,204)" | Field Chocobo rating?|-|style="background:rgb(255,255,204)" | 0x0C1E|style="background:rgb(255,255,204)" | 1 byte|style="background:rgb(255,255,204)" | Mask for the "target" text appearing over all available targets in battle<br />Inactive (0x00); Active (0x40)<br />(Other masks are still to be identified on this byte)|-|style="background:rgb(255,255,204)" | 225|style="background:rgb(255,255,204)" | 1 byte|style="background:rgb(255,255,204)" | Mission 1st reactor flags.<br />0x01: elevator on top floor.<br /> 0x08: 1st door opened.<br />0x10: 2nd door opened.<br />0x20: Jessie free from stuck.<br />0x40: bomb set.<br />0x80: set if time is out for gameover check. |-|style="background:rgb(255,255,204)" | 226|style="background:rgb(255,255,204)" | 1 byte|style="background:rgb(255,255,204)" | Mission 1st reactor flags.<br />0x02: elevator door opened.<br />0x04: scrolled at map init to show reactor.|} == Save Memory Bank 3/4 == {| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;"|+'''Table 1: FF7 Save Slot'''! style="background:rgb(204,204,204)" align="center" | Offset! style="background:rgb(204,204,204)" align="center" | Length! style="background:rgb(204,204,204)" align="center" | Description|-|style="background:rgb(255,255,204)" | 66|style="background:rgb(255,255,204)" | 1 byte|style="background:rgb(255,255,204)" | Escape from 1st reactor progress.<br />0x01: after scroll at start of map MD8_2 (maybe unneded).<br />0x02: after people panic on MD8_3 is over to never show it again.|-| 0x0CEE| 2 bytes| Party GP (0-10000)|-|style="background:rgb(255,255,204)" | 0xCF0|style="background:rgb(255,255,204)" | 12 Bytes|style="background:rgb(255,255,204)" | Unknown|-| 0x0CFC| 1 byte| Number of chocobo stables owned|-| 0x0CFD| 1 byte| Number of occupied stables|-|style="background:rgb(255,255,204)" | 91|style="background:rgb(255,255,204)" | 1 byte|style="background:rgb(255,255,204)" | Kalm Traveler sidequest Progression ([http://forums.qhimm.com/index.php?topic=5289.0 details])|-|style="background:rgb(255,255,204)" | 111|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)" | 127|style="background:rgb(255,255,204)" | 1 byte|style="background:rgb(255,255,204)" | Current room in TUNNEL_1. From 1 to 6. If less then 1 then we go to TUNNEL_3. If 6 then to TUNNEL_2. Used instead of duplicating tunnel rooms. Start room set during mission 5 reactor train minigame.|-|style="background:rgb(255,255,204)" | 208|style="background:rgb(255,255,204)" | 1 byte|style="background:rgb(255,255,204)" | MDS7PLR1 event flags.<br />0x01: when everyone run to hideout.<br />0x02: when talk to man to view pillar to call. This will run special event script when return to this map. Remove this bit after script is called.<br />0x04: when Barret return to map and call us again.<br />0x08: after return to this map after seeing pillar.<br />0x10: after talking to right soldier twice (before mission in 5th reactor).|-|style="background:rgb(255,255,204)" | 216|style="background:rgb(255,255,204)" | 1 byte|style="background:rgb(255,255,204)" | MDS7ST3 event flags.<br />0x01: when everyone start run to hideout.<br />0x02: when trainman tells you about war (3 talk).<br />0x04: when pair on station agreed with each other.<br />0x08: when Jessie, Biggs and Wedge run into train.|-|style="background:rgb(255,255,204)" | 223|style="background:rgb(255,255,204)" | 1 byte|style="background:rgb(255,255,204)" | Midgard train flags.<br />0x01: when we talk to Biggs on way to sector 7.<br />0x02: when we talk to Wedge twice on way to sector 7.<br />0x04: when talk to Jessie, before look at map.<br />0x10: this bit is checked on ROOTMAP, though it doesn't use ingame.|} == Save Memory Bank B/C == {| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;"|+'''Table 1: FF7 Save Slot'''! style="background:rgb(204,204,204)" align="center" | Offset! style="background:rgb(204,204,204)" align="center" | Length! style="background:rgb(204,204,204)" align="center" | Description|-|style="background:rgb(255,255,204)" | 0x0DC4|style="background:rgb(255,255,204)" | 16 bytes|style="background:rgb(255,255,204)" | Chocobo slot 1 [See table 3 for Chocobo Slot format]|-|style="background:rgb(255,255,204)" | 0x0DD4|style="background:rgb(255,255,204)" | 16 bytes|style="background:rgb(255,255,204)" | Chocobo slot 2|-|style="background:rgb(255,255,204)" | 0x0DE4|style="background:rgb(255,255,204)" | 16 bytes|style="background:rgb(255,255,204)" | Chocobo slot 3|-|style="background:rgb(255,255,204)" | 0x0DF4|style="background:rgb(255,255,204)" | 16 bytes|style="background:rgb(255,255,204)" | Chocobo slot 4 [Slot 5 and 6 Contributors are located at 0x1084 - 0x10A3]|-|style="background:rgb(255,255,204)" | 0x0E29|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)" | 0x0E2A|style="background:rgb(255,255,204)" | 2 bytes|style="background:rgb(255,255,204)" | Number of battles encouraged to reach in order add their user links to unlock the next part of the Chocobo breeding tutorial|-|style="background:rgb(255,255,204)" | 0x0E33|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)" | 0x0E35|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|} == Save Memory Bank D/E == {| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;"|+'''Table 1: FF7 Save Slot'''! style="background:rgb(204,204,204)" align="center" | Offset! style="background:rgb(204,204,204)" align="center" | Length! style="background:rgb(204,204,204)" align="center" | Description|-| 0| 1 byte| Which game-play Disc is needed|-| 30| 1 byte| Field pointers mask (hand over party leader's head + red and green arrows)<br />0x00: Inactive<br />0x02: Active|-| 31| 1 byte| If you have max materias in your equipment it is set to non-zero|-|style="background:rgb(255,255,204)" | 32|style="background:rgb(255,255,204)" | 6 bytes|style="background:rgb(255,255,204)" | Name of Chocobo 1 ([[FF7/FF Text|FF Text format]])|-|style="background:rgb(255,255,204)" | 38|style="background:rgb(255,255,204)" | 6 bytes|style="background:rgb(255,255,204)" | Name of Chocobo 2 ([[FF7/FF Text|FF Text format]])|-|style="background:rgb(255,255,204)" | 44|style="background:rgb(255,255,204)" | 6 bytes|style="background:rgb(255,255,204)" | Name of Chocobo 3 ([[FF7/FF Text|FF Text format]])|-|style="background:rgb(255,255,204)" | 50|style="background:rgb(255,255,204)" | 6 bytes|style="background:rgb(255,255,204)" | Name of Chocobo 4 ([[FF7/FF Text|FF Text format]])|-|style="background:rgb(255,255,204)" | 56|style="background:rgb(255,255,204)" | 6 bytes|style="background:rgb(255,255,204)" | Name of Chocobo 5 ([[FF7/FF Text|FF Text format]])|-|style="background:rgb(255,255,204)" | 62|style="background:rgb(255,255,204)" | 6 bytes|style="background:rgb(255,255,204)" | Name of Chocobo 6 ([[FF7/FF Text|FF Text format]])|-|style="background:rgb(255,255,204)" | 68|style="background:rgb(255,255,204)" | 2 bytes|style="background:rgb(255,255,204)" | Stamina of Chocobo 1|-|style="background:rgb(255,255,204)" | 70|style="background:rgb(255,255,204)" | 2 bytes|style="background:rgb(255,255,204)" | Stamina of Chocobo 2|-|style="background:rgb(255,255,204)" | 72|style="background:rgb(255,255,204)" | 2 bytes|style="background:rgb(255,255,204)" | Stamina of Chocobo 3|-|style="background:rgb(255,255,204)" | 74|style="background:rgb(255,255,204)" | 2 bytes|style="background:rgb(255,255,204)" | Stamina of Chocobo 4|-|style="background:rgb(255,255,204)" | 76|style="background:rgb(255,255,204)" | 2 bytes|style="background:rgb(255,255,204)" | Stamina of Chocobo 5|-|style="background:rgb(255,255,204)" | 78|style="background:rgb(255,255,204)" | 2 bytes|style="background:rgb(255,255,204)" | Stamina of Chocobo 6|-|style="background:rgb(255,255,204)" | 89|style="background:rgb(255,255,204)" | 1 byte|style="background:rgb(255,255,204)" | Vehicle Enabler|-| 91| 1 byte| Save flag.<br />0x02: set when we in save and unset when out|-|style="background:rgb(255,255,204)" | 113|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,255,204)" | 0x0F5C|style="background:rgb(255,255,204)" | 8 bytes|style="backgroundQhimmWiki:rgb(255,255,204)" | Party's coordinates on world map ([[FF7/FF_Coordinates|FF Coordinates formatCommunity Portal]])|-|style="background:rgb(255,255,204)" | 0x0F64|style="background:rgb(255,255,204)" | 0x0F6B|style="background:rgb(255,255,204)" | Unknown (Emerald or Ruby Weapon's coordinates on world map ?)|-|style="background:rgb(255,255,204)" | 0x0F6C|style="background:rgb(255,255,204)" | 8 bytes|style="background:rgb(255,255,204)" | Tiny Bronco/Chocobo's coordinates on world map|-|style="background:rgb(255,255,204)" | 0x0F74|style="background:rgb(255,255,204)" | 8 bytes|style="background:rgb(255,255,204)" | Buggy/Highwind's coordinates on world map|-|style="background:rgb(255,255,204)" | 0x0F7C|style="background:rgb(255,255,204)" | 8 bytes|style="background:rgb(255,255,204)" | Submarine's coordinates on world map|-|style="background:rgb(255,255,204)" | 0x0F84|style="background:rgb(255,255,204)" | 8 bytes|style="background:rgb(255,255,204)" | Ultimate Weapon's coordinates on world map|} == Save Memory Bank 7/F == {| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;"|+'''Table 1: FF7 Save Slot'''! style="background:rgb(204,204,204)" align="center" | Offset! style="background:rgb(204,204,204)" align="center" | Length! style="background:rgb(204,204,204)" align="center" | Description|-|style="background:rgb(255,255,204)" | 2|style="background:rgb(255,255,204)" | 1 byte|style="background:rgb(255,255,204)" | World map camera & map display<br />Add two values (one from camera, one from map) and set this byte.<br />Camera: Aerial(00); Closeup(20)<br />Map: Off(80); Small(00); Large(40)|-|style="background:rgb(255,255,204)" | 7|style="background:rgb(255,255,204)" | 1 byte|style="background:rgb(255,255,204)" | If not 0x00, game crashes|-| 32| 2 bytes| Fields items mask.<br />0x0001: first potion on MD1STIN.<br />0x0002: second potion on MD1STIN.<br />0x0004: potion at NMKIN3.<br />0x0008: phoenix down on NKMIN1.|-|style="background:rgb(255,255,204)" | 87|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)" | 140|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)" | 224|style="background:rgb(255,255,204)" | 16 bytes|style="background:rgb(255,255,204)" | Chocobo slot 5|-|style="background:rgb(255,255,204)" | 240|style="background:rgb(255,255,204)" | 16 bytes|style="background:rgb(255,255,204)" | Chocobo slot 6|} == Save Item List == Each item in the item list is stored as a word value with the quantity, expressed as a 7-bit value, concatenated with the item's index, expressed as a 9-bit value between the range of 0-320. In Binary: QQQQQQQXXXXXXXXX Where X is the index and Q is the quantity.There are a total of 320 item slots in the save map and a total of 320 objects that are stored there, some of which are dummy items. The objects are indexed like this:<br>Indexes 0 - 127: Items<br>Indexes 128 - 255: Weapons<br>Indexes 256 - 287: Armors<br>Indexes 288 - 319: Accessories<br>Quantity is limited (by the menu mechanics) to 99 since there are only two characters available in the item menu to show quantity. A Graphical "glitch" occurs in the ten's digit when quantity exceeds that number. The menu only checks the current quantity to determine if the value can increase. 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 {| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;"|+'''Table 1: Materia List (PC)'''! style="background:rgb(204,204,204)" align="center" | Name! style="background:rgb(204,204,204)" align="center" | Type! style="background:rgb(204,204,204)" align="center" | ID|-|MP Plus|Independent|0x00|-|HP Plus|Independent|0x01|-|Speed Plus|Independent|0x02|-|Magic Plus|Independent|0x03|-|Luck Plus|Independent|0x04|-|EXP Plus|Independent|0x05|-|Gil Plus|Independent|0x06|-|Enemy Away|Independent|0x07|-|Enemy Lure|Independent|0x08|-|Chocobo Lure|Independent|0x09|-|Long Range|Independent|0x0B|-|Mega All|Independent|0x0C|-|Counter Attack|Independent|0x0D|-|Slash-All|Command|0x0E|-|Double Cut|Independent|0x0F|-|Pre-emptive|Independent|0x0A|- |Cover|Independent|0x10|-|Underwater|Independent|0x11|-|HP <-> MP|Independent|0x12|-|W-Magic|Command|0x13|-|W-Summon|Command|0x14|-|W-Item|Command|0x15|-|Unknown|Placeholder?|0X16|-|All|Support|0x17|-|Counter|Support|0x18|-|Magic Counter|Support|0x19|-|MP Turbo|Support|0x1A|-|MP Absorb|Support|0x1B|-|HP Absorb|Support|0x1C|-|Elemental|Support|0x1D|-|Added Effect|Support|0x1E|-|Sneak Attack|Support|0x1F|-|Final Attack|Support|0x20|-|Added Cut|Support|0x21|-|Steal As Well|Support|0x22|-|Quadra Magic|Support|0x23|-|Steal|Command|0x24|-|Sense|Command|0x25|-|Unknown|Placeholder?|0X26|-|Throw|Command|0x27|-|Morph|Command|0x28|-|Deathblow|Command|0x29|-|Manipulate|Command|0x2A|-|Mime|Command|0x2B|-|Enemy Skill|Command|0x2C|-|Unknown |Placeholder?|0X2D|-|Unknown |Placeholder?|0X2E|-|Unknown |Placeholder?|0X2F|-|Master Command|Command|0x30|-|Fire|Magic|0x31|-|Ice|Magic|0x32|-|Earth|Magic|0x33|-|Lightning|Magic|0x34|-|Restore|Magic|0x35|-|Heal|Magic|0x36|-|Revive|Magic|0x37|-|Seal|Magic|0x38|-|Mystify|Magic|0x39|-|Transform|Magic|0x3A|-|Exit|Magic|0x3B|-|Poison|Magic|0x3C|-|Demi|Magic|0x3D|-|Barrier|Magic|0x3E|-|Unknown |Placeholder?|0X3F|-|Comet|Magic|0x40|-|Time|Magic|0x41|-|Unknown |Placeholder?|0X42|-|Unknown |Placeholder?|0X43|-|Destruct|Magic|0x44|-|Contain|Magic|0x45|-|FullCure|Magic|0x46|-|Shield|Magic|0x47|-|Ultima|Magic|0x48|-|Master Magic|Magic|0x49|-|Choco/Mog|Summon|0x4A|-|Shiva|Summon|0x4B|-|Ifrit|Summon|0x4C|-|Ramuh|Summon|0x4D|-|Titan|Summon|0x4E|-|Odin|Summon|0x4F|-|Leviathan|Summon|0x50|-|Bahamut|Summon|0x51|-|Kujata|Summon|0x52|-|Alexander|Summon|0x53|-|Phoenix|Summon|0x54|-|Neo Bahamut|Summon|0x55|-|Hades|Summon|0x56|-|Typhoon|Summon|0x57|-|Bahamut ZERO|Summon|0x58|-|Knights of Round|Summon|0x59|-|Master Summon|Summon|0x5A|-|Empty Slot|NONE|0xFF|} == KERNEL.BIN Section 4 Entry ==During game initialization, section 4 from KERNEL.BIN is decompressed and copied into RAM. This is all the initial values and structure for most of the Save, excluding the header data and the tail of the last bank (0x0054 to 0x0B93).
106 revisions imported
This wiki has been set up in the hopes of becoming a more efficient means of storing the Qhimm.com knowledge base. The following plan is to store relevant information on things such as:<ul><li>[[FF1NES|Final Fantasy I for the general save format NES]]<li>[[FF7NES|Final Fantasy VII for the game. This data excludes the header data that differs between the PSX and PC version. NES]]<li>[[FF7|Final Fantasy VII]]<li>[[FF7:CC|Final Fantasy VII:Crisis Core]]<li>[[FF8|Final Fantasy VIII]]<li>[[FF9|Final Fantasy IX]]<li>[[FF10|Final Fantasy X]]<li>[[FF12|Final Fantasy XII]]<li>[[CC|Chrono Cross]]<li>[[CT|Chrono Trigger]]<li>[[Xeno|Xenogears]]<li>[[Dissidia|Dissidia]]<li>[[Another Mind|Another Mind]] (FMV Visual Novel by Squaresoft)<li>[[PSX header is 512 Bytes, checksum @ 0x200) (PC header is 9 bytes, checksum @ 0x11)|Sony PlayStation]]<li>[[PS2|Sony PlayStation 2]]<li>[[PS3|Sony PlayStation 3]]<li>[[PSP|Sony PSP]]</ul>