News:

Don't forget to visit the main site! There's lots of helpful docs, patches, and more!

Main Menu

English language in the japanese version of Fusion

Started by nan0, August 11, 2012, 05:52:07 AM

Previous topic - Next topic

nan0

Hello,
I couldn't find anything about a translation of the japanese version of Fusion to other languages, so I hope this hasn't come up elsewhere.
Anyway, I found in the RAM Map, that there is a language switch that determines the currently used language. In the (J) version, its either 00 or 01 (Hiragana or Kanji). To my surprise, I could just alter it to 02 (english) and had in fact perfectly working english text ingame, so the other languages didn't seem to be cut out. I did this on VBA, and now wonder how I could permanently alter that adress, so I don't need to manually edit it, which isn't possible on other emulators/systems. I have zero experience with ROM hacking or Assembler, but have a basic understanding of hex editing and memory adresses and so on. Any clue on where I could start?

Heres an image as "proof": http://www.abload.de/img/metroidtqlkw.png

Edit: Nevermind, it seems to be saved in the sav file. I attached one from the first save point in the game (Easy mode), maybe someone has a use for this. Just remove the txt extension.

interdpth

Just search for 11 00 00 03 in a hex editor, then look for a 1 somewhere near it and change it to 2 then save and try

P.JBoy

You could also use the Code Breaker cheat code 33000011 0002

interdpth


P.JBoy


Xenesis

Okay, so I'm aware that this topic is 3-odd years old. However I got bored and needed to do something to distract me from lactose-induced painful stomach cramps and I thought making a quick and dirty ASM code to enable other languages would be a brilliant idea to do.

Turns out, it's really quite easy. Metroid Fusion (J) appears to be based on the (E) version of Fusion and uses the same multi-lingual code. They've even got all the European translations in there too. I wrote a simple ASM script to compile to force the game start in any language you want. I'd avoid the cheat-code method because it corrupts the graphics on the difficulty-select screen (due to having no string equivalent for non-Jpn languages, I guess! It's something a more ambitious hack could fix later quite easily).

I've also made some IPS patches that'll just do the language of choice. Pick your favourite flavour of European Language!


;Metroid Fusion J

.open FusionJ.gba,FusionJ-Mod.gba, 0x08000000
.gba
.thumb
LangJapanese equ 0x0
LangJapaneseHiragana equ 0x1
LangEnglish equ 0x2
LangGerman equ 0x3
LangFrench equ 0x4
LangSpanish equ 0x6
LangItalian equ 0x5
HardSetLang equ LangEnglish

.org 0x0809F838
mov r0,HardSetLang

.org 0x080A2A30
mov r0,HardSetLang

.org 0x080A2538
mov r0,HardSetLang

.org 0x080812F8
mov r0,HardSetLang

.org 0x0809FC1C
mov r0,HardSetLang

.close

biospark

#6
I've been meaning to do this eventually, but it looks like you beat me to it. Eventually I'll find a way to skip the message type screen, and add text for "game level".

Quote from: Xenesis on June 01, 2015, 03:47:31 AMTurns out, it's really quite easy. Metroid Fusion (J) appears to be based on the (E) version of Fusion and uses the same multi-lingual code. They've even got all the European translations in there too.
Actually, all of the versions have this except for the iQue version, so I'm not sure how much the (J) version is based off of the (E) version. The (J) version is the only one to have both Kanji and Hiragana options, however.

cogc_23

hi :D it's good to see people,translate the metroid fusion japanese to other languages, i'm new here but i wan't to help finish this project anyone know a tool to edit the main menu and title screen form metroid fusion japanese or a way to fin the tile set in tile layer pro ?




biospark

I'm not sure what you're asking, but if you want to edit graphics you can use NLZ:

http://www.romhacking.net/utilities/529/

cogc_23

#9
thanks,with this tool i do this  :grin:

ORIGINAL


MODIFIED


