News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Lost in (the process of) Translation  (Read 3419 times)

ArugulaZ

  • Jr. Member
  • **
  • Posts: 7
    • View Profile
Lost in (the process of) Translation
« on: August 16, 2011, 03:25:36 pm »
So here's the situation.  Game hacks aren't new to me, and I've even been able to alter the text in a game.  However, translating games from Japanese to English has been a different ball of wax.  I've been using this tutorial by Jair, and while it does work for finding English text, it hasn't been useful for finding Japanese text.  I've tried several different games, including the Japanese version of Final Fantasy shown in the tutorial, and haven't had any luck finding strings of hiragana using the code numbers supplied in the tutorial.  I've tried several different Hex Editors, including Translhexion, Hexecute, and Hex Workshop, and I get the same results with every program... frustration and disappointment.

What am I doing wrong?  Am I missing something, like a table I should be using to sniff out the code?  Which hex editor is best for this kind of thing?  What settings should I use?  Any help you could provide would really be appreciated!

Also, while I'm asking, I was wondering about a couple of games I would like to translate.  The first is Fighter's History: Mizoguchi no Kikkipatsu!, the Japanese-exclusive sequel to the Data East fighting game that raised the ire of Capcom back in 1993.  I've been snooping around in the code using a tile editor, and I haven't been able to find anything that even remotely resembles the font used in the game.  I've had a little more luck with Ninku Gaiden: Hiroyuki, a Pengo clone for the Sega Game Gear, but what appears to be text in the tile editor just seems to corrupt the game code.  Has the text been encrypted?  If you could explain what's up with those two games, I'd appreciate that as well.

Pennywise

  • Hero Member
  • *****
  • Posts: 2256
  • I'm curious
    • View Profile
    • Yojimbo's Translations
Re: Lost in (the process of) Translation
« Reply #1 on: August 16, 2011, 06:14:57 pm »
You need to build a table of a game's Japanese characters and load that with the ROM into a hex editor. For most general purpose romhacking stuff, I use Windhex.

To find the font values, I usually use an emulators PPU/VRAM viewer. Sometimes the font values aren't easy to figure out and so I try relative searching. If that doesn't work, it's debugging and tracing time.

ArugulaZ

  • Jr. Member
  • **
  • Posts: 7
    • View Profile
Re: Lost in (the process of) Translation
« Reply #2 on: August 17, 2011, 06:37:58 am »
It's kind of a chicken and egg thing though, isn't it?  I can't have a table for that specific game until I know how the text is stored.  Should I use a generic table (Shift-JIS, etc.) until I've been able to retrieve that information?

I'll try WindHex and see where it gets me.  Thanks for the recommendation!  If you have any more tutorials specifically related to the subject of translation, please let me know... they'd really come in handy!

Pennywise

  • Hero Member
  • *****
  • Posts: 2256
  • I'm curious
    • View Profile
    • Yojimbo's Translations
Re: Lost in (the process of) Translation
« Reply #3 on: August 17, 2011, 10:36:38 am »
I don't think SJIS is that common for a lot of the older consoles like NES, SNES etc. Pretty sure SJIS is more common in the older Japanese PC systems.

As for tutorials, I believe most of them are outdated, but there's still probably a few useful ones like relative searching concepts. Anyway, you're gonna want to start a thread in the beginner board.

Spikeman

  • Hero Member
  • *****
  • Posts: 1063
  • *unce unce unce*
    • View Profile
    • None at the moment, check out my Last.fm page instead?
Re: Lost in (the process of) Translation
« Reply #4 on: August 17, 2011, 10:48:07 pm »
I find that the easiest method for finding Japanese text is to first find the graphics for the game's font. Often you can just find them by looking in a Tile Editor, but you didn't seem to have luck doing this. Did you try doing different bit depths? Sometimes a game will store its font in 1BPP or 2BPP even if the system tends to use other methods for the rest of the graphics.

If I can't find the font this way, the font is usually compressed in some way, and I usually turn to a debugger. Set a write breakpoint on the graphics in RAM and work backwards. If you don't know assembly, the only other option is corruption. I prefer this utility for corruption: http://www.romhacking.net/utils/5/

Once I find the games font there are two ways to find text. First, I try just making a table in the order the font is stored (eg. 00 is the first tile, 01 is the next, etc.) A ton of games tend to do it this way so it's often a huge time saver. If that fails I usually hit the debugger - set a read breakpoint on one of the font graphics that's used in the text you want to find and trace it back to where the game finds the address for the graphics its using. This will usually involve some math on the byte that represents the character, which you can trace back further to the actual text.

If you need more detailed help with corrupting or debugging just ask. I'm not familiar with debugging on the SNES, but the principles should be largely the same.
Open Source Hacking Projects: Guru Logic Champ, Telefang 2, (Want more? Check out my GitHub!)

ArugulaZ

  • Jr. Member
  • **
  • Posts: 7
    • View Profile
Re: Lost in (the process of) Translation
« Reply #5 on: August 18, 2011, 01:36:24 pm »
You know, the weird thing is that I HAVE been able to find "text" in the Ninku Hiroyuki ROM, except it seems to trail off into other character blocks.  Half of KA will be in one block while the other half will be in another.  Sometimes I'll find kana stored in a single character block, but changing it yields no results or corrupts the ROM.  It's... mildly annoying.

I'm using WindHex right now, and it seems to offer a lot of handy features.  Only problem is that the Kana Search option doesn't work.  I'll try entering data from the keyboard supplied, but nothing appears in the text window!  That... is a lot more than just mildly annoying.  I'll have to screw around with it some more and see if I can make it work.

Spikeman

  • Hero Member
  • *****
  • Posts: 1063
  • *unce unce unce*
    • View Profile
    • None at the moment, check out my Last.fm page instead?
Re: Lost in (the process of) Translation
« Reply #6 on: August 18, 2011, 10:38:35 pm »
Have you tried fine tuning the alignment in the tile editor? I believe + and - do this in Tile Molester. You could also have the case where the font is a non-standard size, where you'll have to use something like FEIDIAN (ughhh) or a custom utility to view/extract it.

If changing a block does nothing, it's probably not what you're looking for. As for corrupting the ROM, there are a few reasons that might happen. Does the entire game just refuse to work when you do this? Or just a certain part. If it's the entire game there might be a checksum somewhere, which you'd have to fix to change anything in the game.

As for Windhex, I don't have that problem, my only idea is perhaps you don't have Japanese fonts installed? If you can't get it to work I recommend trying another hex editor. I personally use Translhextion, even though it's old and buggy, it works great for smaller files like SNES or GBA games.
Open Source Hacking Projects: Guru Logic Champ, Telefang 2, (Want more? Check out my GitHub!)