News: 11 March 2016 - Forum Rules

Author Topic: Playstation Translation for Culdcept Expansion Plus - Where to start? [PSX]  (Read 1563 times)

TechieZero

  • Jr. Member
  • **
  • Posts: 4
    • View Profile
Hello --- this might be an ambitious undertaking, but if I would like to make a translation for the PSX game Culdcept Expansion Plus --- how would I go about it?

I see utilities listed on the site but they seem to be game-specific. I do see that others have gone outside of those utilities and have managed to do these hacks on other games.

Any suggestions to start?

Jorpho

  • Hero Member
  • *****
  • Posts: 5005
  • The cat screams with the voice of a man.
    • View Profile
This signature is an illusion and is a trap devised by Satan. Go ahead dauntlessly! Make rapid progres!

FAST6191

  • Hero Member
  • *****
  • Posts: 3299
    • View Profile
Utilities are the exception usually, or something made after someone puts the effort in and possibly translates it.

Anyway PS1 so you need something to pull apart the game into its constituent files... unfortunately Scene standards were not really a thing on the PS1 so there are hundreds of different formats and revisions thereof out there when all the CD writing companies were competing with each other. This also presumes the game does not use raw sector/LBA reads (some games, usually from Square Enix, hid things outside the basic iso 9660 CD format).
Alternatively if you are ripping fresh with current space year technologies then you do have to think what will go when someone grabs a vintage iso.
Anyway plenty of tools that will play here with the custom formats. If going more stock then there are things to rebuild it as well