https://www.youtube.com/watch?v=3cbt8nwCfFg&feature=youtu.be

Grahf

#10
Sorry for the mega-bump, but I've made a patch that translates the missing text to english.

Since I did it in kind of a hurry. Since I couldn't change the pointers to each string, I had to work with the japanese length constraints, so the text is not exactly the same to the original english game.

I'm just leaving this here until someone makes a more serious hack...

EDIT: Apply to an unpatched rom. This already includes Xenesis' hack (thanks!!)



EDIT2: I forgot to patch the game over screen. I've updated my attachment.

biospark

I restarted my "freedom" hack on the Japanese version a few months ago, since I want it to include the difficulty options. My first task was to fix the file select screen. I opted to convert the Kanji/Hiragana option into English/Japanese.

This is what I have so far, but I have to fix the part that says your current difficulty/area.

Zero Dozer

Quote from: biospark on September 28, 2016, 10:57:55 PM
I restarted my "freedom" hack on the Japanese version a few months ago, since I want it to include the difficulty options. My first task was to fix the file select screen. I opted to convert the Kanji/Hiragana option into English/Japanese.

This is what I have so far, but I have to fix the part that says your current difficulty/area.

Is the japanese version more flexible for hacking?

biospark

Quote from: Zero Dozer on September 28, 2016, 11:42:01 PM
Is the japanese version more flexible for hacking?

No, but it's the only version with difficulty options.

Zero Dozer

I noticed the US version didn't have those options, I thought it was the same for the other versions.

interdpth

Quote from: biospark on September 29, 2016, 01:17:17 AM
Quote from: Zero Dozer on September 28, 2016, 11:42:01 PM
Is the japanese version more flexible for hacking?

No, but it's the only version with difficulty options.

I know regular MF has the languages in it, I thought the difficulty code was in there? Swore I saw references to levels.

Grahf

Quote from: biospark on September 28, 2016, 10:57:55 PM
I restarted my "freedom" hack on the Japanese version a few months ago, since I want it to include the difficulty options. My first task was to fix the file select screen. I opted to convert the Kanji/Hiragana option into English/Japanese.

This is what I have so far, but I have to fix the part that says your current difficulty/area.

Awesome patch!

I see that it's switching between 00 and 02 for the language setting, but that blocks out the extra endings which are exclusive for language 01.

Is there any way that the extra endings could be shown if the selected language is 00, or change the Japanese option in your patch in order to choose language 01? Perhaps share the small bit of ASM code to do that? I'm only just learning debugging so I can't do it myself yet...

biospark

Quote from: Grahf on September 29, 2016, 08:51:42 PM
I see that it's switching between 00 and 02 for the language setting, but that blocks out the extra endings which are exclusive for language 01.

Is there any way that the extra endings could be shown if the selected language is 00, or change the Japanese option in your patch in order to choose language 01? Perhaps share the small bit of ASM code to do that? I'm only just learning debugging so I can't do it myself yet...

Yeah, I was intending to make it so that choosing Japanese gives you the alternate ending images, I just haven't looked into it yet. It should be relatively simple.

Grahf

