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

Author Topic: Tips for pulling Japanese script from Sega Saturn games?  (Read 1335 times)

SammyRainbow

  • Newbie
  • *
  • Posts: 2
    • View Profile
Tips for pulling Japanese script from Sega Saturn games?
« on: April 16, 2020, 04:22:52 pm »
I'm looking to translate a Sega Saturn game, and I know generally how to build table files, do relative searches, etc. But this will be my first attempt at something with Sega Saturn and also my first time pulling Japanese text. Any advice for going about it? Will usual relative searching do fine? For context I have WinHex and MonkeyMoore but I'm open to suggestions for other programs to use.

Thanks in advance!

FAST6191

  • Hero Member
  • *****
  • Posts: 2897
    • View Profile
Re: Tips for pulling Japanese script from Sega Saturn games?
« Reply #1 on: April 16, 2020, 05:47:42 pm »
I rarely find relative searching to be even a tenth as useful for Japanese as I do for games with an alphabet order. If you want to construct one of those number searches based on font order or something then knock yourself out.

I have not pulled apart enough Saturn games to make proper generalisations like I can for other systems, indeed I would not be surprised to find nobody anywhere has (a few hundred megs of rare and hard to come by iso for a failed system tends to put a damper on any "grab and have a look for fun" ambitions, even with today's bandwidth and storage options).

Still it is a relatively powerful machine compared to what came before so expect to be dealing with 16 bit encodings with full Japanese rather than swapping out tables, or having a more limited selection (though still be prepared for that). Some devs might well use the common encodings ( http://www.rikai.com/library/kanjitables/kanji_codes.sjis.shtml http://www.rikai.com/library/kanjitables/kanji_codes.euc.shtml https://www.fileformat.info/info/charset/Shift_JIS/list.htm ) or minor variations on them but I still imagine linguist tactics and fiddling at game level will be happening as the main course of action.

You will probably not be getting so many formatting type setups from games of this vintage compared to later stuff/PC/today but it could still happen. Placeholders and the like I would expect.

Pointers will largely be file level affairs rather than memory level, with the obvious exception of any strings they stuffed into the binary. I don't know if I have examples of the big three pointer types (standard, offset and relative), much less more exotic stuff, but be prepared for all of them. Said pointers might well be more end of section than also a new line as well, though I still expect plenty of pointer also doubles as thing solving how to make new lines. You might also run into lack of memory issues (remember everything is read from CD into memory so while a CD might be able to store a decent library the 512KB of RAM has a harder time) like you do on any system where the ROM/ISO is not directly in memory at fast speeds, however most devs would have been reasonably aware of that limitation and have something like proper streaming/grabbing as long as you don't get too silly.

Compression might happen but at the same time this was CD country on a 3d console so space was not at such a premium.


If you are going to play big boy hacker and do 8 bit conversions, variable width fonts (don't know how common such things will be in the wild -- this was before we saw mass pushes for easy translations), larger text boxes, rapid speed text and all the other fun things that the translators aiming to do the very best often add then you get to play with the Saturn's nightmare of architecture and odd chips. Have fun there. At the same time though it is probably not going to be necessary to make a perfectly playable/acceptable translation.

SammyRainbow

  • Newbie
  • *
  • Posts: 2
    • View Profile
Re: Tips for pulling Japanese script from Sega Saturn games?
« Reply #2 on: April 16, 2020, 08:44:28 pm »
Thanks for the reply, and thanks so much for the links! I definitely will be checking those out. I kind of expected there wouldn't be a lot available for Saturn info but shot in the dark, ya know? This is kind of a passion project of sorts for me, and a good learning experience for me so I'm sure I'll be spending plenty of time working, trying stuff, etc. The encodings you gave me are probably gonna keep me busy for awhile (who knows, might get lucky.) So wish me luck!

Risae

  • Jr. Member
  • **
  • Posts: 54
    • View Profile
Re: Tips for pulling Japanese script from Sega Saturn games?
« Reply #3 on: April 17, 2020, 12:31:26 am »
Hi SammyRainbow!

i can tell you a bit about what i did to start a translation of the PS2 game Growlanser 6:

Since the game is an ISO i used the tool called "Xpert" to unpack the files inside.
Inside were ".DAT" files, which i needed to unpack again. Here i used the tool "quickbms" with a script that unpacks all the files inside the .DAT for me.
After that i found the files that contained the games script.
It took me a while, but i found out how the script files are build up (pointer table and the script itself):

https://growlanser6english.blogspot.com/2019/03/another-little-test.html

Now i used the tool called "Cartographer" to dump the script including the pointers associated to it.
Cartographer is a tool that you can script in a way to dump the text pointers and its text associated to it. Very cool program.

https://www.romhacking.net/utilities/647/

After that i used "Atlas" to re-insert them with the translation.
Atlas pretty much used the content of the dumped Cartographer text and re-inserts it and updates the pointer table.

https://www.romhacking.net/utilities/224/

Here is a SHIFT-JIS table that you can use for Atlas and Cartographer. It has a few issues but for starters its good.

https://www.romhacking.net/documents/179/

Recently i switched to "abcde", which is an updated version of both Cartographer and Atlas with new functions.
But i would recommend starting with the original programs, because it takes some time to learn how they work.

I never looked at a Sega Saturn game, but i believe it would be the same procedure.
Have fun with the translation!