From here fairly standard find the text, see what characters it supports, maybe edit the font to add/change characters if you need that (not all Japanese games will have a good Roman alphabet in there, and if you want the non English punctuation then almost certainly not going to find it there by default) and also figure out any pointers (games don't know where text starts and ends and it is quite costly to scan a text file every time, to that end files* will have pointers to note where everything is and changing text length necessitates this).
From there you can dump the text, hopefully into something that is reasonable to insert again afterwards.

Various menus, on screen graphics and more might not be simple text but actually graphics and thus need to be edited accordingly.

More advanced stuff might consider then some variable width fonts or other tweaks but that can be left for more advanced things. The PS1 has a fair bit of memory so you probably won't run into memory issues and need to cut down space (or consider an 8 bit conversion) but you never know.

*unlike some cartridge based stuff then files here will typically be loaded into memory so it might be a memory address, especially if it is in the binary, or will possibly be referencing locations within the file itself.

TechieZero

  • Jr. Member
  • **
  • Posts: 4
    • View Profile
Awesome start --- thank you, guys. I will start the journey of a thousand steps...if you have more keep it coming.

TechieZero

  • Jr. Member
  • **
  • Posts: 4
    • View Profile
I was able to use ISOBUSTER and extract the ISO into it's parts of essentially a .mov, what looks like a BIOS file, a small ID file of some sort, and lastly a large CULDCEPT.DAT file of about 35 meg.

I extracted the file RAW (I figured that is the safest) --- and examined it with Notepad++. I realize that many examine the files from a HEX view -- but if I throw NP++ into a Japanese char set I get Japanese text. Is this a wise end-run assumption?

Jorpho

  • Hero Member
  • *****
  • Posts: 5005
  • The cat screams with the voice of a man.
    • View Profile
I realize that many examine the files from a HEX view -- but if I throw NP++ into a Japanese char set I get Japanese text. Is this a wise end-run assumption?
You could try copying and pasting the text into Google Translate and see if it makes any sense.

I thought there was a hex editor now that supports Japanese text encoding? I lose track of these things.

Quote
and lastly a large CULDCEPT.DAT file of about 35 meg.
As M. Fast noted, a PSX game doesn't necessarily have to store data using the ISO9660 format that IsoBuster recognizes.
This signature is an illusion and is a trap devised by Satan. Go ahead dauntlessly! Make rapid progres!

FAST6191

  • Hero Member
  • *****
  • Posts: 3299
    • View Profile
You could try copying and pasting the text into Google Translate and see if it makes any sense.

I thought there was a hex editor now that supports Japanese text encoding? I lose track of these things.
As M. Fast noted, a PSX game doesn't necessarily have to store data using the ISO9660 format that IsoBuster recognizes.

I would be somewhat surprised if this stashes non audio stuff.

As far as hex editors. Crystaltile2 supports shiftJIS at least, EUC-JP is more fiddly. However it all tends to break when someone sets something on an 8 bit boundary instead of a 16 (or, worse still, has some 8 bit formatting) and you end up misaligned for the "just decode every 16 bits as though it is in http://rikai.com/library/kanjitables/kanji_codes.sjis.shtml http://rikai.com/library/kanjitables/kanji_codes.euc.shtml http://rikai.com/library/kanjitables/kanji_codes.unicode.shtml ).

That said for simple shiftJIS and euc-jp then
http://www.romhacking.net/?page=documents&category=&platform=&game=&author=&perpage=20&level=&title=&desc=shift&docsearch=Go
http://www.romhacking.net/documents/178/
Tables for various ROM hacking hex editors.

As far as using it for simple viewing. I guess it is an option that is not the worst. It won't save anything though -- most text editors tend to skip anything that is not a new line or in the encoding it knows. As your file likely contains more than just characters from a known encoding then you will lose that and with it the ability to run. Edit in place in a hex editor and you can learn much more about the game.
As above if you don't read Japanese well enough to do the equivalent of https://www.livescience.com/18392-reading-jumbled-words.html or something* then that is about the only time we would ever suggest using machine translation (normally it is considered terribly bad form for a would be translator to use it https://www.youtube.com/watch?v=GAgp7nXdkLU )

*you might still get some idea from the frequency of spaces (if you are going 40 something characters between a space then while still strictly valid in Japanese it is not likely), and if you vaguely recognise the hiragana and katakana (more everyday speech and used in simpler types of language, both together collectively known as kana) vs kanji (the more complex looking symbols that often stand for whole words, and two or three combine to make a more complicated concept, and rarely seen directly alongside the kana previously noted) then you might also have some inkling of whether it is just the converter making sense of random data or something more substantial even if you can't name any of the various characters involved by sight. If you fancy playing hacker more long term then have a look at the encodings given on the rikai sites above -- many will start with a given value (shiftJIS for instance starts with 8,9,E or F with most scripts predominantly being in the 8 range).

Vehek

  • Full Member
  • ***
  • Posts: 215
    • View Profile
wxMEdit is a hex editor that supports various standard text encodings, including shift-JIS. I can't say whether it does any better on the issue FAST mentioned.

I would start with getting a memory dump, then searching for text from the scene where you made the dump. If they compressed scenes in the game, then you wouldn't find text in the raw files from the disc. And it's good to have a known piece of text rather than blindly labelling random chunks as possible text and then asking people/a machine translator to translate them.

While use of SJIS is far more common in PS1 games than with earlier consoles, it was still very possible for developers to create their own custom encodings. So you may have to use the more traditional method of doing a relative search to create a text table. I don't have much advice for finding a font to work off of if it's not in VRAM or isn't a TIM file visible by scanning files with a tool. Most of the time, we just assume they placed the kana in a standard order.

TechieZero

  • Jr. Member
  • **
  • Posts: 4
    • View Profile
Wow...embedded cutscenes...I didn't think of that. This takes data mining to a whole new level. I have a lot to think about here...

Hemlock

  • Jr. Member
  • **
  • Posts: 37
    • View Profile
I would look into the games of the series that got localized, so you can expect what terms will pop up.

Red Soul

  • Full Member
  • ***
  • Posts: 210
    • View Profile
    • Dynamic Designs
Nice to know this is being considered.
What Hemlock said makes a lot of sense, and the PS2 version of Culdcept probably has most, if not all the necessary information. Other localized versions are Culdcept Saga on the XB360 and Culdcept Revolt on the 3DS as far as I know.

Edit: A few other notes. If I remember right, the DS version of Culdcept is based on CEP for the PS1 so maybe you could also contact the author of that patch if you have questions about terminology and such and last but not least, the fine people at the Culdcept Discord could point you towards more information as needed.
« Last Edit: April 04, 2021, 12:34:15 am by Red Soul »