Astonishia Story R Translation?


jmetal88

Erm.... Woohoo!
Joined
Mar 31, 2004
Messages
1,838
Age
35
Location
Pittsburg, KS
Website
mikesweb.exofire.net
Since I started going to college here at Pitt State last year, I've gathered a significant amount of Korean friends. It's my hope that through them, I'll eventually be able to understand the text in Astonishia Story R.

I was wondering though, how feasible it would be to write a translation patch for the binary. I've tried to look into the data file included with the game, but I can't find anything that's obviously Korean text (or English text, for that matter). Anyone have any idea how to find out what's going on inside there? It'd be really cool if I could get the game actually running in English. Of course, it'll be really cool just trying to learn Korean anyway, haha.
 
BlackCurtain said:
I've heard it's a great game, and I know that there's a English port of the game available for PSP. Or perhaps you rather play it on the GP32.

I'd have to buy a PSP if I wanted to play it on the PSP. :lol:

I already have a GP32, so it's my preference to learn what the Korean says. :)
 
Last edited by a moderator:
jmetal88 said:
I was wondering though, how feasible it would be to write a translation patch for the binary. I've tried to look into the data file included with the game, but I can't find anything that's obviously Korean text (or English text, for that matter). Anyone have any idea how to find out what's going on inside there?
IIRC commercial GP32 games are copy protected and encrypted, you'd have to remove the protection before being able to do the translation patch.
 
Last edited by a moderator:
notaz said:
jmetal88 said:
I was wondering though, how feasible it would be to write a translation patch for the binary. I've tried to look into the data file included with the game, but I can't find anything that's obviously Korean text (or English text, for that matter). Anyone have any idea how to find out what's going on inside there?
IIRC commercial GP32 games are copy protected and encrypted, you'd have to remove the protection before being able to do the translation patch.

I actually found a version that was already cracked on a website I won't mention here.

Anyway, I think only the executable would be encrypted, the game data looks like it's in a separate file.

My problem is, I have no idea what to look for inside the file. I read on another topic on here that the text might be unicode inside the data file, but I'm not really finding anything. I've found two places that might possibly be 'Press Start' but neither of them are literally 'Press Start' (there are variations of one or two characters).
 
Last edited by a moderator:
Doing ROM hacking blind like this would be really difficult. It's much more tractable if done with a debugging emulator. I don't know what's available in GeePee32 or its successor implementation in MESS; you may need to hack in extra support to get anywhere. Or do a new emulator altogether..

I haven't done much on my own so I'm not the best source for this, but I do think that some of the problems are similar to what you have to go through when debugging emulators, so I'll try to tell you how I'd do things. But I recommend posting on RHDN too.

Translation of text-heavy games usually involves modifying content in several subsystems that are accessed by different pieces of code in the game. For instance, there could be multiple dialog engines (Mother 3 as an example has a completely different code base for battle message than normal message boxes), menus, various smaller displays.. there's also going to be some amount that's purely embedded in graphics. So first you need to take a guess at what might be a unique subsystem and work at reversing it in isolation - if this ends up effecting more than you thought, great. If it affects less then oh well.

Once you have text on the screen somewhere you work backwards to find out how it's being displayed and where the data is coming from. For traditional gaming platforms this is a little simpler because you'll usually have some text in isolated elements like sprites or tiles. Here I'm guessing you'll first have to work out the basic graphics engine. Use write breakpoints to find the routine that draws a pixel of text on the screen then analyze the function and its callers to find out where its data comes from. Then put write break points on that data. Keep working backwards until you find stuff that came from a read-only source that always existed. Now you'll know how to change that piece of text.

From here you have to find out the bigger storage characteristics of that text. Most games will logically organize things so the same functions are responsible for an entire subsystem and the textual data is logically organized in ROM or files so that cohesive blocks of it are identified with some kind of handle, hopefully something like a single integer. Find where this handle is supplied to the text functions and forcibly change it to other things; repeat this until you exhaust all valid combinations and you'll get an idea of what the entire text collection is and can move on to making tools to dump and replace the entire script. This is probably an oversimplification, I'm sure there are a lot of obstacles you can run into during this process, so you'll have to kind of play it by ear.
 
Wow, that sounds insanely complicated. :blink:

I'll have to think about whether I really want to go about doing this, now. Well, I'll be trying to learn Korean, regardless, but regarding the hacking, it's gonna take me a long time to get to that level if I try it.
 
jmetal88 said:
Wow, that sounds insanely complicated. :blink:

I'll have to think about whether I really want to go about doing this, now. Well, I'll be trying to learn Korean, regardless, but regarding the hacking, it's gonna take me a long time to get to that level if I try it.

Unofficial translations are usually accomplished by at least two people: a hacker/programmer and a translator. Sometimes multiple of each. You may want to try to find someone to help with the former. Even if you end up finding the text stored raw in a file it's unlikely that the translation will be as simple as editing it verbatim because it probably won't all neatly fit and will involve changing offsets somewhere. But it sounds like it's not that simple to begin with.
 
Last edited by a moderator:
Back
Top