26 November 2001 - Reflection by Alex W. Jackson
If I’m not mistaken, it was Toma who sent me the Moon Crystal ROM ages ago, while I was still translating FF3. He had been working on the game, he had a really nice English font and had translated the intro sequence himself, but he couldn’t find the text pointers in the ROM and wanted me to help. I didn’t find the time to do it, so the ROM ended up sitting forgotten on my hard drive. I never even played the damn thing.
Many moons (aha) later, I was playing various NES ROMs in my collection at random and I loaded up Moon Crystal. My first impression was “Hey, this is a pretty damn sweet looking NES game.” My second impression was “Hey, I can actually read and understand all the kanji in this thing.” I had been formally studying Japanese for over a year at this point, and it seemed my work had been paying off. Within a couple hours, I had made some .tbl files and was peering at the script in thingy. One thing led to another, and within a week or so I had dumped, translated and inserted the entire script, gotten Toma’s permission to use his font (not to mention unilaterally take over “his” game), and was bugging the CTC for title-screen hacking help so that I could release a patch with the translation actually credited to someone.
Oh, and as for the pointers which Toma had been unable to find, the key to the mystery was something Darkforce had told me once on IRC. I remembered that he had mentioned a certain SNES action game which had no pointer tables, but rather each string address was hardcoded right into the ASM program code. On a hunch, I searched the Moon Crystal ROM for what I figured a hardcoded string address in 6502 ASM might look like, and bingo. I didn’t bother straining my brain to design a custom script inserter–the game only had a couple hundred strings, so I just used a hex editor and changed each pointer by hand after inserting the English text with thingy.