I'm trying to modify your patch in order to select the kanji option whenever Japanese is selected. So far, I've noticed that this block of code handles the english/hiragana selection menu (I think, I'm just starting to learn):

0x809FE44 LDR r0,  $809FE48
0x809FE46 MOV pc, r0
0x809FE48 LSL r6, r4. 0x01
0x809FE4A LSL r2, r7, 0x01


I don't really understand how those shift left instructions are doing the trick. the original code does a much different thing...

biospark

Quote from: Grahf on October 03, 2016, 09:19:38 PM
I'm trying to modify your patch in order to select the kanji option whenever Japanese is selected. So far, I've noticed that this block of code handles the english/hiragana selection menu (I think, I'm just starting to learn)

That piece of code is actually jumping to a new piece of code I wrote. If the code you write is longer than the original code, you have to place it elsewhere in the ROM (like at the end) and jump to it instead.

Also, the Japanese option for this patch uses Kanji. Are you saying you want both options for Japanese?

Grahf

Quote from: biospark on October 04, 2016, 01:16:33 AM
Quote from: Grahf on October 03, 2016, 09:19:38 PM
I'm trying to modify your patch in order to select the kanji option whenever Japanese is selected. So far, I've noticed that this block of code handles the english/hiragana selection menu (I think, I'm just starting to learn)

That piece of code is actually jumping to a new piece of code I wrote. If the code you write is longer than the original code, you have to place it elsewhere in the ROM (like at the end) and jump to it instead.

Also, the Japanese option for this patch uses Kanji. Are you saying you want both options for Japanese?

Oh, then I mean the Hiragana option. Actually, what I'm trying to do is to make the Japanese option select what would be the child mode on the original jap rom, so I can play and get the alternative endings.

interdpth

Quote from: Grahf on October 03, 2016, 09:19:38 PM
I'm trying to modify your patch in order to select the kanji option whenever Japanese is selected. So far, I've noticed that this block of code handles the english/hiragana selection menu (I think, I'm just starting to learn):

0x809FE44 LDR r0,  $809FE48
0x809FE46 MOV pc, r0
0x809FE48 LSL r6, r4. 0x01
0x809FE4A LSL r2, r7, 0x01


I don't really understand how those shift left instructions are doing the trick. the original code does a much different thing...


This looks like it's code for a switch table,

so the first line is loading the address that we execute next. Then R0(The address) is loaded to PC which sets the current instruction address to r0!

The LSLs that follow are most likely an address 0x8xxxxxxxx and not an actual instruction. What you actually want it is the 4 or 5 instructions above the ldr r0, but I'm assuming the LDR r0, xxxxx was put in there to hardcode the proper address to use. But that's an assumption.

Hope it helped.

Steel Sparkle

I actually tried this patch just to do Hard mode. It was pretty fun actually.
I think it's cool Bio is using this version for his freedom hack.

cogc_23

Quote from: Grahf on September 28, 2016, 09:49:06 PM
Sorry for the mega-bump, but I've made a patch that translates the missing text to english.

Since I did it in kind of a hurry. Since I couldn't change the pointers to each string, I had to work with the japanese length constraints, so the text is not exactly the same to the original english game.

I'm just leaving this here until someone makes a more serious hack...

EDIT: Apply to an unpatched rom. This already includes Xenesis' hack (thanks!!)



EDIT2: I forgot to patch the game over screen. I've updated my attachment.

Great job friend you can explain me how to do this but for the spanish language ? like all data in the main menu, gameover screens and % screen of the ending to spanish, i'm trying to do this but the europe bitmaps are more bigger than japanese bitmaps, thanks in advance


ShadowOne333

#24
Sorry for the awful, awful bump.
I wanted to continue with the hack posted by biospark,  in which there were still some Japanese characters missing to be translated in some of the menus, and have gone ahead and translated the remaining Japanese in order to have the proper ROM in English now, with the option to play in Japanese thanks to biospark's code.
I translated the remaining Japanese characters with NLZ, the Main Menu graphics had japanese still in it located in image 397 of the compressed graphics, and the only other remaining Japanese graphics I could spot was the Game Over text, which was located in image 390 of the compressed graphics (this was the full Japanese Game Over text, which I translated reusing the one from US Fusion, image 388 is the one used when select Japanese instead, but I left that one intact).

I'll share it here for those interested.
(There are some additional changes I made, which are all palette modifications located around 0x29XXXX, 0x5684XX and 0x3E6738, so if anyone wants, simply restore the palettes in those locations). I'll see if I can modify the walljump code to behave more like Zero Mission where it's possible to do several in the same wall for some QoL changes (possibly porting some features from Special Edition), but I'll see later.