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

Author Topic: ROM Translation [GB] Makaimura Gaiden The Demon Darkness  (Read 18042 times)

bailli

  • Jr. Member
  • **
  • Posts: 58
    • View Profile
ROM Translation [GB] Makaimura Gaiden The Demon Darkness
« on: October 18, 2012, 02:26:03 pm »
Hi everybody,

I am trying my first rom translation and my designated rom is "Makaimura Gaiden The Demon Darkness" aka "Gargoyle's Quest II".
Originally released for the NES later a gameboy port (with two additional levels) was released in Japan only. Since there is the english NES version the translation to english should be pretty straight forward, but I myself don't know any japanese. I have dumped the full text bank of the rom (hopefully correct) and posted a dump on Pastebin and into a GoogleDocs spreadsheet

Short notice about my text dump:
  • every line (pastebin) or every "block" (Google Docs) starts with a number and the old pointer
  • the ingame text box is 17 characters wide and has two lines; after 17 characters the game engine breaks automatically into a new line
  • forced line breaks are <br> (pastebin) or real line breaks (Google Docs; look sharp: many lines start with space!)
  • <clr> cleans the text box
  • <press> waits for user input before continuing
  • <yesNoBox,A,B> displays a Yes/No selection; A and B are the number of the text block that is jumped to corresponding to the selected answer
  • <shortWait> <closeTextBox> <playSnd,0xAA>, <currentPassword> should be self explaining
  • <inserts number?> <inserts item?> und <script? .... > should be copied over untouched and the text afterwards should be treated carefully because these are parts where I might have an error in my dump
  • The "item" that is inserted always seems to be アルゴブのつぼ
  • as roman letters you can use 0-9 A-Z ?!.'+-/

The (german) project post is at snes-projects.de.

Many thanks in advance to anyone who contributes :)

-bailli

Hiei-

  • Sr. Member
  • ****
  • Posts: 378
    • View Profile
Re: ROM Translation [GB] Makaimura Gaiden The Demon Darkness
« Reply #1 on: October 20, 2012, 09:17:37 pm »
If you want to reuse the NES translation and only translate the newer texts, the best would be to extract the texts of the Famicom (Japanese NES) version and the texts of the NES one (USA version). It's pretty easy for someone who don't know Japanese to make a japanese table for a Famicom Game with Nesticle (there is a menu where you just have to click on each character and Nesticle give you the hexa value of it).

Because chances are pretty high that there are in the same order (especially in an official translation).

Then, you will just have to compare both and copy-paste the translation in the GameBoy Script according to the results of the comparison.
« Last Edit: October 20, 2012, 11:21:03 pm by Hiei- »

bailli

  • Jr. Member
  • **
  • Posts: 58
    • View Profile
Re: ROM Translation [GB] Makaimura Gaiden The Demon Darkness
« Reply #2 on: October 21, 2012, 04:09:40 am »
I had a short look at the english NES version. It uses comrpessed text. So it would take some time to dump the NES version text...

Hiei-

  • Sr. Member
  • ****
  • Posts: 378
    • View Profile
Re: ROM Translation [GB] Makaimura Gaiden The Demon Darkness
« Reply #3 on: October 21, 2012, 04:29:15 am »
It's probably just a DTE, no?

I'll check it.

Edit : It's a MTE. Adress of the dictionnary : 0xD4AF.

A part of the .tbl file :

Code: [Select]
01=A
02=B
03=C
04=D
05=E
06=F
07=G
08=H
09=I
0A=J
0B=K
0C=L
0D=M
0E=N
0F=O
10=P
11=Q
12=R
13=S
14=T
15=U
16=V
17=W
18=X
19=Y
1A=Z

(You can easily complete it with testing for the other characters and for each entry of the MTE dictionnary).

Adress of the first text of the introduction ("A LONG, LONG TIME") : 0xF678

The MTE dictionnary values are F2XX ("F200 =  FIREBRAND" for example), each F2 value seems to start with a space.

F3XX are the same but without the space at the beginning of the word :

"F28D =  LONG"
"F38D = LONG"

