Chronotools - quickstart guide
Here's a quickstart guide on how to use Chronotools.
Decompress and compile Chronotools.
Compilation is not needed if you are running a Windows system or your Chronotools package came precompiled.
In the command line examples of this page, $ represents the command prompt.
$ tar xfj ../archives/chronotools-188.8.131.52.tar.bz2 $ mv chronotools-184.108.40.206 ct $ make -C ctYou only need to do this once.
Copy or link the Chrono Trigger ROM to your working directory.
You can use md5sum (standard unix utility) to test whether your ROM is the right one. The output below is the expected one.
$ ln -s ../FIN/chrono-uncompressed.smc chrono.smc $ md5sum chrono.smc 395bf4d0a75717b03c0c2131495faf7a chrono.smcYou only need to do this once.
$ cp ct/etc/ct.cfg .That is, copy the ct.cfg from Chronotools's etc to your working directory.
$ ct/ctdump chrono.smc $ cp ctdump.out ct.txtYou only need to do this once.
... by editing your ct.txt and ct.cfg files. Not necessary if you don't want to change anything.
ctinsert will say lots of things. Here's a sample run:
Reading ct.cfg... done Chrono Trigger script insertor version 220.127.116.11 Copyright (C) 1992,2005 Bisqwit (http://iki.fi/bisqwit/) > ct.cfg: Missing "typeface" in [font] Loading 'ct8fn.tga'... Loading 'ct8fnV.tga'... > ct8fnV.tga doesn't exist, ignoring Loading 'ct16fn.tga'... > ct.cfg: Missing "setup" in [conjugator] > Conjugator has nothing to do. Not using. Loading dialog... done. Analyzing character usage... Loading 'ct16fn.tga'... Loading 'ct8fn.tga'... Loading 'ct8fnV.tga'... > ct8fnV.tga doesn't exist, ignoring done. Calculating script size... done. Applying dictionary... done. Calculating script size... done. > Original script size: 241642 bytes; new script size: 178785 bytes > Saved: 62857 bytes (26.0% off); dictionary size: 509 bytes Free space: 02:96/1 06:854/1 0C:7981/11 0E:180/1 18:11459/2 1B:219/1 1E:14784/7 36:9747/2 37:60211/2 38:24084/2 39:18174/1 3C:15536/2 3F:28965/12 - total: 192290 bytes -- Loading images... done. Writing strings... done. > ct.cfg: Missing "load_code" in [linker] > ct.cfg: Missing "add_image" in [linker] Writing dictionary... done. Linking 5838 modules... done. O65 linker: Warning: Symbol "RELOCATED_STRING_SIGNATURE" was defined but never used. O65 linker: Warning: Symbol "VWF8_DISPLAY_EQ_COUNT" was defined but never used. O65 linker: Warning: Symbol "DECOMPRESS_FUNC_ADDR" was defined but never used. O65 linker: Warning: Symbol "CHAR_OUTPUT_FUNC" was defined but never used. -- Creating a virtual ROM... Inhabitating the ROM image... -- Free space: 01:30/1 02:8/1 03:40/1 06:45/1 0C:262/4 0E:1/1 18:50/1 1B:7/1 1E:42/2 36:45/1 37:600/1 38:161/1 39:141/1 3C:18/1 3E:25/1 3F:6183/3 - total: 7658 bytes -- Unallocating insertor data... Creating ctpatch-nohdr.ips Creating ctpatch-hdr.ips
ctinsert has been designed to work without requiring the ROM, and therefore if you to fix the checksum of your patch, you need to use the fixchecksum program.
$ ct/utils/fixchecksum ctpatch-hdr.ips chrono.smc ctpatch-hdr.ips
You can use your favourite method of patching the ROM now that the IPS file is ready. You can also use the unmakeips program that comes with Chronotools:
$ ct/utils/unmakeips ctpatch-hdr.ips chrono.smc chrono-patched.smcAfter this step, you can test your patch, and then resume editing and repeat earlier steps.
Besides editing the script, there are a myriad of tasks to do: