Final Fantasy V Magic Hacking Guide for ZSNES save states By Dark Penguin (penguin_821@yahoo.com) Version 1.0 Last Update: 12/30/03 Greetings, and welcome to the Final Fantasy V Magic Hacking Guide. I decided to write this guide when, after reading the available FF5 hacking guides, I found that there was little to no information available about hacking your characters' magic spells. Note that this guide assumes you have some basic knowledge about the hexadecimal system, and hex editing in general. Obviously, this info only applies to the SNES ROM version of FF5, and not the Playstation remake. Though if you want to try and hex edit your PSX saves, go right ahead. ^_^ If you wish to learn a little about how the spells are stored within the game, keep reading. Otherwise, feel free to skip to the "instructions" section below. You may wonder just why information concerning magic hacking is so scarce. Well, the data concerning which spells your party possesses is stored in a much different way than, say, the data for your items is. All 125 spells are stored in just 16 bytes. How, you ask? Well, suppose each spell had its own byte. If the byte read "00", the spell would be "off", or unavailable. If the byte read "01", then the spell would be "on" and ready for use. But wait! Each byte has 256 different possible values, right? Only using two of those values is such a waste of space. Somewhere along the line, someone came up with a great idea: since each item has only two possible values, why not store a whole bunch of them in one byte? Eight of them, to be exact. (There are 8 items and two values for each; 2 to the 8th power is 256. See? It works!) Stored this way, one byte holds the on/off info for eight different spells, and has a value to represent any possible combination of those spells. Fun, eh? (Don't worry if you didn't understand a word of that. I've never been good at explanations. >_<) ~Instructions for 1337 magic hacking:~ The setup here is pretty basic. Each byte of info holds eight spells. The value of that byte determines which, if any, of the spells are currently active in your FF5 game. Each spell occupies a predefined "position" within the byte, and each position has a hex value associated with it. I'll use the byte holding the first 8 spells as an example. BYTE 1563 (Sword Magic) ----------------------- |Spells |Hex Value | |-----------|-----------| |1. Ice 2 | 01 | |2. Fire 2 | 02 | |3. Sleep | 04 | |4. Mute | 08 | |5. Venom | 10 | |6. Bolt | 20 | |7. Ice | 40 | |8. Fire | 80 | ----------------------- To determine what the value of the byte should be, simply add up the values of all the spells that you want to have. If you only want Ice 2, and you don't want to have any of the other spells, then just open your saved state in a hex editor, go to byte 1563, and input the value "01". If you want both Ice 2 and Fire 2, then add the numbers together. 01 plus 02 equals 03. Input that number, load your game, and the first two spells will be active. But remember! You're working in hexadecimal here. 8 + 4 is NOT equal to twelve, it's equal to C. If you're not a hex master, note that most calculators -- including the Windows Calculator -- have hexadecimal modes that can be used for this sort of thing. If you want ALL the spells in a particular byte, I'll save you some math: all of the numbers added together equal FF, the highest possible value. So if you want all of the spells, just type FF at each byte. Now that you're a master hacker, I present you with the bytes containing all of Final Fantasy V's magic spells. Note that if a spell slot reads [Nothing], it means just that -- activating that slot does not activate a spell. I haven't seen any glitches or problems caused by activating these slots, but if you want to be safe I would suggest leaving them off. BYTE 1563 (Sword Magic) ----------------------------------- |Spells |Spell Type |Hex Value | |-----------|-----------|-----------| |1. Ice 2 |Sword | 01 | |2. Fire 2 |Sword | 02 | |3. Sleep |Sword | 04 | |4. Mute |Sword | 08 | |5. Venom |Sword | 10 | |6. Bolt |Sword | 20 | |7. Ice |Sword | 40 | |8. Fire |Sword | 80 | ----------------------------------- BYTE 1564 (Sword Magic) ----------------------------------- |Spells |Spell Type |Hex Value | |-----------|-----------|-----------| |1. Holy |Sword | 01 | |2. Bolt 3 |Sword | 02 | |3. Ice 3 |Sword | 04 | |4. Fire 3 |Sword | 08 | |5. Bio |Sword | 10 | |6. Break |Sword | 20 | |7. Drain |Sword | 40 | |8. Bolt 2 |Sword | 80 | ----------------------------------- BYTE 1565 (White/Sword Magic) ----------------------------------- |Spells |Spell Type |Hex Value | |-----------|-----------|-----------| |1. Size |White | 01 | |2. Armor |White | 02 | |3. Mute |White | 04 | |4. Antdt |White | 08 | |5. Scan |White | 10 | |6. Cure |White | 20 | |7. Psych |Sword | 40 | |8. Flare |Sword | 80 | ----------------------------------- BYTE 1566 (White Magic) ----------------------------------- |Spells |Spell Type |Hex Value | |-----------|-----------|-----------| |1. Wall |White | 01 | |2. Cure 3 |White | 02 | |3. Heal |White | 04 | |4. Shell |White | 08 | |5. Image |White | 10 | |6. Charm |White | 20 | |7. Life |White | 40 | |8. Cure 2 |White | 80 | ----------------------------------- BYTE 1567 (Black/White Magic) ----------------------------------- |Spells |Spell Type |Hex Value | |-----------|-----------|-----------| |1. Venom |Black | 01 | |2. Bolt |Black | 02 | |3. Ice |Black | 04 | |4. Fire |Black | 08 | |5. Dispel |White | 10 | |6. Holy |White | 20 | |7. Life 2 |White | 40 | |8. Berserk |White | 80 | ----------------------------------- BYTE 1568 (Black Magic) ----------------------------------- |Spells |Spell Type |Hex Value | |-----------|-----------|-----------| |1. Bio |Black | 01 | |2. Break |Black | 02 | |3. Drain |Black | 04 | |4. Bolt 2 |Black | 08 | |5. Ice 2 |Black | 10 | |6. Fire 2 |Black | 20 | |7. Toad |Black | 40 | |8. Sleep |Black | 80 | ----------------------------------- BYTE 1569 (Time/Black Magic) ----------------------------------- |Spells |Spell Type |Hex Value | |-----------|-----------|-----------| |1. Slow |Time | 01 | |2. Drag* |Time | 02 | |3. Psych |Black | 04 | |4. Doom |Black | 08 | |5. Flare |Black | 10 | |6. Bolt 3 |Black | 20 | |7. Ice 3 |Black | 40 | |8. Fire 3 |Black | 80 | ----------------------------------- *Also known as 'Speed' in some versions. BYTE 156A (Time Magic) ----------------------------------- |Spells |Spell Type |Hex Value | |-----------|-----------|-----------| |1. Comet |Time | 01 | |2. Exit |Time | 02 | |3. Stop |Time | 04 | |4. Demi |Time | 08 | |5. Float |Time | 10 | |6. Haste |Time | 20 | |7. Void |Time | 40 | |8. Regen |Time | 80 | ----------------------------------- BYTE 156B (Time Magic) ----------------------------------- |Spells |Spell Type |Hex Value | |-----------|-----------|-----------| |1. X-Zone |Time | 01 | |2. Quick |Time | 02 | |3. Meteo |Time | 04 | |4. Old |Time | 08 | |5. Haste 2 |Time | 10 | |6. Quarter |Time | 20 | |7. Reset |Time | 40 | |8. Slow 2 |Time | 80 | ----------------------------------- BYTE 156C (Summon Magic) ----------------------------------- |Spells |Spell Type |Hex Value | |-----------|-----------|-----------| |1. Golem |Summon | 01 | |2. Titan |Summon | 02 | |3. Ifrit |Summon | 04 | |4. Ramuh |Summon | 08 | |5. Shiva |Summon | 10 | |6. Remora |Summon | 20 | |7. Sylph |Summon | 40 | |8. Chocobo |Summon | 80 | ----------------------------------- BYTE 156D (Song/Summon Magic) ----------------------------------- |Spells |Spell Type |Hex Value | |-----------|-----------|-----------| |1. Power |Song | 01 | |2. Bahamut |Summon | 02 | |3. Levia. |Summon | 04 | |4. Phoenix |Summon | 08 | |5. Odin |Summon | 10 | |6. Syldra |Summon | 20 | |7. Carbuncl|Summon | 40 | |8. Shoat |Summon | 80 | ----------------------------------- BYTE 156E (Songs) ----------------------------------- |Spells |Spell Type |Hex Value | |-----------|-----------|-----------| |1.[Nothing]| | 01 | |2. Charm |Song | 02 | |3. Love |Song | 04 | |4. Requiem |Song | 08 | |5. Heroic |Song | 10 | |6. Magic |Song | 20 | |7. Vitality|Song | 40 | |8. Speed |Song | 80 | ----------------------------------- BYTE 1573 (Blue Magic) ----------------------------------- |Spells |Spell Type |Hex Value | |-----------|-----------|-----------| |1. L2 Old |Blue | 01 | |2. L4Quartr|Blue | 02 | |3. L5 Doom |Blue | 04 | |4. AquaRake|Blue | 08 | |5. Roulette|Blue | 10 | |6. Condemn |Blue | 20 | |7.[Nothing]| | 40 | |8.[Nothing]| | 80 | ----------------------------------- BYTE 1574 (Blue Magic) ----------------------------------- |Spells |Spell Type |Hex Value | |-----------|-----------|-----------| |1. Aero |Blue | 01 | |2. DeathClw|Blue | 02 | |3. MoonFlt |Blue | 04 | |4. TimeSlip|Blue | 08 | |5. Flash |Blue | 10 | |6. TinySong|Blue | 20 | |7. FrogSong|Blue | 40 | |8. L3 Flare|Blue | 80 | ----------------------------------- BYTE 1575 (Blue Magic) ----------------------------------- |Spells |Spell Type |Hex Value | |-----------|-----------|-----------| |1. MndBlast|Blue | 01 | |2. Fusion |Blue | 02 | |3. GuardOff|Blue | 04 | |4. DrkShock|Blue | 08 | |5. GobPunch|Blue | 10 | |6. Emission|Blue | 20 | |7. Aero 3 |Blue | 40 | |8. Aero 2 |Blue | 80 | ----------------------------------- BYTE 1576 (Blue Magic) ----------------------------------- |Spells |Spell Type |Hex Value | |-----------|-----------|-----------| |1. Missle |Blue | 01 | |2. WhiteWnd|Blue | 02 | |3. BlowFish|Blue | 04 | |4. ???? |Blue | 08 | |5. Exploder|Blue | 10 | |6. BigGuard|Blue | 20 | |7. Hammer |Blue | 40 | |8. Vampire |Blue | 80 | ----------------------------------- And there you are. If you have any questions, or need any help, feel free to drop me a line at penguin_821@yahoo.com. I only check my mail about once a week, though, so don't expect a reply fifteen minutes after you send a message. --------------- Version History --------------- Why did I put this at the bottom? Because it's not at the top. v1.0 -- First version. I probably won't make any further updates, unless mistakes turn up. In the future, though, I may add info on editing SRAM files, so that people who aren't using ZSNES can still make use of the guide. ------- Credits ------- Dark Penguin (myself): --wrote the guide, did the research, etc. The folks at RPGe: --translated FF5, and did a better job than Square, IMHO. Square: --They still made the game, though. Gotta give 'em some credit for that. The ZSNES Team: --Made a GREAT SNES emulator, the best out there. The Save the Whales Foundation: --Someone has to save some whales while I'm sitting here writing guides for old video games. ---------- Disclaimer ---------- Don't use this guide for anything bad. Don't sell the guide, don't use the guide commercially, don't steal the guide, don't eat the guide, don't set the guide on fire, don't print out the guide and use it as birdcage lining, and don't use the guide to take over the world. Keep out of reach of children, the elderly, and sixteenth century witches. If guide comes into contact with eyes, rinse with water and cotton candy. The surgeon general has determined that the amounts of carcinogenic compounds in the guide are well below federal standards. >-End of File-<