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

Author Topic: Translating Saturn Grandia  (Read 4033 times)


  • Jr. Member
  • **
  • Posts: 18
    • View Profile
Re: Translating Saturn Grandia
« Reply #20 on: September 27, 2018, 09:27:12 am »
There is a tool to translate grandia psx version by butz, the spanish translation used that tool.
Maybe can be useful for saturn version.
I have the tool, but requires an archive that I don't have.
The tool have a GUI to translate and modify pointers around the game. If someone have the complete tool I'm interested too.

Well I've been working on making some basic tools of my own. I've figured a bit more out such has how to parse the script out of the MDT/MDP files, how to break down the script file further into individual event sequences, etc. So with that figured out and digging into the files more it's becoming more obvious that the Saturn and PS1 script data is pretty much in the same format, just the non text data is byte swapped due to endian differences.

But if you have the tool I can take a look at it and see what I can figure out from it if you can link me to it.


  • Jr. Member
  • **
  • Posts: 18
    • View Profile
Re: Translating Saturn Grandia
« Reply #21 on: February 09, 2019, 02:14:17 am »
So it's been a while since I've updated this thread here. I've made quite a bit of progress though. First I've successfully been able to convert the PS1 script over to the Saturn format and have it to work. This has made it so pretty much all the script is translated and for the most part working. An older video of this in action can be viewed here:

Next, I moved onto the items, menus, and enemies. After some work, I've successfully translated the following:

  • All Menus (Save/Load, Config Options, Items/Equip/Magic/Moves/Status, Shops, Item Get, etc.)
  • All Items
  • All Monsters and their attacks.

These have been done by pulling the data out of the Playstation version and injecting it into where it needs to go into the Saturn version. For the items this wasn't too hard as I just needed to put the English data into the file and adjust the pointers. For the monsters it was a bit more painstaking as there was no consistent pattern and all 200+ monsters had to be manually changed.

Menus I was able to somewhat automate it with a tool that looked for pointers/offsets in the BIN files for those screens, and then updated those values based on the new data I wanted to put in to replace the Japanese text. This worked successfully for the most part, with only a few files needing hand adjustments afterwards. I'll be committing these tools to github after I take some time to clean the code up a bit.

Here's some screenshots to show the progress:

However I have hit a snag. It seems that the English PS1 version created additional MDT files for some areas where the text was too big to fit into RAM. Basically the created a duplicate file from a parent MDT file, and put the overflow text into that one. This new file then takes the place of the original after certain story events have happened.

I've looked into the possibility of recombining these files but I'm not sure if it will work as we may hit the same problem. So I'm curious if it's possible to do the same thing the PS1 version did and create these clone files and find a way to make the game use them. However that's probably going to take some time to figure out.

February 09, 2019, 03:22:42 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Sorry for the double post, but I did some more digging and I have at least found what the game uses to know which MDT file to load when you change areas. At offset 0x06029A00 there's a table that lists all the files on the CD, with a value for what sector it's at, and how many bytes it is. The game references this when it wants to load a new file. How it knows which file to get out of this list though I don't know yet.

However, I have been able to play around and have the game load different areas for me by changing the values for one MDT file to be that of another. So by doing this I was able to go from the Port of Parm to New Parm and test out the magic shop screen:

Unfortunately this screen got modified in the English PS1 version, so some of those translations either wont fit or don't make sense, so I've had to improvise a bit here. I also tested out the buy screen and found I missed a word in the trade screen:

Next, I realized I forgot to post some battle screenshots last night:

Finally, just for fun I took Sue on a date to the Pirate Island. The game went a bit bonkers, I can only imagine because characters that should be in the party weren't there, and characters that shouldn't be in the party were there. The game eventually crashed when invisible Feena tried to speak after Justin spoke on behalf of a mermaid:

« Last Edit: February 09, 2019, 03:22:43 pm by TrekkiesUnite118 »


  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: Translating Saturn Grandia
« Reply #22 on: February 11, 2019, 09:57:12 am »
 :crazy: Great NEWS!!!