October 21, 2012, 06:09:59 am - (Auto Merged - Double Posts are not allowed before 7 days.)
If there is no hurry, I think I can make a complete dump following the order of the text in the rom (contrary to a walkthrough), here's a sample :

Code: [Select]
A LONG,LONG TIME[NewLine]
AGO,[NewPage]

BEFORE HUMAN BEING[NewLine]
APPEARED...[NewPage]

THERE LIVED[NewLine]
A MONSTER[NewLine]
NAMED FIREBRAND[NewPage]

IN A TOWN OF[NewLine]
THE GHOUL REALM,[NewLine]
ETRURIA.[NewPage]

TO BECOME[NewLine]
A TRUE WARRIOR,[NewPage]

FIREBRAND TRAINED[NewLine]
HIMSELF[NewPage]

IN THE WARRIORS'[NewLine]
TRAINING CENTER[NewLine]
EVERY DAY.[NewPage]

BUT ONE DAY...[EndDialog]


YOU DID VERY WELL,[NewLine]
FIREBRAND![EndDialog]


I KNEW YOU WOULD YOU ARE[NewLine]
THE GREATEST[NewLine]
WARRIOR[NewPage]

IN[NewLine]
THE GHOUL REALM![EndDialog]


NOW HURRY[NewLine]
TO THE KING OF[NewLine]
THE GHOUL REALM I APPRECIATE[NewLine]
YOUR EFFORT,[NewLine]
FIREBRAND.[NewPage]

I NEVER DREAMED[NewPage]

YOU WERE[NewLine]
THE LEGENDARY[NewLine]
RED BLAZE.[NewPage]

BY THE WAY,[NewPage]

I HEARD OF A VERY[NewLine]
BEAUTIFUL LAND[NewPage]

CALLED[NewLine]
THE HUMAN WORLD.[NewPage]

IT IS UNDER[NewLine]
CONSTRUCTION.[NewPage]

EXPLORE THE LAND[NewLine]
AND IF YOU[NewLine]
LIKE IT,[NewPage]

TAKE IT OVER[NewLine]
AND BE THE KING.[NewPage]

FIREBRAND,[NewLine]
LEAVE FOR[NewLine]
THE HUMAN LAND[NewPage]

But it seems there is more MTE than just the F2 and F3 codes so it will take a little more time to find all of them and I'm off for the day.

(the sample upper is not longer accurate, but the dumps are accurate, they were a few errors with the MTE when I did the sample, because some words are present two times in the dictionary).

Here's my actual .tbl file if you are curious : http://www.hiei-tf.fr/Gargoyles_Quest_II_USA.tbl

Edit : Texts I found and dumped for now :

Texts from 0xD984 to 0xF93C : http://www.hiei-tf.fr/Gargoyles_Quest_II_USA_0xD984-0xF93C.txt (24.1 k)
Texts from 0x1FC81 to 0x1FDDF : http://www.hiei-tf.fr/Gargoyles_Quest_II_USA_0x1FC81-0x1FDDF.txt (1.08 k)

A few only codes are not interpreted but it's not important, it's some bytecodes and not some texts.

So if you manage to find some texts in the japanese rom (probably around the same adresses if you are lucky), they'll probably be in the same order.

Note : Not sure if I found all the texts, I didn't search a lot after I found the 24.1k part but it would be easier to spot once the copy-paste is over.

Note 2 : I can say the beginning of the 24.1k file are the lines as the beginning of the gameboy script.
« Last Edit: October 23, 2012, 02:17:25 am by Hiei- »

bailli

  • Jr. Member
  • **
  • Posts: 58
    • View Profile
Re: ROM Translation [GB] Makaimura Gaiden The Demon Darkness
« Reply #4 on: October 23, 2012, 05:41:52 am »
Thank you for your effort so far :)

I got a little bit sidetracked at the moment, because I studied the compressed (font) tile set. Currently I can decompress the font tile set - recompression is almost done, too.

When I get this working I might try to match up eng <-> jap text blocks using the google translator.

tryphon

  • Hero Member
  • *****
  • Posts: 722
    • View Profile
Re: ROM Translation [GB] Makaimura Gaiden The Demon Darkness
« Reply #5 on: October 23, 2012, 12:40:36 pm »
If the game is only half as good as Gargoyle's Quest, I'm looking forward to playing it :)

