________ ____
| | | | ____ ____
| ____|| ___ __ _______| | | | | | /\
| |_|___|| |/ | | | | | | | /||\
| |__ | | /_\ | | | | | | |\||/|
| __| || | _ | |__ | |__| |__ / /\ \
| | | || | | | | \ | | | \/\/\/ |
|___| |___||__|\___|__| |__|________\ | | |\/\/\/\/|
________ __ |_______ __| | \/||\/ |
| | | | | | | / || \ |
| ___|_______ ____ __ __| |________________|____| ___ |/\ || /\|
| |__ | | |/ | | | | |_| | \ \||/ /
| || /_\ | |__ __| /_\ | __| | | \/ |
| __|| _ | | | | | _ | |__ \_ _/ \||/
| | | | | | | | | | | | |__ | | | \/
|____| |__| |__|___|\___| /____\|___| |___|__| | |___|
| |
|_______|
===============================================================================
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
[email protected] and explain to me what the
problem is. Any problmes that have been found I will edit and give credit to.