Sanite's Final Fantasy 3j SRAM Hacking Guide 16 May 2001 1.0 jjh@zophar.net You may reproduce and copy this document as much as you want as long as it remains intact and is not changed. Introduction. --------------------------------------------------- Hi and welcome to my guide that will let you hack just about every aspect in Final Fantasy 3 for the Famicom. It's made for the fan translation by AWJ, Neill Corlett and SoM2Freak but I'm very sure that it will work on the clean japanese rom as well. What you will need is a SRAM file. This is not a save state. A save state file is the file that the emulator will create if you use the inbuilt save funcion, RTS. The SRAM file, on the other hand, is the file that will be created if you select "SAVE" inside the game itself. The file should be 8 kb. All SRAM files are the same so you can use whatever emulator you prefere. But please don't use Nesticle for FF3j, it'll just ruin the game. You will also need a hexeditor and I recomend, Hex Workshop (http://www.bpsoft.com). In fact, you MUST use this because I have yet to find another hex editor that will let you calculate the checksum in the same easy way. Checksum. --------------------------------------------------- Ok here's the tricky part. If the checksum inside the file is not OK the emulator will not load the save file. But it's very easy to fix that. Let me explain. First get the latest version av Hex Workshop. Start it up and you should have 2 windows at the bottom of the screen. One with stuff like "8 Bit Signed Byte" and one that is pretty empty. Now, open the SRAM file. Goto position $0400 and, using the mouse or the keyboard, highlight the bytes until you reach $07FF. Now goto Tools - Generate Checksum. Make sure it'll just calculate on the selected area, and deselect every option except Checksum (8-bit). Press generate and voila! In the bottom right window it should now say Checksum-8 FF. FF must ALWAYS be FF. If you change one byte or more it will not be FF. Therefore there is a checksum byte located at $041A. Just change that byte until the checksum is FF again. Don't forget to press the button with the two arrows in the checksum window to recalculate. Little Endian / Big Endian. --------------------------------------------------- The next problem ^_^. If you want to save the value 5346 in a file on a PC it will be saved as 14E2. That's hexadecimal. BUT if you save this on a 6502 (the NES) it will be saved as E214. The bytes are swapped. This is what most processors do, except the X86. God knows why. So say you want to change the HP. If you want 9999 it would be 270F in hex, but in the save file you must enter them as 0F27. It's not that hard. With three bytes it's the same. 12 34 56 will become 56 34 12. Slot 1 - Byte by byte. --------------------------------------------------- Slot 1 is located within the range $0400 - $07FF and I will now tell you what's included within, practicly byte by byte. $0409 Here is the X coordinate of your character. $040A Here is the Y coordinate of your character. $0414 The number of times you have saved the game using this save file. $041A Here is the checksum that I explained earlier. $041B Here is the number of Capacities saved. Maximum FF (255) $041C - 041E The amount of GP is saved here. Remember the endian. $04C0 - 04DF Here is you inventory saved. Just place the byte representing the item you want within this range. A list of all items that you can cary, and the byte for them, is a little bit lower in the document. $04E0 - 04FF The quantity of each item. The item you have at adress $04C0 has it's quantity at $04E0 and the item at $04C1 has it's on $04E1. Ok, that's the general data. Now comes the character data. Each character has 64 KB of data saved. They are located on: $0500 - 053F = Character 1 $0540 - 057F = Character 2 $0580 - 05BF = Character 3 $05C0 - 05FF = Character 4 For character 1 the values are: $0500 Here is your current job saved. And here's a list of all jobs that you can have and the byte you should enter: 00 = Onion kid 01 = Fighter 02 = Monk 03 = White Wizard 04 = Black Wizard 05 = Red Wizard 06 = Hunter 07 = Knight 08 = Thief 09 = Scholar 0A = Geomancer 0B = Dragoon 0C = Viking 0D = Karateka 0E = Magic Knight 0F = Conjurer 10 = Bard 11 = Warlock 12 = Shaman 13 = Summoner 14 = Sage 15 = Ninja $0501 Here is your level saved. But it's one step behind so you have to subtract 1. So if you want to be at level 50 you must enter 49. $0502 Your status. Like Mute and Frog and those. 00 and 01 is normal. First I planned to do a list of all but I found out that there is just to many posibilites. I think there's about 70 diffrent you can have. So if you want to have a Frog, Mute, Mini, Blind and Poisoned character just put 3D or 3E there. $0503 - 0505 The amount of experience points you have. $0506 - 050B Your name! $050C - 050D The HP you currently have. $050E - 050F Your maximum HP $0510 Your attack strength. Shown on the equip screen. $0515 Your defence. Shown on the equip screen. Data: $0517 = Strength $0518 = Agility $0519 = Vitality $051A = Intellect $051B = Spirit $051E = Magic Evade % $051F = Magic Def $0520 = Attack X times $0521 = Hit % $0522 = Attack X times % $0523 = Defence X times $0524 = Evade % $0525 = Defence X times % Magic: $0530 = Magic Level 1 MP $0531 = Magic Level 1 Max MP $0532 = Magic Level 2 MP $0533 = Magic Level 2 Max MP $0534 = Magic Level 3 MP $0535 = Magic Level 3 Max MP $0536 = Magic Level 4 MP $0537 = Magic Level 4 Max MP $0538 = Magic Level 5 MP $0539 = Magic Level 5 Max MP $053A = Magic Level 6 MP $053B = Magic Level 6 Max MP $053C = Magic Level 7 MP $053D = Magic Level 7 Max MP $053E = Magic Level 8 MP $053F = Magic Level 8 Max MP The characters also save some data on another place. Here are the adresses: $0600 - 063F = Character 1 $0640 - 067F = Character 2 $0680 - 06AF = Character 3 $06B0 - 06EF = Character 4 And here's what's saved there: Equipment: $0600 = Head $0601 = Body $0602 = Arms $0603 = Right Hand $0604 = Left Hand $060F The skill level of your job. And here comes the list of the items you can have in you inventory. Here's also the weapons and armor that you can equip on your characters. And yes, you can equip items as weapons ^_^. 00 = None Claws: 01 = Kaiser 02 = CatClaw 03 = Dragon 04 = Elven 05 = HellClaw Nunchuck: 06 = Nunchuck 07 = Tonfa 08 = 3-Part Rod: 09 = Mithril 0A = Flame 0B = Ice 0C = Light 0D = Ultimate Staff: 0E = Staff 0F = Burning 10 = Freezing 11 = Shining 12 = Golem 13 = Rune 14 = Eldest Hammer: 15 = Hammer 16 = Thor Axe: 17 = Battle 18 = Great Axe 19 = M. Star Spear: 1A = Thunder 1B = Wind 1C = Blood 1D = Holy Knife: 1E = Knife 1F = Dagger 20 = Mithril 21 = M. Gauche 22 = Orialcon 23 = Airknife Sword: 24 = Long 25 = W. Slayer 26 = Shiny 27 = Mithril 28 = Serpent 29 = Ice Blade 2A = Tyrving 2B = Salamand 2C = King Axe: 2D = Tomahawk Sword: 2E = Ancient 2F = Ashura 30 = Blood 31 = Defender Hammer: 32 = Triton Sword: 33 = Kotetsu 34 = Kiku 35 = Break 36 = Excalibur 37 = Masamune 38 = Ragnarök 39 = Onion Magic: 3A = Flame 3B = Ice 3C = Inferno 3D = Light 3E = Illumina Throw: 3F = Boomerang 40 = Full Moon 41 = Shuriken Magic: 42 = Blizzard Bell: 43 = Giyaman 44 = Earth 45 = Rune Harp: 46 = Madora 47 = Dream 48 = Lamia 49 = Loki Bow: 4A = Bow 4B = Great Bow 4C = Killer 4D = Rune 4E = Yoichi 4F = Wooden Arrow: 50 = Holy 51 = Iron 52 = Bolt 53 = Fire 54 = Ice 55 = Medusa 56 = Yoichi 57 = None Shield 58 = Leather 59 = Onion 5A = Mithril 5B = Ice 5C = Hero 5D = Demon 5E = Diamond 5F = Aegis 60 = Genji 61 = Crystal Helmet: 62 = Leather 63 = Onion 64 = Mithril 65 = Carapace 66 = Ice 67 = Headband 68 = Scholar 69 = Darkhood 6A = Chakra 6B = Viking 6C = Dragon 6D = Feather 6E = Diamond 6F = Genji 70 = Crystal 71 = Ribbon Armor: 72 = Cloth 73 = Leather 74 = Onion 75 = Mithril 76 = Carapace 77 = Ice 78 = Flame Mail 79 = Kenpo 7A = Dark Suit 7B = Wizard 7C = Viking 7D = Black Belt 7E = Knight 7F = Dragon 80 = Bard 81 = Scholar 82 = Gaia 83 = Demon 84 = Diamond 85 = Reflect 86 = White Robe 87 = Black Robe 88 = Genji 89 = Crystal 8A = Rusted Arms: 8B = Copper 8C = Onion 8D = Mithril (Glove) 8E = Mithril (Gauntlet) 8F = Thief 90 = Gauntlet (Glove ^_^) 91 = Power 92 = Rune 93 = Diamond (Gauntlet) 94 = Diamond (Glove) 95 = Protect 96 = Genji 97 = Crystal Item: 98 = Magic Key 99 = Carrot 9A = Horn 9B = Eye 9C = Time Gear 9D = Eureka Key 9E = Wind Fang 9F = Fire Fang A0 = Water Fang A1 = Earht Fang A2 = Lute A3 = Sylx Key A4 = Midge Bread A5 = ? A6 = Potion A7 = HiPotion A8 = Elixir A9 = Fenix Down AA = Soft AB = Maiden Kiss AC = Echo Herb AD = Luck Mallet AE = Eyedrop AF = Antidote B0 = Otter Head B1 = Bomb Shard B2 = South Wind B3 = Zeus' Rage B4 = BombR.Arm B5 = Northwind B6 = Gods' Rage B7 = Earth Drum B8 = Lamia Scl. B9 = Gods' Wine BA = Turtle Shell BB = Devil's Sigh BC = Black Hole BD = Dark Scent BE = Lilith Kiss BF = Imp's Yawn C0 = Split Shell C1 = Paralyzer C2 = Mute Charm C3 = Pillow C4 = Bomb Head C5 = Barrier C6 = Choco Rage C7 = White Scent Magic: C8 = Flare C9 = Death CA = Meteo CB = Whirl Wind CC = Life 2 CD = Holy CE = Bahamut CF = Quake D0 = Break 2 D1 = Drain D2 = Cure 4 D3 = Heal D4 = Wall D5 = Levia D6 = Fire 3 D7 = Bio D8 = Warp D9 = Aero 2 DA = Soft DB = Haste DC = Odin DD = Bolt 3 DE = Kill DF = Erase E0 = Cure 3 E1 = Life E2 = Safe E3 = Titan E4 = Break E5 = Ice 3 E6 = Shade E7 = Libra E8 = Confuse E9 = Mute EA = Ifrit EB = Fire 2 EC = Ice 2 ED = Bolt 2 EE = Cure 2 EF = Exit F0 = Wash F1 = Ramuh F2 = Bolt F3 = Venom F4 = Blind F5 = Aero F6 = Toad F7 = Mini F8 = Shiva F9 = Fire FA = Ice FB = Sleep FC = Cure FD = Pure FE = Sight FF = Chocobo The adresses for the other save slots are: 400 - 7FF = Save Slot 1 800 - BFF = Save Slot 2 C00 - FFF = Save Slot 3 What's missing? --------------------------------------------------- That's about everything you can do to a save game. But there is a few things missing. yet to find: What magic is equiped? What jobs are present? What row is the character in? What airship do you have, and what's it's location? What have you accomplished in the game? But none of these is really relevant as far as I can see. Please notify me if you find any of these. Thanks. --------------------------------------------------- Tony Hedstrom Because I downloaded your guide and I found it very good but I missed some stuff. So I wrote my own guide with those things ^_^ And in no particular order: Ming-Yu Shih, Zophar, Sonar, Scotcher, Darth Apoc, Nemesis, The Smoker, NoName^, C_Cliff, RedXVIII, Masterclone, FaaaZ, _Bnu, Dark Force, The ZSNES Team and Lev and Hiryuu of ZTNET. Please email me comments, suggestions, typos and all that stuff. (c) 2001 Johan Hedqvist jjh@zophar.net You may reproduce and copy this document as much as you want as long as it remains intact and is not changed.