KingMike

  • Forum Moderator
  • Hero Member
  • *****
  • Posts: 7015
  • *sigh* A changed avatar. Big deal.
    • View Profile
Re: ROM Translation [GB] Makaimura Gaiden The Demon Darkness
« Reply #6 on: October 23, 2012, 02:34:26 pm »
When I get this working I might try to match up eng <-> jap text blocks using the google translator.
Good luck getting anything that makes any sense, let alone correct, out of Google Translate, especially from all-kana text. :P
"My watch says 30 chickens" Google, 2018

Hiei-

  • Sr. Member
  • ****
  • Posts: 378
    • View Profile
Re: ROM Translation [GB] Makaimura Gaiden The Demon Darkness
« Reply #7 on: October 23, 2012, 11:38:52 pm »
No need for Google translation to compare the texts.

Now, all you need is a dump of the japanese texts of Gargoyle's Quest 2.

Then, I'm sure some people will help you to do the comparison (I have nothing against helping you about that, for example).

Ill try to check the pointers and redump the texts with it, it'll be easier to compare if the pointers are in the same order.

I'll also try to dump the japanese texts of the NES version today.

October 24, 2012, 05:38:48 am - (Auto Merged - Double Posts are not allowed before 7 days.)
I started to make the comparison between the english translation of the NES version and the japanese Gameboy version, here's a sample :

http://www.hiei-tf.fr/gg-temp.txt

If it's okay, I'll continue like that.

(For the moment, they use the same order).
« Last Edit: October 24, 2012, 06:00:02 am by Hiei- »

bailli

  • Jr. Member
  • **
  • Posts: 58
    • View Profile
Re: ROM Translation [GB] Makaimura Gaiden The Demon Darkness
« Reply #8 on: October 24, 2012, 07:25:12 am »
Hey,

this looks good (considering I don't know any Japanese ;)). If you can finish this I think reinserting the script commands should work taking an educated guess. The tool to reinsert the script needs a little more work, but should be pretty straight forward.

I successfully inserted an edited tile set yesterday. As a test I just copied the Latin characters from the Gargoyles Quest I over. Now I am thinking about whether I should try and add lower case letters. Any suggestion for games that use nice lower case characters or is 8x8 pixel too small for anything readable?

P.S. I will be on a short vacation till sunday, so don't worry if I do not reply until then...

Hiei-

  • Sr. Member
  • ****
  • Posts: 378
    • View Profile
Re: ROM Translation [GB] Makaimura Gaiden The Demon Darkness
« Reply #9 on: October 24, 2012, 08:05:30 am »
Oh, if you want, I can directy insert the script overwriting the japanese texts, I'll do that then.

Edit : All previous reinserted dialogs are now done that way in the dump. I removed the "<br><press><clr>" and "<br>" because you'll have to modify them when the new text. I won't touch the ones which are real bytecode and which are needed to make the text work in the game.

Edit 2 : 80/160 (half done).
« Last Edit: October 25, 2012, 02:15:19 am by Hiei- »

LostTemplar

  • Hero Member
  • *****
  • Posts: 906
    • View Profile
    • au-ro-ra.net
Re: ROM Translation [GB] Makaimura Gaiden The Demon Darkness
« Reply #10 on: October 25, 2012, 04:27:46 am »
I just wanted to say that I noticed a few differences between the scripts, probably due to Nintendo's censorship policy back in the day. For example 死神 (God of Death) became "spectre", or 魔王 (Demon King) became just "king". If you feel like it, you could stay closer to the original, although it doesn't seem too bad.

bailli

  • Jr. Member
  • **
  • Posts: 58
    • View Profile
Re: ROM Translation [GB] Makaimura Gaiden The Demon Darkness
« Reply #11 on: October 29, 2012, 10:49:45 am »
@Hiei- Good work. Thank you.
One small note about the text dump. In the online version there is a small error. the <shortWait> command should take the next byte as waiting time, but it is printed as a Japanese symbol, just continue to copy it over as you already did and I will fix it later.

My program to reinsert the script should be ready also. I can dump and resinert the original script without changing a single byte. For the script reinsertion there is much free space available in the rom unlike the tile set where the changed tile set cannot be larger than the original...

I started to look into the menu/level screen translation. These "tiled" screens are similar compressed as the tileset. Decompression is already partly working.

About the script differences: The question here is if we want the translation to be close to the Japanese original or close to the English translation of both Gargoyle's Quest I and II? I feel it would be better to stick with changes made for the English version.

@LostTemplar Feel free to compile a list with the script differences, if the changes aren't that pronounced a second translation could be done without much work...

Hiei-

  • Sr. Member
  • ****
  • Posts: 378
    • View Profile
Re: ROM Translation [GB] Makaimura Gaiden The Demon Darkness
« Reply #12 on: October 29, 2012, 11:11:45 am »
Okay, I'll finish it tonight or tomorrow.

October 31, 2012, 03:48:02 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Here's the complete version : http://www.hiei-tf.fr/Gargoyle_Quest_II_GameBoy_English_Texts.txt

I didn't found the dialogs n°149, 151, 157 (158 texts are the same that 157) and 159 in the NES english version. There are probably some new texts added for the two new levels (as my two dumps texts are now empty, meaning every sentence has been copied, except the two I'm talking about in the following paragraph).

