Yeah, sorry if I was unclear before - I've already inserted the text and done a lot of testing around that.
🙂 The script format is identical between the iOS and Saturn versions except for encoding. Since the game is hardcoded to look for two-byte characters, and no two-character ASCII pairing in the script happens to coincide with an index in the game's font, the text renders invisibly.
While I haven't mapped the game's font to Unicode, I have looked through the entire font contained in SYSTEM.DAT, so I have quite a solid grasp on what's there. As I said, I didn't see an English font, but it is possible I missed it somewhere.
Since it doesn't have a standard encoding per se, just consecutive indices in the font, adding support for ASCII would entail:
- A hack that causes the game to read 1-byte characters instead of 2-byte characters. We have one for Magical School Lunar! already, but that game has a different text rendering routine.
- A rebuilt font that places English characters in the appropriate spots in the font, so that their indices in the font line up with their ASCII codepoints. Any empty characters would need to be padded out.
The alternative would be to alter the game's text so that each character takes up two bytes, pointed at places in the font containing the thinner English font. But we'd need to rewrite all the dialogue pointers in that case - it's entirely possible the amount of work would be more than the hack I describe above.
The iOS version's script doesn't contain the menu text, so that still needs to be extracted and reinserted as appropriate. I have a good lead on that though, I think.
As far as inserting the script, I have a bash script that rebuilds the game's ISO using mkisofs. That's bootable and it runs just fine, but it doesn't yet handle the pointers to the CDDA tracks, which I'm planning on handling later.
EDIT: Also, great to see it working with those voices! Good job. Hopefully we can find a way to get the WD voices to work, but regardless it seems we have an option!