________ ____ | | | | ____ ____ | ____|| ___ __ _______| | | | | | /\ | |_|___|| |/ | | | | | | | /||\ | |__ | | /_\ | | | | | | |\||/| | __| || | _ | |__ | |__| |__ / /\ \ | | | || | | | | \ | | | \/\/\/ | |___| |___||__|\___|__| |__|________\ | | |\/\/\/\/| ________ __ |_______ __| | \/||\/ | | | | | | | | / || \ | | ___|_______ ____ __ __| |________________|____| ___ |/\ || /\| | |__ | | |/ | | | | |_| | \ \||/ / | || /_\ | |__ __| /_\ | __| | | \/ | | __|| _ | | | | | _ | |__ \_ _/ \||/ | | | | | | | | | | | | |__ | | | \/ |____| |__| |__|___|\___| /____\|___| |___|__| | |___| | | |_______| =============================================================================== Final Fantasy 4 (State Save Hacking Guide) Version 0.9 =============================================================================== ____________________________________________________ | Table of contents | | | |I.Introduction | | | |II.a)Intro to Hexadecimals | | b)Requirements for hacking | | c)how hexworkshop works | | | |III.a)Character status hacks | | b)Hack characters into file | | c)Hack character class/image/battle moves | | | |IV.Examples | | | |V.Credits | | | |VI.Conclusion | |____________________________________________________| =============================================================================== I.Introduction =============================================================================== This guide isn't meant to help anyone do any type of illigel activities. This guide is just meant to enhance the gameplay of anyone who wishes to edit there files data. Remember that is illigel to have a rom over 24 hrs if you don't own the original cartridge. All the below information is meant for hacking the state save files on the snes rom only and will not work on the in-game saves. =============================================================================== II.a)Introduction to Hexadecimals =============================================================================== Its good to know a little hexadecimals before going into the next steps. There are probably calculators on your computer that will automatically do the conversions for you , but its still good to know what your looking at. Hexadecimals is a 16 base set of numbers where what you are probably use to is decimal which has a base of 10. Here is an example of what I mean. Decimal 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 Hexadecimal 1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,10,11,12,13,14 Its simple enough, once you get into the hacking your going to be seeing of hexadecimals so thats just to show you what your going to be dealing with. here are some good numbers that you will probably want to know: Decimal | Hexadecimal 99 | 63 999 | 3E7 9999 | 270F =============================================================================== II.b)Requirements for hacking =============================================================================== In order to edit your state save files your going to need the following software: 1.HexWorkshop (I used version 4.2) 2.knowledge on hexidecimals 3.Final Fantasy 4 the rom 4.a state save file of the game 5.a calculator that can convert decimal to hex. - you can find hexworkshop at http://www.zophar.net/utilities/hexutil.html - you can search up complete guides on hexadecimals at pretty much any search engine - you can get the rom from this site with an emulator http://www.angelfire.com/games4/ffu/ (I got my emulator from http://www.zsnes.com) - the state save file is automatically generated in the folder with the rom - most calculators that come on your computer can do the conversions you just got to make sure its on scientific mode. ============================================================================== II.c)how hexworkshop works ============================================================================== This is what your Final Fantasy 4 state save file should roughly look like once loaded up into the hexworkshop __________________________________________________________________________ | File | Edit | Disk | options | tools | Window | Help | | |______|________|__________|__________|_______|________|______|____________| | | | Images i cant draw | | | |__________________________________________________________________________| |00000000 5A53 4E45 5320 5361 7665 2053 7461 7465 2046 696C | |00000014 6520 5630 2E36 1A3C 00E0 0001 0000 A026 01FF FF00 | |00000028 0001 0000 00FD 0200 064A 0078 0020 0033 9100 0000 | |0000003C 2400 0000 FFFF FFFF 7500 0000 0000 8101 0000 0F00 | |__________________________________________________________________________| |___________________________________ __________________________________| | | | | | | | | | | | | | | | | | | | | | | | | | | | | |__________________________________________________________________________| All you really need to know is where the goto and and find are . The goto command is found in the edit menu as shown above , same with the find command is found in the same menu (edit) but i recommend using the flashlight image (located in the image section). Well thats pretty much all you need to know in hexworkshop for the following hacks. =============================================================================== III.a)Character status hacks =============================================================================== In this game there are 2 spots to edit, one is the base value, without any changes made by equipment, and the other set is after the changes. This only applys for the stats str., Agil., Vit., Wis., and Will. ex. 1c62-1c66 are extra offsets for str , agil, vit, wis, will (character slot 1), it should all be in that order starting from 1C62 to 1C66 , just edit those to what ever you did to the second column of character slot 1.So if your going to hack Character slot 1 str. you have to edit the offset 1C67 and 1C62 to the same number. So If you wanted your str. to be 99 go to offset 1C62 and put 63 (hex for 99) and then goto offset 1C67 and change to 63 also. Keep in mind that any number over 255 you have to invert so take 9999 thats 270F in Hex., if you want to put that as your HP put in OF27 in the HP offset. Character slot 1 Level - 1C55 Current HP - 1C5A - 1C5B Max HP - 1C5C - 1C5D Current MP - 1C5E - 1C5F Max MP - 1C61 - 1C62 Before weapon changes | After weapon changes Str. - 1C62 | 1C67 Agil. - 1C63 | 1C68 Vit. - 1C64 | 1C69 Wis. - 1C65 | 1C6A Will. - 1C66 | 1C6B Exp. - 1C8A -> 1C8C Character slot 2 Level - 1CD5 Current HP - 1CDA - 1CDB Max HP - 1CDC - 1CDD Current MP - 1CDE - 1CDF Max MP - 1CE0 - 1CE1 Before weapon changes | After weapon changes Str. - 1CE2 | 1CE7 Agil. - 1CE3 | 1CE8 Vit. - 1CE4 | 1CE9 Wis. - 1CE5 | 1CEA Will. - 1CE6 | 1CEB Character slot 3 Level - 1C15 Current HP - 1C1A - 1C1B Max HP - 1C1C - 1C1D Current MP - 1C1E - 1C1F Max MP - 1C20 - 1C21 Before weapon changes | After weapon changes Str. - 1C22 | 1C27 Agil. - 1C23 | 1C28 Vit. - 1C24 | 1C29 Wis. - 1C25 | 1C2A Will. - 1C26 | 1C2B Character slot 4 Level - 1D15 Current HP - 1D1A - 1D1B Max HP - 1D1C - 1D1D Current MP - 1D1E - 1D1F Max MP - 1D20 - 1D21 Before weapon changes | After weapon changes Str. - 1D22 | 1D27 Agil. - 1D23 | 1D28 Vit. - 1D24 | 1D29 Wis. - 1D25 | 1D2A Will. - 1D26 | 1D2B Character slot 5 Level - 1C95 Current HP - 1CAA - 1CAB Max HP - 1CAC - 1CAD Current MP - 1CAE - 1CAF Max MP - 1CB0 - 1CB1 Before weapon changes | After weapon changes Str. - 1CA2 | 1CA7 Agil. - 1CA3 | 1CA8 Vit. - 1CA4 | 1CA9 Wis. - 1CA5 | 1CAA Will. - 1CA6 | 1CAB =============================================================================== III.b)Hack characters into file =============================================================================== This section is to take characters from later on in the game and let you have them at the first of the game. This section is quite a bit harder than the other 2 only because you got to edit alot more in the game. All you have to do is put the given numbers into the given offsets. They are just what I used to find the offsets so I added an extra section to this guide that will allow you to mod you character to who ever you want after you put this in. character slot 3 (summoner) 1C13 - 1C52 81 0263 0000 0000 0F27 0F27 E703 E703 6363 6363 6363 6363 6363 2000 0263 0D00 0000 0000 0201 0000 0001 140E 0000 0214 0A6D 819C 6101 2301 7109 0000 1000 D008 00 character slot 2 (dark kn) 1CD3 - 1D0F 81 0063 0000 0000 0F27 0F27 E703 E703 6363 6363 6363 6363 6363 0800 1363 3A00 0000 0009 1801 0000 0012 163D 0000 6314 0A6E 829D 1601 6201 4A00 0000 1081 character slot 1 (dark kn) 1C53 - 1C8F 81 0063 0000 0000 0F27 0F27 E703 E703 6363 6363 6363 6363 6363 0800 1363 3A00 0000 0009 1801 0000 0012 163D 0000 6314 0A6E 829D 1601 6201 4A00 0000 1081 character slot 4 (dark kn) 1D13 - 1D4F 81 0063 0000 0000 0F27 0F27 E703 E703 6363 6363 6363 6363 6363 0800 1363 3A00 0000 0009 1801 0000 0012 163D 0000 6314 0A6E 829D 1601 6201 4A00 0000 1081 character slot 5 (dark kn) 1C93 - 1CCF 81 0063 0000 0000 0F27 0F27 E703 E703 6363 6363 6363 6363 6363 0800 1363 3A00 0000 0009 1801 0000 0012 163D 0000 6314 0A6E 829D 1601 6201 4A00 0000 1081 =============================================================================== III.c)Hacking characters classes/images/names/battle moves =============================================================================== All of the following is meant to let you basically create your character. You still have to use everything thats in the game but you can change there image/name/handedness/class/battle moves using what im about to give you...but what you got to do for a full desired effect is sorta morph them together.Say you wanted character slot 1 to be a summoner named cid with rydia's image simply go to offset 1C54 put in 02 then goto 1C53 and put in 0E. You can also put to together in 1 , like classes/images and In-Battle image happen to be on the same offset , just take out the 0 and put them in proper order like dark kn and cecil thats 00 or summoner and original look, 02. Same goes for any one of the others that go on the same offset. Classes/Images in Menu character slot 1 character slot 2 character slot 3 offset 1C54 offset 1CD4 offset 1C14 character slot 4 character slot 5 offset 1D14 offset 1C94 00 = dark kn 01 = dragnkn 02 = summoner 03 = sage 04 = bard 05 = wh wiz 06 = monk 07 = bl wizard 08 = wh wiz (dif image than 05) 09 = paladin 0A = engneer 0B = summoner (man) 0C = ninja 0D = lunar 0E = no class name (image of a black pig) 0F = black weird guy... invisible in battle & has no class In-battle image For this following In-battle images I will try to explain what they look like as best as possible , if your not sure what I mean just try it out. 00 - Original look 10 - discolored weird looking.... character slot 1 character slot 2 character slot 3 offset 1C54 offset 1CD4 offset 1C14 character slot 4 character slot 5 offset 1D14 offset 1C94 Names character slot 1 character slot 2 character slot 3 offset 1C53 offset 1CD1 offset 1C11 character slot 4 character slot 5 offset 1D13 offset 1C93 00 = leaves blank spot (deletes character) 01 = Cecil 02 = Cain 03 = Rydia 04 = Tella 05 = Gilbert 06 = Rosa 07 = Yang 08 = Palom 09 = Porom 0A = Tella 0B = Cecil 0C = Tella 0D = Yang 0E = Cid 0F = Cain BATTLE MOVES COMING SOON! =============================================================================== IV.Examples =============================================================================== Here are some examples just incase you didn't understand my explanations: Ex1. say you wanted to hack your HP , goto the Current HP and Max HP offsets shown in section III.a) , take the number you want your HP to be turn it into hexadecimals and if its over 255 invert it. Say you wanted to make Character slot 1 HP 9999 goto offset 1C5A and put in 0F27 (because thats 9999 in hex inverted) then go to offset 1C5C and put in 0F27. After this go to file save over your old state save and go load it up in your emulator. If you look at Character slot 1 there Hp it should read 9999/9999. Ex2. If you want to hack your str. for Character slot 1, Just goto the str. offsets and put in the number your str. to be in hexadecimals (remember you only got 2 spots so the highest you can put in is 255 but I only recommend putting it up to 99) say its 99 you want to put in just put in 63 in the offsets 1C62 and 1C67 your str. should be 99. =============================================================================== V.Credits =============================================================================== Tsukasa999 - David Patterson (faq creator) =============================================================================== VI.Conclusion =============================================================================== If you find any part of my guide misleading or incorrect in anyway please e-mail me what you found at Zero77_7@hotmail.com and explain to me what the problem is. Any problmes that have been found I will edit and give credit to.