Those two dialogs are missing from the GameBoy dumps (they seem to be the ending texts) :

WHEN GHOUL REALM IS COVERED WITH THE BLACK LIGHT, IT'S THE CRISIS OF THE GHOUL REALM. THE BLACK LIGHT WILL BRING DEATH AND DESTRUCTION EVERYWHERE. BUT THERE IS ONE HOPE FOR US. THAT'S A RED GARGOYLE. HE WILL TURN INTO THE RED BLAZE AND SEAL THE BLACK LIGHT.

WHEN FIREBRAND DEFEATED KING BREAGER, FIREBRAND RELEASED ALL OF HIS POWER. THE GHOUL REALM WAS ENVELOPED IN FLAMES AND THE BLACK LIGHT WAS SWEPT AWAY TOGETHER WITH  THE KING OF DESTRUCTION'S ARMY. THUS THE GHOUL REALM RETURNED TO ITS PEACEFUL STATE AND FIREBRAND FULFILLED THE LEGEND OF THE RED BLAZE. AND HIS LEGEND WAS HANDED DOWN FROM GENERATION TO GENERATION.
« Last Edit: October 31, 2012, 03:52:54 pm by Hiei- »

bailli

  • Jr. Member
  • **
  • Posts: 58
    • View Profile
Re: ROM Translation [GB] Makaimura Gaiden The Demon Darkness
« Reply #13 on: November 01, 2012, 12:58:49 pm »
Thank you very much for your work :)

Indeed, dialogue 157 is the text after the first extra stage (see here) and number 158 is the for the second extra stage (#2).
Dialogue 153 seems to be something along the line of "DO YOU WANT KNOW THE PASSWORD?" according to the yes/no selection. (EDIT: Done.)
Dialogue 149 and 151 both start with a <clr> tag. Usually the text blocks after a yes/no selection start with this tag but no yes/no box in my current dump references these strings...

Maybe someone could give a nice translation for these sentences (the youtube commentary from the links above contains some information about the reward for the extra stages)?

dialogue 149:
「そんな ひよわな つめでは
この かわを わたることは
できないな

dialogue 151:
「おまえ せんしのあかし
しにがみのつめ を
もっていないようだな
モ-ロックさまに あってから
 でなおしてこい!

dialogue 157 (extra stage 1)
レッド アリ-マ-は
ホ-ミングファイア-を
てにいれた

dialogue 158 (extra stage 2)
レッド アリ-マ-は
ゆうたい りだつが
できるようになった

dialogue 159:
「しにがみのつめ を
 もらったようだな
やつらは てごわい
 がんばれよ

------

Back to some technical stuff: The decompression and compression of the already mentioned "tiled screens" is working. What I would like to do is adjust the size for example of the "LVL/USE/MAGIC" menu because currently it is too small to fit magic in...
« Last Edit: November 02, 2012, 11:32:40 am by bailli »

Hiei-

  • Sr. Member
  • ****
  • Posts: 378
    • View Profile
Re: ROM Translation [GB] Makaimura Gaiden The Demon Darkness
« Reply #14 on: November 02, 2012, 08:05:18 am »
I added the 153, I just forgot to replace it.

KingMike

  • Forum Moderator
  • Hero Member
  • *****
  • Posts: 7015
  • *sigh* A changed avatar. Big deal.
    • View Profile
Re: ROM Translation [GB] Makaimura Gaiden The Demon Darkness
« Reply #15 on: November 02, 2012, 12:33:16 pm »
Might as well do the easiest one.
157: Red Areemer (or Firebrand) got the Homing Fire.
"My watch says 30 chickens" Google, 2018

bailli

  • Jr. Member
  • **
  • Posts: 58
    • View Profile
Re: ROM Translation [GB] Makaimura Gaiden The Demon Darkness
« Reply #16 on: November 02, 2012, 04:53:31 pm »
I tried a quick text reinsertion today without any text formatting. The result was that the current script is already to long for a full 16 KiB rom bank. Luckily I just got a rough implementation of DTE going, which should be enough to fit the script in the rom... Now I need a efficient dictionary, currently I have 67 available dual tiles...

EDIT: Thanks@KingMike :)

