Translating Grandia

Ardiloso

New Member
an I/O error is usually caused when your computer tries to read the disc you're burning too, try closing imgburn rebooting your computer and try again but make sure you have nothing open that will read from the disc
Thanks, I did that already. I will try another burning software.

Update
Did a simulation with Nero and got a similar error. I also did a simulation using a random image and it did fine.
I believe it's somethiing with the latest patch but let's wait for @TrekkiesUnite118 , can you run a simulation with any burning software pretty pls?
Meanwhile I'll see if I can get another laptop to test it.

Update 2
I had success using my work laptop. Turns out it's my personal one wanting some attention.
Thank you @RazorX for the tip.
 
Last edited:

Ardiloso

New Member
New post for new reports.
There is another missing C on the saving screen when in the North Zil Desert (attached).
I love the battle menus and the post battle screens fully translated, they look so good, but there is something untranslated.
When you turn on auto battle using Tactics -> Single Player Tactics you can see an untranslated text bellow the HP at the top of the screen (see attached photo).

Edit: it says sakusen which can be translated as tactics.
 

Attachments

Last edited:
New post for new reports.
There is another missing C on the saving screen when in the North Zil Desert (attached).
I love the battle menus and the post battle screens fully translated, they look so good, but there is something untranslated.
When you turn on auto battle using Tactics -> Single Player Tactics you can see an untranslated text bellow the HP at the top of the screen (see attached photo).

Edit: it says sakusen which can be translated as tactics.
Ok, I have battle graphic fixed. I went with Auto as that's what the EN PS1 version went with and it fit nicely:



I should have the save screen bug fixed in a little bit.
 

Ardiloso

New Member
Ok, I have battle graphic fixed. I went with Auto as that's what the EN PS1 version went with and it fit nicely:



I should have the save screen bug fixed in a little bit.
Looks good.
Oh, the savings in the South Zil Desert and inside Castle of Dreams are missing the "C" too.
 
So the HD Remaster recently had an update that added text to a key scene that didn't have it previously. I was able to use those script changes to have the text show up in the Saturn version. However I had to do some assembly hacks to make it actually work:


Basically the game here doesn't render these scenes in engine. They're instead static screenshots that are drawn as a VDP2 layer on top of the actual scene to hide it. My guess is this was done to reduce loading in different maps. However because of that the game disables the normal text drawing code and puts these images in the VRAM location where text is normally written. In discovering this though I also learned that the MDT files can store subprograms that can be loaded in to handle things like this. So I was able to modify the subprogram for this scene to rearrange things in VRAM and get the text to display.
 

Ardiloso

New Member
Woah, this is amazing, you're the hero we need @TrekkiesUnite118!
I was thinking the other day... would be possible to enable press X for birdeye view in the dungeons anywhere, just like in the towns? I think this would be a nice qol feature. It's so annoying not have a map in the dungeons.
 
Woah, this is amazing, you're the hero we need @TrekkiesUnite118!
I was thinking the other day... would be possible to enable press X for birdeye view in the dungeons anywhere, just like in the towns? I think this would be a nice qol feature. It's so annoying not have a map in the dungeons.
Possibly? But I have no intention of doing that. There's specific points in the dungeons for doing just that. Because those exist that tells me the developers intended it to be that way to make things more difficult.
 

samson7point1

New Member
So the HD Remaster recently had an update that added text to a key scene that didn't have it previously. I was able to use those script changes to have the text show up in the Saturn version. However I had to do some assembly hacks to make it actually work:


Basically the game here doesn't render these scenes in engine. They're instead static screenshots that are drawn as a VDP2 layer on top of the actual scene to hide it. My guess is this was done to reduce loading in different maps. However because of that the game disables the normal text drawing code and puts these images in the VRAM location where text is normally written. In discovering this though I also learned that the MDT files can store subprograms that can be loaded in to handle things like this. So I was able to modify the subprogram for this scene to rearrange things in VRAM and get the text to display.
Saw this and got super excited because I thought you had found a way around needing to decode the obscurely encoded videos to add subs, lol. Still this is a really impressive achievement. This is shaping up to be more thorough than a lot of official localizations.
 

Ardiloso

New Member
Saw this and got super excited because I thought you had found a way around needing to decode the obscurely encoded videos to add subs, lol. Still this is a really impressive achievement. This is shaping up to be more thorough than a lot of official localizations.
(I have no tech knowledge) Maybe this is the way to subtitle the videos? Actually drawing the subtitles on top of the videos on the fly just like that.
 
(I have no tech knowledge) Maybe this is the way to subtitle the videos? Actually drawing the subtitles on top of the videos on the fly just like that.
To re-iterate, this ONLY worked because the game was already loading a sub-program to handle scripting out this specific scene. The script was still in memory and being read and text draw code was still there and able to be used. The same is most likely not true for FMV playback.

EDIT:

Now with the text box!:

EDIT2: Sadly the fix with the text box showing doesn't work on real hardware. I can have the text by itself work no problem, but the text box I can't get to show up.
 
Last edited:

samson7point1

