Final Fantasy 2j Save State Hacking 1.00 by Sojan *========================================; *Special Thanks ; *========================================; I 'discovered' emulation in 1997 thanks to a guy on the net named Rastaguan or something like that. Without him I would get a lot more real work done. Emu News World for being one of the best emulation pages ever. You are sorely missed Jim!! Demi of Neodemiforce for all the excellent translation hacks, including ff2j. zsKnight and _Demo_ for their excellent emulator zSNES. The desire to start with powerful characters in Wizardry for the SNES lead me to my first attempt at save state hacking. Shu Kondo and FanWen Yang for the best mapper emulation ever in a NES emulator. If you have MMX get bioNES. Not as many features as nesticle but it will run many games better. (Not a nesticle flame, I love nesticle it just can't handle ff2j, ff3j and some others very well.) Zophar's Domain for the most up to date news around. Zoop for the nesticle of the sega master system ... Meka. Anyone else whom I may have forgotten. *========================================; *Save State Hacking for FF2j ; *========================================; Well, if you have ever played ff2j or the NeoDemiforce translation then you know that this is one of the strangest RPG's ever created from a battle system and level up standpoint. You do not get stronger for killing monsters directly but from being hurt severely by the monsters. This could be exploited by having your characters attack themselves and heal themselves in battle to raise your HP and MP to ridiculously high levels early in the game. However, I found that the only spells I had beyond level one were cure and heal. I did not want to have to cast each spell in battle 100 times to make it level up (which is about what I calculated, 1 level up point per battle casting. Let me know if I'm wrong!!) so I started poking around in a bioNES savestate with my good old hex editor. Within the space of a few minutes I was able to find the 'power up tables' for the characters. Each attribute is stored as 2 bytes. The first byte stores the current skill level and the second byte stores how many points you have earned at your particular level. Weapon and spell level informations are stored in the same table. Since your characters can have just about any combination of spells necessary I can not tell you exactly how to set your cure to level 16 for every character. What I can tell you is that the first spell slot for the first character (Frionel) corresponds to offsets 0F10 and 0F11 and so on. Use any hex editor you want, I used hex workshop -- Use bioNES and record a save state. Weapon and Spell offsets: they come in pairs, Frionel's offsets start at 0f00 . To change the level of something simply replace the level byte with whatever you would like (I believe 16 is the max. -- that is 0F for all you non-hexers). All changes except evade and magic defense will show up immediately (for evade and magic defense to show up you must fight one battle). Frionel's Offsets: 0f00 - hands level 0f01 - hands level up points 0f02 - shield level 0f03 - shield level up points 0f04 - knife level 0f06 - club level 0f08 - spear level 0f0A - sword level 0f0C - axe level 0f0E - bow level 0f10 - Spell level for spell #1 0f12 - Spell level for spell #2 0f14 - Spell level for spell #3 0f16 - Spell level for spell #4 0f18 - Spell level for spell #5 0f1A - Spell level for spell #6 0f1C - Spell level for spell #7 0f1E - Spell level for spell #8 0f20 - Spell level for spell #9 0f22 - Spell level for spell #10 0f24 - Spell level for spell #11 0f26 - Spell level for spell #12 0f28 - Spell level for spell #13 0f2A - Spell level for spell #14 0f2C - Spell level for spell #15 0f2E - Spell level for spell #16 0f30 - ??? Not sure what this one does ??? 0f32 - Evade Level 0f34 - Magic Defense Level Maria's Offsets: 0f40 - hands level 0f41 - hands level up points 0f42 - shield level 0f43 - shield level up points 0f44 - knife level 0f46 - club level 0f48 - spear level 0f4A - sword level 0f4C - axe level 0f4E - bow level 0f50 - Spell level for spell #1 0f52 - Spell level for spell #2 0f54 - Spell level for spell #3 0f56 - Spell level for spell #4 0f58 - Spell level for spell #5 0f5A - Spell level for spell #6 0f5C - Spell level for spell #7 0f5E - Spell level for spell #8 0f60 - Spell level for spell #9 0f62 - Spell level for spell #10 0f64 - Spell level for spell #11 0f66 - Spell level for spell #12 0f68 - Spell level for spell #13 0f6A - Spell level for spell #14 0f6C - Spell level for spell #15 0f6E - Spell level for spell #16 0f70 - ??? Not sure what this one does ??? 0f72 - Evade Level 0f74 - Magic defense level Guy's Offsets: 0f50 - hands level 0f51 - hands level up points 0f52 - shield level 0f53 - shield level up points 0f54 - knife level 0f56 - club level 0f58 - spear level 0f5A - sword level 0f5C - axe level 0f5E - bow level 0f60 - Spell level for spell #1 0f62 - Spell level for spell #2 0f64 - Spell level for spell #3 0f66 - Spell level for spell #4 0f68 - Spell level for spell #5 0f6A - Spell level for spell #6 0f6C - Spell level for spell #7 0f6E - Spell level for spell #8 0f60 - Spell level for spell #9 0f62 - Spell level for spell #10 0f64 - Spell level for spell #11 0f66 - Spell level for spell #12 0f68 - Spell level for spell #13 0f6A - Spell level for spell #14 0f6C - Spell level for spell #15 0f6E - Spell level for spell #16 0f70 - ??? Not sure what this one does ??? 0f72 - Evade level 0f74 - Magic defense level Character 4's Offsets: 0f80 - hands level 0f81 - hands level up points 0f82 - shield level 0f83 - shield level up points 0f84 - knife level 0f86 - club level 0f88 - spear level 0f8A - sword level 0f8C - axe level 0f8E - bow level 0f90 - Spell level for spell #1 0f92 - Spell level for spell #2 0f94 - Spell level for spell #3 0f96 - Spell level for spell #4 0f98 - Spell level for spell #5 0f9A - Spell level for spell #6 0f9C - Spell level for spell #7 0f9E - Spell level for spell #8 0fA0 - Spell level for spell #9 0fA2 - Spell level for spell #10 0fA4 - Spell level for spell #11 0fA6 - Spell level for spell #12 0fA8 - Spell level for spell #13 0fAA - Spell level for spell #14 0fAC - Spell level for spell #15 0fAE - Spell level for spell #16 0fB0 - ??? Not sure what this one does ??? 0fB2 - Evade level 0fB4 - Magic defense level *========================================; *Basic Stats ; *========================================; So far the only basic stat that I can decode is the M Power byte. This is at offset 0E25 for Frionel. All stats for Frionel can be changed at offsets 0e20 - 0e2F but they are not permenant changes, after battle all but magic power return to the old levels. Really wierd! *==============================================; *Planned for next release ; *==============================================; Well, I would like to know how to modify everything like HP, MP, Stats, Items, etc. In order of priority: HP / MP Basic Stats (POW, INT, etc...) Items Items list(?? anyone interested ??) Anything else I can think of or someone tells me about *==============================================; *Revision History ; *==============================================; Well, since this is version 1.00 there is nothing to go here yet. If you find any inaccuracies, have any comments, or just feel like what a monumental waste of time this was, please email me at: Sterlings_box@hotmail.com © 1999 The Cheese Wizard is Melting. All rights reserved.