--------------------------------- --FFIX Save State Hacking Guide-- --------------------------------- ========================= | Written by: pippin418 | | [email protected] | | v1.02 | | Console: PlayStation | | Game: FFIX | | Save State Hacking | | Guide | ========================= Note: You need a hex editor to do this. For Windows: Hex Workshop (or something similar) For Linux: bless or ghex2 work very well. For Mac: I'm pretty sure bless is for Mac too (Linux and Mac are both based off Unix so it should work.) Contents: 1 Save States 1A Platforms 1A.1 ePSXe 1B Hex Editing/Basics 1B.1 PSX/RPG reversal method 2 Hacking 2A Save states 2B Hacking List 1 Save States Saves states are basically a snapshot of the game you were playing, along with all the data it contained. This is convenient for us since we want to change that data. 1A Platforms The only platforms we will be covering is ePSXe, which is compatible on all operating systems. I'm using Ubuntu Linux 10.04 LTS with ghex2 as my hex editor. The savestates for ePSXe are located in your main ePSXe folder in the sstates folder. Windows: *ePSXe folder*\sstates\ Linux/Mac *ePSXe folder*/sstates/ For FFIX Disc 2, my save state's name is SLUS_012.95.000 1A.1 ePSXe ePSXe save states are a little tricky. They are compressed in GZ format (gunzip), so if you're on Linux or Mac, just rename the savestate so it has a .gz on the end and extract it. The file should be 4.0 Megabytes. If you're on Windows, download 7zip ( http://www.7-zip.org/ ) and use the Linux/Mac instructions. Now make a backup copy and get ready to begin. 1B Hex Editing Hexadecimal or Hex, is a set of characters (0-9, A-F) that can be used to show any character/value. Each hexadecimal place is made up of two ASCII characters. For example, 0A 0B 1F 2A 2E To edit your values, use a goto function in a hex editor (In the File or Edit Menu, usually Ctrl+J or Ctrl+G) and goto your Offset/Line and type in the new values. Then you should save. 1B.1 PSX/RPG Reversal Method When hex editing in PSX save states (and most savestates) you have to reverse the hex values in pairs, for example: 01 09 A3 D4 B1 Would become: B1 D4 A3 09 01 Also, some decimal to hex converters (DEC to HEX) don't put 0's in front of singular characters: 1A9B4 A good way to do this is to imagine you are underlining each pair. If you can't underline two, you need to add a zero. The zero must be put on the first pair. 01 A9 B4 And then you reverse it: B4 A9 01 is your final value. !!!!!!!!!!!!!!!!!! I HAVE ALREADY REVERSED THE VALUES Do not reverse any values I've put in this guide, I've already done this for you. If you do, none of this will work for you. !!!!!!!!!!!!!!!!!! 2 Hacking The hacking is easy enough, you should catch on pretty fast. You'll need to open the extracted save state in your hex editor now. If you're frightened by the output, fear not. Just stay with me for now. 2A Save States Now we can begin. Scroll to 2B for my hacking list if you need help. In 2B it explains the lines to go to and what's there. Really all you have to do is change the values at the lines and save the file. After doing this, you need to recompress it into a gz file and rename it. Linux/Mac: In a terminal, run: gzip *sstate name* windows: Use 7zip's GUI to compress it to a GZ file. Then rename the .gz file so there's no .gz Now load the save state again. If it worked, you'll see your changes! 2B Hacking List This is the list I use to hack my save states. It's near completion. Note that things can go wrong and screw up your savestate, so please save normally on the memcard just in case. ######################################################## Hex Editor Lines/Offsets: There's only one "Line", that's directly below this line. The rest are offsets, or places on the line. A goto function will still take you there. 0008BB0 - Key Items - I haven't figured these out yet 0008B956 - Battle Party 0008B97E - Inventory 0008B446 - Zidane Stats 0008B47F - Zidane Equipment 0008B6BF - Freya Equipment (stats are above) 0008B50F - Vivi Equipment (stats are above) 0008B74F - Cinna / Quina Equipment (stats are above) 0008B62F - Steiner Equipment (stats are above) 0008B7DF - Marcus / Eiko Equipment (stats are above) 0008B596 - Dagger / Garnet Equipment (stats are above) 0008B86F - Blank / Amarant Equipment (stats are above) 0008B8FF - Beatrix Equipment (stats are above) 0007B11A - Chocobo Points 0007B162 - Chocobo Color (Level) 0007B135 - Chocobo Beak Level - 99 (or 63 in hex) is the max ######################################################## Battle Party Values: 8C B2 - Zidane 1C B3 - Vivi AC B3 - Garnet 3C B4 - Steiner CC B4 - Freya 5C B5 - Cinna / Quina EC B5 - Marcus / Eiko 7C B6 - Blank / Amarant 0C B7 - Beatrix Offset 0008B596 should look similar to this: 8C B2 08 80 1C B3 08 80 AC B3 08 80 3C B4 08 80 "08 80" is a separator. "8C B2" means Zidane. So if you only wanted Zidane, Steiner and Beatrix in your party, you'd put: 8C B2 08 80 3C B4 08 80 0C B7 08 80 Zidane Separator Steiner Separator Beatrix Separator ######################################################## Chocobo Color (Level): 00, 06+ - Seems to have no effect 01 - Yellow, Normal 02 - Light Blue, Shallow Water 03 - Red, Mountain 04 - Dark Blue, Deep water 05 - Gold, flying To use this hack, savestate in Chocobo's forest, and then change Offset 0007B162 to whatever you want (01, 02, 03, etc) using the chart above. Save, and reload the savestate. Leave Chocobo's forest and the color (and the skill) will update. ######################################################## Inventory: Offset 0008B97E contains your inventory. It looks like: 1E 05 1A 09 00 03 01 05 At the beginning you see 1E 05. 1E means Excalibur II, and 05 means you have 5 of them. the entire inventory goes in pairs like that. I don't have a full list but if you download PEC (PSX Emulation Cheater), install it (Windows only, but works fine in WINE on Linux/Mac) and look up Final Fantasy IX (USA) in it, go to Other Codes and Item Modifier Codes. Double click Slot 1 and a list will pop up. The values are next to the name of the item. ALL of those will work on your inventory. ######################################################## Equipment: Same as Inventory, but: It goes in this order: Weapon Headgear Wristgear Armor Accessory So: 1E 84 62 A1 CC 1E 84 62 A1 CC Excalibur II Thief Hat Thief Gloves Gaia Gear Rosetta Ring *Values taken from PEC (in Inventory section)* Also, you can put any piece of equipment anywhere using this (so you can learn abilites from 5 weapons/equipment all at once), even having guys wear girls clothes or vice versa. You can also give anyone ANY weapon/equipment (like Zidane with a Racket or Dagger with a Dagger... or Sword). ######################################################## Footnotes: A great Dec to Hex converter: http://www.parkenet.com/apl/HexDecConverter.html That's all I use. You can even download it and use it offline. Also, I'm pretty sure this is the only guide out there. Sources: PSX Emulation Cheater, helped a lot. GameFAQs Boards, had one thread that helped me finish the entire work. Wikipedia, for reminding me that hex goes from A-F not A-E. Prior knowledge, helps to know what I'm doing. Thanks for GameFAQs for reviewing and releasing this!