New Member
To re-iterate, this ONLY worked because the game was already loading a sub-program to handle scripting out this specific scene. The script was still in memory and being read and text draw code was still there and able to be used. The same is most likely not true for FMV playback.
Just trying to absorb what you're saying. You discovered that the MDT files have a mechanism for loading in a subprogram that will allow you to place overlay graphics in VRAM (or did you actually find a way to re-activate the normal text drawing code?). It sounds like it's not totally out of the question (yet) that this could be done during FMV playback but that there are a ton of reasons that it probably won't work (i.e. VRAM is not in a state that will let you manipulate it, playback unloads the subprogram, the Saturn doesn't have the resources do do FMV and overlay text without skipping etc...)
 
  • Just trying to absorb what you're saying. You discovered that the MDT files have a mechanism for loading in a subprogram that will allow you to place overlay graphics in VRAM (or did you actually find a way to re-activate the normal text drawing code?). It sounds like it's not totally out of the question (yet) that this could be done during FMV playback but that there are a ton of reasons that it probably won't work (i.e. VRAM is not in a state that will let you manipulate it, playback unloads the subprogram, the Saturn doesn't have the resources do do FMV and overlay text without skipping etc...)
The subprograms exist for scripting specific things out when necessary. This scene already had one I could modify. What it originally did was handle loading in different images to NBG0 and switching between layers to show different things during the scene. The particular part I modified did this:
  • Disable NBG2 and NBG3
  • Copy Tile data for NBG0 to VRAM address 0x4000
  • Copy Pattern data for NBG0 to VRAM address 0x1C000
  • Draw NBG0 overtop the VDP1 and RGB0
What I did was modify it to do this:
  • Re-enable NBG2 and NBG3
  • Copy Tile data for NBG0 to VRAM address 0x24000
  • Copy Pattern data for NBG0 to VRAM address 0x1C000
  • Set up VRAM timing so VRAM Bank A1 is read properly since the Tile data is now there instead of A0.
  • Draw NBG0 overtop the VDP1 and RGB0
It ONLY worked because there was already a subprogram being used here, and the text routine was already running, the layers were just disabled.
 

samson7point1

New Member
I take it the original code was disabling NBG2 and NBG3 because it's normally in 0x4000 and your change pushed the NBG0 tile data is pushed to the other bank to leave room for NBG2 and NBG3? (And I'm guessing that NGB2 and NBG3 are where the overlay text is loaded?)

Are you editing this stuff in ASM or is it raw hex editing?
 
I take it the original code was disabling NBG2 and NBG3 because it's normally in 0x4000 and your change pushed the NBG0 tile data is pushed to the other bank to leave room for NBG2 and NBG3? (And I'm guessing that NGB2 and NBG3 are where the overlay text is loaded?)
Yes, this is correct.

Are you editing this stuff in ASM or is it raw hex editing?
Yes.

That all said, I was able to fix the issues on Real Hardware. I had to tinker with a few more registers and change the VRAM timings to get it to work. Needless to say just about every Saturn emulator out there is fudging their VDP2 implementations. The real thing is much more picky about what you can set.
 

Ardiloso

New Member
New bugs found with the latest patch (disc 2)

- After Guido left the party, the clock time has reset.

- The following locations have the missing C (from CD) on the saving screen:
Zil Ruins
Rainbow Mt Peak
Dreams Castle
Grandeur Engine
 
New bugs found with the latest patch (disc 2)

- After Guido left the party, the clock time has reset.

- The following locations have the missing C (from CD) on the saving screen:
Zil Ruins
Rainbow Mt Peak
Dreams Castle
Grandeur Engine
Please provide a save for before and after the Guido clock reset bug so I don't have to go looking for one.
 

Ardiloso

New Member
@TrekkiesUnite118 I'm back with the debug information. I did 2 saves before Guido leaves the party: one on a regular savepoint and the other through debug menu save anywhere function.
The last save is in Alent just after Guido's departure.
 

Attachments

Ok, new releases:

Disc 1 v0.8.1 (4/21/2020):
- Translated remaining untranslated text in battle menu (Auto Icon)

Disc 2 v0.8.1 (4/21/2020):
- Translated remaining untranslated text in battle menu (Auto Icon)
- All voices are now synchronized with the Japanese Audio
- Text has been added to in-game cutscenes where it originally wasn't present.
- Fixed clock reset bug when Guido left the party.

As always please report any bugs or issues.

With both discs now at Version 0.8.1 here's what remains to be done:
  • Fix Text Alignment Issues in the Options Menu
  • Fix Text Alignment Issues in the Save/Load Menu
  • Fix Text Alignment for "Ambushed!" and "Your Initiative!" in battles.
  • Try and find away to get Guido's full name to fit into the Battle Results Screen.
  • Polish up the Battle Results Screen (Some of the earlier parts look a tad sloppy).
  • Translate the Credits
  • Uncensor the Script (Coffee References mostly).
  • Figure out the FMVs and add subtitles.
 

Attachments

Ardiloso

New Member
Sadly I'm near the end game (only 2 dungeons left) and will have no more to report, but I will play test this latest patch and should go back to older saves to check some things. Great work.

I did skip Soldier's Graveyard and Tower of Temptation on pure laziness. Do you think there might be something to check out on those?
 
Top