**************************************************** * PART 16: ANATOMY OF THE CODE: FINAL FANTASY III * **************************************************** <16.1> Introduction----------------------------------------------------------- I have done most of my code-creating work with the Final Fantasy III game by Squaresoft. What follows is the results of lots and lots and lots of guessing. <16.2> Memory Address Positions----------------------------------------------- * Positions 6 and 7: Alter these positions in a pre-existing code to change its effect slightly. Sometimes, you can end up with an entirely different code by changing the sixth character, however. The most common values for these positions are D, 0, 6, and A for position 7 and D, F, 4, 7 for position 6. EX: CE17-77D6 Learn spells at 5x rate CE17-7DD6 Gain every 4th rage on the right hand side of Gau's list after one battle; screw up configuration 59A3-846D Enables entire Veldt cycle, plus some bosses 59A3-8FDD Only run into enemies from Kefka's Tower on the Veldt. * Positions 3 and 4: A good way to create codes is to take a common ending (-XXXX) and a constant value (first 2 characters -- AA seems to work well for a constant) and experiment by changing the third and fourth characters. AA00-54D8 Mimic enemies' last action AA88-54D8 Changes battle music AA23-54D8 16,777,216 experience pts. per fight AA2D-54D8 Act weirdly in battle ENDINGS TO TRY: --------------- IN BATTLE: -54D8, -54DB, -E4D8, -E4DB, -8D68, -84D8, -84DB, -77D6, -E7D6, -57D6, -54A6, -54D6, -EFDB, -E768. ON MENU: -5F63, -5D03, -5DAE, -EF63, -8F63 ON MAP: -740D, -74AD, -746D, -770D, -77AD * Position 5: This is usually 7, 5, 8, or E. Changing this to one of the other three characters from a pre-existing code will usually create a new, different code. THIS METHOD IS OFTEN OVERLOOKED AND CAN RESULT IN SOME GREAT NEW CODES!! I found the Enemy Spells Code (**00-8D68) this way. * Position 8: Changing this will alter the broad area of the game which your code affects: ------------------------------------------ D, F, 4, 7 = Affects the map screen & walkabout graphics for characters 0, 9, 1, 5 = Miscellaneous (varies greatly) 6, B, C, 8 = Affects mechanics of battle; what happens after battle; menu screens in battle A, 2, 3, E = Affects out-of-battle menu screens (e.g. equip, item, stores) Try changing the 8th digit to another in its group for a new code which affects the same area of the game. Example: 2624-EFD8 Glitchy menu screen in battle 2624-EFDB Cast any spell on any target <16.3> Disassembling a Code--------------------------------------------------- Let's take the code xx00-8D68, which replaces Strago's Lores with various attacks from the game. We can learn a number of things from this code: 1. The memory address at which the commands for executing Strago's Lores are kept: xx00-8D68 ---> straight hex xx44-B08B ---> memory address 025042:xx Look at this memory address in a Hex Editor and you will see that it is set to "8B". This is because 8Bh (139) is the index number for the "Condemned" spell, the first spell on Strago's list. 2. The spells are stored in a certain order, and each spell in the game has an index number. Replacing xx with that index number will result in Strago's lore list starting with that numbered spell and including the next 23. Example: Index number of "oFire " = DD (00h, 0 dec) "oIce " = DF (01h, 1 dec) "oBolt " = D4 (02h, 2 dec) "Condemned " = 68 (8Bh, 139 dec) "Absolute 0" = 88 (BBh, 187 dec) "Engulf " = 29 (D5h, 213 dec) "Imp Song " = C7 (A3h, 163 dec) "Fallen One" = AD (C0h, 192 dec). 3. ANALYSIS OF THE CODE: Positions 1 & 2: xx sets the value for the memory address 025042h. Position 8: The "8" tells the code to affect the part of the ROM that controls battle, or the results of a battle Position 3: The "0" directs the code pointer to the MAGIC-TYPE MENU area of the memory. Positions 4 & 5: These zero in on the LORE menu in the memory. Positions 6 & 7: These affect the addresses that tell the game HOW to handle the selection of a Lore (cast a spell). Changing these can result in different things happening when you select a Lore (e.g., execute a physical attack, screw up battle, black out game).