I wrote this guide because this one assumes anyone interested in editing hex values already knows how to do it. I didn't. I figured it out by spending an evening puzzling over that one, plus some stuff linked to/discussed in the comments, and through having used this guide previously. I still don't think I'm doing exactly the thing that first guide is trying to describe, but my way works fine.
CheatEngine is a piece of software that can edit various bits of your game as you play. You can download it here. I'm using version 7.2 with the Steam edition of Final Fantasy IV.
Duplicating Items
- These are the steps to create more of an item you already have in your inventory.
- Start Final Fantasy IV and load your saved game. Go to a shop.
- Open Cheat Engine.
- Click on the little magnifying glass/screen image on the top left of Cheat Engine (labelled '1' in the image below) and select Final Fantasy IV from the list (2). Make sure you select the game not the launcher. Click "open".
- We're now going to find the data for the first item in your inventory. I have 10 Hi-Potions in that slot.
- Change the 'value type' to '2 bytes'. Put '10' - or however many items are in your first slot - as the value, then select 'first scan'.
- This found 10,622 entries. We need to narrow it down to one.
- Change the number of items. I sold a Hi-Potion, decreasing my total by 1.
- Change the scan type to 'decreased value by' (6) and set the value to '1' (7). Hit 'next scan' (8) to search amongst the results you already found, to see which one has decreased by 1. In my case, this left me with 11 results (9).
- At this point, I'm pretty confident that the result I want is the one that begins "FF4.exe". Just to be sure, I sell off another Hi-Potion and search again for a value that's decreased by 1. You literally just need to hit 'next scan' after selling a Hi-Potion.
- This narrows it down to 3 options, so I do it again, leaving me with one option.
- Click on that one option to highlight it (10), then hit the red arrow (11) to bring it down to your memory bar (12).
- You can change the description by double-clicking on "no description". Name it something like Inventory 1.
- You can now change how many Hi-Potions you have. Double click on the value - in this case, 7 - and change it to something else. I changed it to 25 The value won't immediately change on your screen in Final Fantasy 4, but if you reopen your inventory, you will see you now have 25 Hi-Potions.
- Put the item you want to duplicate in your inventory, i.e., if it's an armour, make sure it's unequipped. I'm going to duplicate my Adamant Armour.
- In your inventory, place your cursor on the item and hold down the action button. When the cursor splits into two, move it to your Hi-Potions then release to swap the two items places in your inventory.
- The Adamant Armour is now in the first slot in my inventory. On Cheat Engine, the value of the address we saved has changed to '1' because I only have 1 Adamant Armour.
- Change that value into whatever number you like. Change it to 5, close and reopen your inventory, and you'll have 5 Adamant Armours.
- Repeat this with whatever item you want to duplicate. Put it into the first slot and change the amount of it that you have.
Change an Item Stack into Another Item
- I have 76 Dry Ethers. I want to change them into Golden Apples.
- To do this, I will need the hex codes for Dry Ethers and for Golden Apples. These codes are listed in this thread. Dry-Ether is 138D, Golden Apples are 13A2.
- In Cheat Engine, hit 'new scan' if you are following this guide in order.
- Put '138D' in the search box and tick 'hex' next to it (1), then hit 'first scan' (2). This found 57 results for me.
- The result in green which begins FF4.exe is the one we want. Highlight it (4) and click the red arrow (5) to bring it down to the window at the bottom I renamed it 'Hi Potion', because I forgot that I was looking at Dry Ethers (6).
- If you want to, you can now buy another Dry Ether and turn it into something else by repeating the steps above.
- I don't know if obtaining the Onion equipment or Adamant Armour in this way unlocks the relevant achievements, since I'd already obtained them before I started doing this.
- I could not turn the Yoichi Bow into an Artemis Bow this way but I could change a potion into an Artemis Bow. I don't know why.
Changing Key Items into Augments
- At this point in the game - right before the final boss - I have a Baron Key, Whisperweed, Luca's Necklace, and a Lugae's Key that served no further purpose.
- This method is very similar to that described above.
- The code of the Whisperweed is 2331. Start a new Hex search, as above, and search for that value.
- Once you have it, change the value to the key item you want. For example, the Limit Break augment, which is 23A2. Close and reopen your inventory, and the augment is there, ready to use.
- Final note: when you close Cheat Engine it will warn you that you haven't saved. Ignore it. That has nothing to do with your game and won't undo anything you just did.
- I don't know how to make new items or new key items out of nothing.
- Theoretically, you could edit your number of key items the same way as you can your inventory items. The problem is, there isn't an easy way to change the amount of a specific key item you have to figure out which address is pointing to that value. If you figured out how to do that, you could, for example, give yourself 10 whisperweeds, change them into an Augment, use it, change the remaining 9 into a different Augment, use it, and so on.
Using Cheat Engine to Track or Change an Enemy's Hit Points
- This probably isn't worth doing for anything other than Proto-Babil.
- Begin the battle, then pause.
- Again, we are starting a new search. Untick 'hex', change the value type to "4 bytes" and search for 'unknown initial value' with a New Scan. This will find several million results.
- Do not unpause your game. Wait a few seconds - 2 or 3 is fine - then search for 'unchanged value' with Next Scan. This will get rid of any of the results that changed while your game was paused. We know the enemy's hit points didn't change while the game was paused, so we know those aren't the results we wanted.
- Damage the enemy, then pause.
- Change your scan type to 'decreased value' and hit 'next scan'. Alternatively, if you know exactly how much damage your attack did, search for "decreased value by" that number with next scan.
- Repeat the last step until one value remains. This will be your enemy's hit points. Bring it down to the box at the bottom and watch it change as you attack.
- Yes, you can change it so your enemy only has a few or even 0 hit points left and they will die instantly.
- If you reload your game, the address of the enemy's hit points will change. That is, you will have to start from the beginning for every battle, even against the same enemy.