Enter DnKnATH. It's something of a makeshift solution that ties Translation Aggregator to the game with loads and loads of duct tape. Insignificant details, long technical ramblings, screenshots and fair warnings are.....under the cut
This is probably of no interest to people who know Japanese, but, well, there are those of us who get by with machine translation.
So, to attempt translating Daiya you'll need the following:
- Daiya ISO
- 32-bit JPCSP PSP emulator I use ver 0.6r2927 running on java 6 Update 16)
- Translation Aggregator I use ver 0.4.9.r171)
- DnKnATH.
WARNING2: Running an emulator and memory scanner simultaneously crashes some machines under peak load. Reducing the load helps: pause an emulator. Don't use it at all if in doubt.
WARNING3: I fear the solution is very version-dependant, and probably won't work outside of the intitial conditions outlined above, and with other editions of the game.
Ok, on to the user manual...
STEP 1 Do th usual locale tango lt;-- that's a link, by the way) to change your locale to japanese and run Dayia on JPCSP (follow his r his utorial if you run into trouble). Start a new game or load a save – get to the place with a usual text box at the bottom.
By the way, emulator controls are complicated in their own right:
- Directional arrows navigate across available in-game choices
- D works as a left mouse click (advances everything)
- S works as Esc (turns things back)
- Enter brings up the options menu where you can save and load games and view your pretty Cgs
STEP 2. Pause JPCSP (see WARNING 2). No, seriously, pause it. Now run DnKnA.exe and wait until it loads the process and then... wait some more to be on a safe side (I haven't put in an announcement when the process is loaded, sorry, you'll have to trust your OS).
STEP 3. Press “Initialize”. Wait for eternity until it finds our string's address (you only need to do it once per session). After all is done, the address will either appear in the window together with copied text, or you're out of luck. DnKnATH attempts to copy the string to the clipboard like all grown-up text hookers do, so you don't need to do it manually.
Here's a screenshot of STEP2-3

STEP 4. Unpause JPCSP. Launch Translation Aggregator. Now, to make Translation Aggregator autocopy the contents of clipboard, go to Tools->Manage Attached Contents->Clipboard, and make sure that 'Auto translate' is ON and 'Translate on Japanese only' is also ON.
STEP 5. Decipher the grorious machine translation for hours, because we're done setting up! Don't close DnKnATH until you've closed JPCSP.
Both DnKnATH and Translation Aggregator run on timers set to different intervals, so sometimes they miss a beat, and the copied string does not appear in TA's window. When it doesn't, just copy and paste it from DnKnATH's lone edit box.
Also, sometimes emulator reallocates memory in the middle of nowhere: if DnKnATH's edit box is empty or weird, simply click "Initialize" again (don't forget to pause JPCSP!)

Here's a screenshot of the final setup (including Alice getting her arrow to the head)
*crosses fingers* let's hope nobody has to read the next part....
----------------------------------------
----------------------------------------
----------------------------------------
Ok, all of the above is well and good if DnKnATH works, but I'm certain sometimes it won't since it's so makeshift. So what do we do if it doesn't ?
Well, have no fear, here comes PART TWO: excessively complicated technical steps that can be used to pull the strings out of the emulator manually (it's basically what DnKnTH does in a script form). You'll need more stuff to achieve this, but well, that's rotten luck for you:
- Daiya ISO
- 32-bit JPCSP PSP emulator
- Translation Aggregator
- CheatEngine (I use ver 6.2.)
- A certain level of intimacy and trust with your PC (or else it will go down in flames. After all, you're going to access places noone else has accessed before)
- Courage, or, perhaps, reckless abandon. Call it what you want. Also, loads of patience and ability to follow obscure tutorials. But since you've managed to hook AGTH to Heart once I think you'll be al right.
Run Dayia on JPCSP.
Wade past the screens where you choose your name until you encounter this sad black screen. We'll use this as a baseline. Save here (Enter->WhateverTheFirstMenuItemIsCalled-

STEP 2 (feel free to skip it, it's here for continuity's sake. All you need is a string of numbers at the bottom)
Normally we'd have to assemble at least a part of the string we see on the screen using virtual keyboard, hich is pure madness. Here's the already assembled string for this particular screen
暗闇の中、奇妙な感覚に襲われた
Daiya uses a SJIS encoding, so let's find the numbers for this string. Copy it from the above and paste it into Translation Aggregator's main window, right-click and choose “Convert SJIS to HEX”.

You'll end with a pretty string of numbers, save them. Note that they will most likely start with 8x or 9x, or else there may be an invasive invisible symbol that messes up search results. Here's our string (so yeah, technically if you're still at that screen you don't really need to follow the above steps):
88C388C582CC928681418AEF96AD82C88AB48A6F
STEP 3
Now we need to find where the game stores the string. It's time to time to attach Cheat Engine to the emulator process. Click on the brightly blinking button, find java.exe in the process list and open it.

Let's start a new memory search. WARNING: Pause JPCSP AND make sure that 'Pause the game while scanning' is checked.
Press New Scan, paste the numbers we've acquired at the end of STEP 2 into the textbox, make sure we're looking for an array of bytes and that 'hex' checkbox is on. Don't change the default scanning range (like I did here) unless Cheat Engine is crashing on you...
Finally, press First Scan (and pray that the game is paused. Ah, screw it, just pray).

STEP 4
The scan returns a boatload of addresses, let's take a look at them! Unpause the game and press D. Numbers at least at one address should change (if they don't, well, you're out of luck.). That's the address we need! If there's more than one just pick the one that looks cleaner. RightClick->Browse Memory region. We should be looking at something like this:
Yep, despite the fact that left hand side looks like garbage, that's the string we need. Select it and a whole bunch of zeros that pad it. Now copy them (Ctrl+C)

STEP 5
Yeah, so what are we going to do with a bunch of numbers? Why, paste them into Translation Aggregator and convert them back to SJIS (Right-Click->HEX to SJIS), of course!
Voila!

Well, that was not as easy as it could be, but there are good news. The new string always appears at the same address during the gaming
session, so you'll only need to find it once, when you load the game into the emulator. So STEP 5 will be the backbone of our translation process. We'll follow the pattern:
Press D in the emulator to advance.
Press Ctrl+C in the Cheat Engine Memory Viewer to copy the current selection (if you did not mess up your selection, you don't need to reselect)
Get the string pasted into Translator Aggregator (we'll partially automate that in a moment)
Decode (Right-Click->HEX to SJIS, oh my, I HATE that this option is hidden in the context menu!)
Translate.
Saving and loading does not break the process. Closing the emulator does, though, so be prepared to repeat all of the above the next day!
STEP 6
Now, to make Translator Aggregator autocopy the contents of clipboard, go to Tools->Manage Attached Contents->Clipboard, and make sure that 'Auto translate' is ON, but 'Translate on Japanese only' is OFF.
Well, that's it, enjoy clicking five times as much as you would with a text hooker (sigh...)
P.S. Now, in theory, this could be applied to Omochabako, but... Omochabako is encoded in UTF-16, and position of the assembled string constantly changes, so this not-so-comprehensive guide won't work for it. Which does not mean that it can't be translated at all, but that is a story for another time.
P.P.S. Oh, and thanks to everyone whose links and code I've used and abused in this tutorial.
P.P.P.S Here's hoping I did not miss anything vital...
.

