Friday, March 10, 2017

Chrono Trigger DS: Cheated in the Mirrors

Yeah, I gave up trying to get them to drop legitimately, and cheated them in.  If you've been around this blog for a while, what's coming up next will be of no surprise to you.  Here's a how-to on hacking them into your own game!  It's a bit long-winded, but hey, you're hacking.  Get used to it.

Tools necessary:
  • A cartridge of Chrono Trigger DS
  • A 3DS with A9LH and Luma3DS installed
  • TWLSaveTool (install through the TitleDB menu in FBI)
  • DeSmuME
  • A ROM of Chrono Trigger DS (Since you already have a cartridge, you can just use Decrypt9/Hourglass9 to dump it.  Select Gamecart Dumper, then Dump Cart (trim).)
1. Getting the save off of your CTDS cartridge:
  1. If you're doing this with a fresh cartridge of CTDS that doesn't have save data, you'll need to start the game once so that it will initialize its save data.  Once it's going through logos and whatnot, you can exit back to your 3DS' home menu.
  2. With your CTDS cartridge in your 3DS, start TWLSaveTool.  Don't remove your CTDS cartridge until after you finish this process.
  3. Press B to back up the save file, keeping the default name (CHRONO_T.0.sav).  It will end up in /TWLSaveTool/ on your SD card.
  4. When TWLSaveTool says it's done, press Start to exit it.
  5. Transfer CHRONO_T.0.sav from your SD card to your computer however you're used to transferring stuff to and from your SD card (microSD Management, an FTP server, SD card reader, whatever).
2. Importing the save data into DeSmuME:
  1. If this is your first time using DeSmuME, create three folders inside the folder you extracted it to.  Name one Roms, name the second Lua, and name the other Battery.  Obviously, if this isn't your first time using DeSmuME, simply verify that you have those three folders and create any that you don't have.
  2. Put the ROM of Chrono Trigger DS into the Roms subfolder, and put CHRONO_T.0.sav in the Battery subfolder.
  3. Start DeSmuME and load the ROM of CTDS.  Let it initialize save data and start going through logos and whatnot before continuing.
  4. In DeSmuME's menu, go to FileImport Backup Memory...
  5. Select CHRONO_T.0.sav and click Open.
  6. On the next dialog that appears, select EEPROM 512kbit.  Even if you have to use the manual selection dropdown.
  7. DeSmuME will reset and pause emulation, unpause the emulation.  If the game still says "Initializing Save Data", you selected the wrong save size, and need to do it correctly this time.  If it just goes straight to the logos, you're good to continue.
3. Cheating in the items:
  1. Go to this pastebin link.
  2. Download ctmirrors.lua directly into the Lua subfolder you possibly created earlier.
  3. Get to Chrono Trigger's main menu and load your save.
  4. In DeSmuME's menu, go to ToolsLua ScriptingNew Lua Script Window...
  5. Click Browse and open ctmirrors.lua.
  6. The script will do its stuff, this is very fast.  If you get errors, let me know, because you shouldn't get errors.
  7. Close the Lua script window.
  8. Save your game.
4. Verifying you got the items:
  1. Go to your inventory and look at your accessories.
  2. You should see the Nu Arcana and the mirrors in the list.  If not, press Select to sort the list, they should now appear at the bottom of the list.
  3. You should have seven Nu Arcana, one Uranian Mirror, two Pontic Mirrors, one Promethean Mirror, one Hadean Mirror, and two Aresian Mirrors.
  4. Save (you know, again, because why not) and reset to the main menu of CTDS.
  5. Go into Extras, load your save, then go into Item Encyclopedia.
  6. Tap the Key Items icon, then scroll up.
  7. You should see that the Item Encyclopedia entries for the Nu Arcana and the mirrors have been filled in.
5. Getting the modified save back onto your cartridge:
  1. In DeSmuME's menu, go to FileExport Backup Memory....  Type CHRONO_T.1.sav for the file name, and save.  This way you still have a backup of the original (CHRONO_T.0.sav) should anything go wrong.
  2. Transfer your newly generated CHRONO_T.1.sav to /TWLSaveTool/ on your 3DS' SD card.
  3. On your 3DS, start up TWLSaveTool.  Use the d-pad to change the filename to CHRONO_T.1.sav, and press A to restore the save data.
  4. When TWLSaveTool says it's done, press Start to exit it.
  5. Start Chrono Trigger and inspect all the relevant menus to doubly confirm that you have the mirrors and the Item Encyclopedia entries for them.
  6. You're done!
By the way, don't get into writing Lua scripts, the language is horrendously bad.

Edit (2017-03-29): Acknowledgement of my awareness that the original process I posted was pretty bad and could be made better, plus a promise to make it better.

Edit (2017-04-13): After a bit of poking around, I've figured out how to use DeSmuME's tools more better.  Cheats will no longer be required, we can just edit the memory in-place and save as usual.  Also, I did some slight revisions to the steps in this update, including splitting up the steps into their overarching tasks to hopefully make the process easier to follow.

Edit: (2017-04-26): Steps revamped using a Lua script, which is an even easier thing for people to use than DeSmuME's memory viewer.  Also, I totally found the Item Encyclopedia in memory and documented the crap out of it, which is why this Lua script is able to give you the Item Encyclopedia entries for the items.

No comments:

Post a Comment

I moderate comments because when Blogger originally implemented a spam filter it wouldn't work without comment moderation enabled. So if your comment doesn't show up right away, that would be why.