EDIT2: Hm not quite. What is a good method for finding an unused byte as flag byte for the DTE routine... ?
« Last Edit: November 02, 2012, 05:15:08 pm by bailli »

Pennywise

  • Hero Member
  • *****
  • Posts: 2339
  • I'm curious
    • View Profile
    • Yojimbo's Translations
Re: ROM Translation [GB] Makaimura Gaiden The Demon Darkness
« Reply #17 on: November 02, 2012, 05:24:33 pm »
When I coded a DTE routine for the GB, I used an area in WRAM for my DTE flag. I found the perfect area through BGB's debugger, which I have grown somewhat fond of.

Btw, have you considered relocating/expanding the ROM and splitting text between banks in case DTE is not enough. From what I understand, it's not that difficult.

Lastly, I'm very glad to see the translation is in good hands as I was interested in the game as a project. I do have a few questions that I am curious about.

Is there enough room to fit a full upper and lower-case font?

Also for the translator's out there, how closely does the English localization and Japanese text match up? Other than LostTemplar mentioned.

bailli

  • Jr. Member
  • **
  • Posts: 58
    • View Profile
Re: ROM Translation [GB] Makaimura Gaiden The Demon Darkness
« Reply #18 on: November 03, 2012, 05:31:34 am »
I hope I found a suitable byte at CFE0 now...
This is my first ROM hack at all. I found the document about implementing DTE for NES and got started from there. Do you have a some good tutorial/documentation about GB ROM expansion? I only always find texts about SNES ROM and they usually use Lunar Expand...

The tileset already contains a full uppercase Latin font which is used for some character information (LV 1/SOUL/...).
I don't find this font very appealing for longer texts, so I plan on importing a additional full font. But still there is enough space to fit in lower and uppercase characters. Any suggestions for a nice looking (8x8) font?
Also, does it look more clean if I replace the Latin font already there?

Pennywise

  • Hero Member
  • *****
  • Posts: 2339
  • I'm curious
    • View Profile
    • Yojimbo's Translations
Re: ROM Translation [GB] Makaimura Gaiden The Demon Darkness
« Reply #19 on: November 03, 2012, 02:05:46 pm »
GB ROM expansion is easy. You just tack additional space at the end of the ROM. However, I do believe there is a limit to how big a GB ROM can be and it depends on which MBC is being used. As for the code that swaps banks, a friend gave me this code which I have yet to use, but should give you an idea of the process.

Code: [Select]
ld a,[$D489] // load first top half of pointer
cp a,$80 // See if it's above $80
jp c,$7014 // If not, do nothing
sub a,$40 // If so, remove $40 off it
ld [$D48F],a // Save updated pointer
lda a,[$D48F] // Load up our current bank (it'll get swapped in for each letter, no joke)
inc a // Increase it by one
ld [$D48F],a // Save it
jp $2FE4 // Jump back to original code
« Last Edit: November 03, 2012, 02:12:30 pm by Pennywise »