ROM Hack Advance Wars Days of Ruin/Dark Conflict language mod

Gilberd

Well-Known Member
OP
Member
Joined
Jan 29, 2010
Messages
157
Trophies
0
XP
284
Country
Taiwan
you all know that these games change the language depending on the firmware
and that there are action replay codes to force a language
but can i go into the game and change what language boots for which firmware so I do not have to use a code?
My firmware is japan and without a code it boots the game in english
I personally would want the game to boot in japanese
can some one help me with this?
also can you actually try to help me and not give me an obvious answer or question my motives
no trolls please
 

CrimzonEyed

Well-Known Member
Member
Joined
Sep 3, 2007
Messages
2,492
Trophies
1
Age
33
XP
746
Country
Gilberd said:
you all know that these games change the language depending on the firmware
and that there are action replay codes to force a language
but can i go into the game and change what language boots for which firmware so I do not have to use a code?
My firmware is japan and without a code it boots the game in english
I personally would want the game to boot in japanese
can some one help me with this?
download the japanese version of the game maybe?
 

Gilberd

Well-Known Member
OP
Member
Joined
Jan 29, 2010
Messages
157
Trophies
0
XP
284
Country
Taiwan
CrimzonEyed said:
Gilberd said:
you all know that these games change the language depending on the firmware
and that there are action replay codes to force a language
but can i go into the game and change what language boots for which firmware so I do not have to use a code?
My firmware is japan and without a code it boots the game in english
I personally would want the game to boot in japanese
can some one help me with this?
download the japanese version of the game maybe?
umm maybe the japanese version has never been released
that's what I am trying to do change the EUR version into a japanese version
I have a code to enable japanese language but I need to be able to make it boot in japanese without a code
I already changed the title screen
 

ZAFDeltaForce

Specialist
Member
Joined
Sep 9, 2006
Messages
2,794
Trophies
1
XP
597
Country
Singapore
umm maybe the japanese version has never been released
that's what I am trying to do change the EUR version into a japanese version
I have a code to enable japanese language but I need to be able to make it boot in japanese without a code
I already changed the title screen
I don't think that's possible, you will need to input the code via Action Replay or flashcart to display the original Japanese text. Unless you hack the ROM, by which I won't be of much help

Then again, the Japanese release was cancelled after several delays so don't expect a full translation
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,284
Country
United Kingdom
I do not know why we are replying to a 2010 vintage thread but I will roll with it and provide nothing resembling a solution but a method to get there (we are in the DS rom hacking section after all).

For what it is worth as far as I am aware the Japanese version was cancelled and tweaking the game to display the Japanese script like this is the only way to do it for this game- it is not a simple option we can select somewhere but an actual hidden thing only unlocked by AR codes (consider it a developer leftover similar to the stuff we were discussing later in http://gbatemp.net/topic/320192-japanese-programming-madness/ ). This possibly also makes it different to making a more general patching tool for other games that trigger from firmware (I have to analyse the codes) and especially if there is a workaround.

The quick and dirty way is to use DSATM to patch in the codes to the rom.

After this I would look at the cheats and see how they work
From the GBAtemp XML database
Code:
[Advance Wars: Days of Ruin (U)]

Language Mod Codes
1

Japanese
22168F8C 00000000


English
22168F8C 00000001


French
22168F8C 00000002


German
22168F8C 00000003


Italian
22168F8C 00000004


Spanish
22168F8C 00000005

http://doc.kodewerx.org/hacking_nds.html#arcodetypes
Type 0x02
8-bit
2XXXXXXX 000000YY Writes byte YY to [XXXXXXX+offset].

02000000h Main Memory (4MB) according to gbatek (linked in a moment- http://nocash.emubase.de/gbatek.htm )

2168F8C is then the location. Curiously or perhaps not the codes line up with the firmware/cart header order of names (see gbatek- http://www.romhacking.net/documents/542/ ).

Rom info thanks to NDSTS
ARM9 source (ROM) 0x00004000
ARM9 execute address 0x02000800
ARM9 copy to address 0x02000000
ARM9 binary size 0x00132438
ARM7 source (ROM) 0x00283800
ARM7 execute address 0x02380000
ARM7 copy to address 0x02380000
ARM7 binary size 0x00026DB8
ARM9 overlay source (ROM) 0x00136600
ARM9 overlay size 0x00000180
ARM7 overlay source (ROM) 0x00000000
ARM7 overlay size 0x00000000

Alas ARM9 copy to address 0x02000000 + 0x00132438 (the size of the binary) gives 2132438 which is smaller than 2168F8C (and similarly for the ARM7 but I did not expect it to be there) and according to crystaltile2 the lowest overlay is found at 02169020 (which is very close indeed and probably chosen for that reason but still not there) so this cheat is not a binary patch cheat and you can not just patch a part of the ARM9 binary or an overlay based entirely upon the cheat. With all the above if I had to guess I would say that is the location the dump of the relevant DS firmware settings was held.
Now the quick and dirty way (my usual preferred way as I am lazy) is to recreate the cheat idea (and what DSATM will most likely be doing) and patch something to constantly write it (I do not actually know if it needs to be constantly written or just there at boot/for a while) probably by hooking into the ARM7 or something ( http://crackerscrap.com/ see documentation).
The not quite proper but still better than constant write method is to find the read function and force it to return a 0 or whatever you want it to be- this would be done by looking for the (hopefully it is just one) function to read it and forcing it to return your value of choice. There are probably slightly more elegant ways and maybe you can exploit part of the underlying function (in your case it might already assume it is zero aka Japanese and just have the function grab and carry from there but if you NOP it it will think it was always 0 or something- such are the options when playing ASM hacker) but that you will have to see once you see the function. There might be further implications in that you have to force the bit there (realistically it should have just let you use Japanese- forcing it to another language almost certainly took extra code to do) but cross that bridge when you come to it (or not if it will be a pain).
The proper doing the job properly method is to find the thing that triggers the initial read function and stop it from doing a read at all and just using whatever you would have forced it to use.
The crazy man way is to physically repoint everything but that is just silly, for many language set requests like this though we see the related method of deconstruct the rom and swap all the files out manually or relink them but this has troubles for some games if they change the font or text handling (Japanese to Roman character or other small glyph set languages being especially prone to it- see 16 bit to 8 bit text conversion hacks). The crazy man's genius cousin's method comes when the number here probably informs which pointer table to use for text and just jump straight to that but at this point in time you are just optimising the hack/game and probably only by about 20 instructions at best and probably about as many clock cycles when it comes down to it (most of which are probably already wasted displaying the company logos).

I imagine it is a fairly similar method for any game that reads the firmware settings to choose a language.
 
  • Like
Reactions: puerkobi

Lumstar

Princess
Member
Joined
Mar 6, 2006
Messages
4,104
Trophies
1
Location
Darling
Website
eonhack.blogspot.com
XP
1,843
Country
United States
Perhaps there's a table somewhere in the game, with the list of which firmware language corresponds to each game language.
We could be looking at a single byte hack which changes that pointer from "Japanese>English" back into the correct "Japanese>Japanese".
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,284
Country
United Kingdom
I have yet to test it fully but if you do really want Japanese and cheats are not an option but running a rom is then change the game as follows

Offset 0E71E0 in the US rom to 0000A0E3
It changes the first load of that area from a load memory (which is what the cheat changed) to a mov r0, #0x00

Full credit to the cheat makers here though- all I did was track down the load of the area (static disassembly gave that and iDeaS run to line did the rest before watching it work a few times) and assemble the above opcode. I would like a more elegant solution but it appears anything other than 01, 02 or 05 which correspond to English, French and Spanish (otherwise known as the languages it officially supports) sends it through a massive loop (in both senses of the word). German and Italian are available in the EU release which is the usual multi5 anyway.
 

Gilberd

Well-Known Member
OP
Member
Joined
Jan 29, 2010
Messages
157
Trophies
0
XP
284
Country
Taiwan
hey that's cool man i never expected that this would actually happen lol
but unfortunately you did they hack on the US ver
I should have specified this but I wanted it on the EUR ver
because they kept the original army logos and don't have that ESRB message

However, this is still very interesting and if you don't help me with the EUR ver
which I don't expect you to since you did this hack almost an year ago lol
This is cool stuff that I could try for myself

also that romhacking website that you posted Lumstar said that it can't get the original Japanese Title
but I know how to get it to start up with it

also did u include u hacking the language in a presentation or something?
I found a pdf of this online
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,284
Country
United Kingdom
Triple post much?

I had a look through the cheat database and there was no cheat for the EU version of the ROM, that is not to say Japanese is not there (I would not be surprised either way) but it is likely you will have to remake the cheat if so. Assuming it works in much the same way then do a RAM dump of the ROM and see where the firmware stuff is and it will hopefully be a simple tweak.

Also yeah I did do a slightly expanded version of this hack as part of my hacking docs which I revamped last year. I am still not entirely sure what good it would do as part of it all (this is not exactly a common sort of hack) but I figured more basic applied assembly hacks are always good.

Edit- tried remaking the cheat and partially succeeded. Certainly I now have Japanese in the main menu (press start menu is still in English)

I saw 02168d2c changed with the firmware and sorted the language, forcing it with cheats causes it to disregard the firmware
Cheat is of the form
22168d2c 000000??
Replace ?? with one of the following
00 = Japanese
01 = English
02 = French
03 = German
04 = Italian
05 = Spanish

06 crashes the game early on.

Again all credit to the original cheat makers- this was but a port of that logic.

It is 12:30am though so I will probably have to leave it at a cheat for the time being. Hopefully I can return to it in the morning and get something done.
 

kosheh

Well-Known Member
Member
Joined
Jan 3, 2009
Messages
571
Trophies
0
Website
Visit site
XP
288
Country
United States
I...thought I did this a while ago, and it's bugging the heck out of me how I did it. AWDoR is one of my favorite games, so I had to play with the files in it.
I even changed the banner name for funsies...but I'll be damned if I can remember how I did it.

Quite frankly, you can go with FAST's suggestion, but if I remember correctly I haphazardly just switched the position of the _jp and _en endings of the files with a hex editor. Though...I honestly don't remember if there's an _en segment so I had to literally rewrite lines of hex, but that seems too silly to be the case. I'd just try swapping the tags on the filenames WITHIN the game.
I had the Japanese logo and everything - ugh I can't believe I can't remember how it worked.

If all else fails, I thought I made a thread of Wars World News (an Advance Wars community with a decent hacking forum). I'll take a look there to see if I posted it there...
EDIT: http://forums.warsworldnews.com/viewtopic.php?t=9943

My friend and I found out how to change it for the US and EU versions. I'm also fairly sure somewhere around that code is a "01" lying around for the title graphic that can simply be changed to "00" to show the Japanese title logo, too.
 

RadioShadow

Well-Known Member
Member
Joined
Aug 30, 2007
Messages
550
Trophies
1
Age
35
Location
UK
XP
615
Country
I...thought I did this a while ago, and it's bugging the heck out of me how I did it. AWDoR is one of my favorite games, so I had to play with the files in it.
I even changed the banner name for funsies...but I'll be damned if I can remember how I did it.

Quite frankly, you can go with FAST's suggestion, but if I remember correctly I haphazardly just switched the position of the _jp and _en endings of the files with a hex editor. Though...I honestly don't remember if there's an _en segment so I had to literally rewrite lines of hex, but that seems too silly to be the case. I'd just try swapping the tags on the filenames WITHIN the game.
I had the Japanese logo and everything - ugh I can't believe I can't remember how it worked.

If all else fails, I thought I made a thread of Wars World News (an Advance Wars community with a decent hacking forum). I'll take a look there to see if I posted it there...
EDIT: http://forums.warsworldnews.com/viewtopic.php?t=9943

My friend and I found out how to change it for the US and EU versions. I'm also fairly sure somewhere around that code is a "01" lying around for the title graphic that can simply be changed to "00" to show the Japanese title logo, too.

If you don't want to flap about swapping graphic files over you can just edit the overlay or arm file and change the name of the file of the required graphics to load. It was very simple to do.

I'll have a look and remind myself how I did it.

I do remember that that the US version had extra coding to load the ESRB Online graphics compared to the EU version.
 

TaeWongNew

TaeWong 2: The Revenge
Banned
Joined
Feb 5, 2013
Messages
10
Trophies
0
Age
57
XP
2
Country
You don’t want to get your threads deleted although you want to translate AWDoR into Hungarian language.
 

Gilberd

Well-Known Member
OP
Member
Joined
Jan 29, 2010
Messages
157
Trophies
0
XP
284
Country
Taiwan
If you all are still curious I was able to get the game running in japanese without having to enable the code everytime
the thing is that I had to hard code the cheat into the rom by using a trainer.
So I basically did a full hack of the game into Japanese that I posted on emuparadise: http://www.epforums.org/showthread.php?87456-Famicom-Wars-DS-Ushinawareta-Hikari-JPN&highlight=
the only thing is that the alphabet selection in the map maker mode is messed up(selecting different alphabets chooses the wrong alphabets) other than that it runs perfectly fine with everything translated.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • Psionic Roshambo @ Psionic Roshambo:
    Batman joined the Trans Justice League
    +2
  • Sicklyboy @ Sicklyboy:
    based af
    +2
  • Sonic Angel Knight @ Sonic Angel Knight:
    Forget the base, get on the roof.
  • K3Nv2 @ K3Nv2:
    Is that a bat in your buckle or are you just happy to have me
  • Psionic Roshambo @ Psionic Roshambo:
    Wonder "Woman" lol you wonder if they are a woman?
  • Psionic Roshambo @ Psionic Roshambo:
    The Riddler has questions...
  • K3Nv2 @ K3Nv2:
    Played a little of snow day glad I didn't spend $30
  • K3Nv2 @ K3Nv2:
    It's asthetic is okay maybe a good $10 grab
  • Psionic Roshambo @ Psionic Roshambo:
    Lol is it a game about doing cocaine?
  • K3Nv2 @ K3Nv2:
    Probably in pvp
  • Psionic Roshambo @ Psionic Roshambo:
    I tried Balders Gate II on the PS2 a few minutes ago, not bad lol
  • Psionic Roshambo @ Psionic Roshambo:
    My back catalog of games is like that scene at the end of Indiana Jones where the arc of the covenant is being stored in a giant ass warehouse
  • K3Nv2 @ K3Nv2:
    At least I can will my game catalog to family members
    +1
  • K3Nv2 @ K3Nv2:
    It's your problem now bitches
  • Psionic Roshambo @ Psionic Roshambo:
    Put it in your will that in order to receive any money they have to beat certain games, hard games and super shitty games...
  • Psionic Roshambo @ Psionic Roshambo:
    Say 20 bucks per Ninja Gaiden on the NES lol 60 bucks for all 3
  • Psionic Roshambo @ Psionic Roshambo:
    People you like "Beat level 1 of Ms Pacman" lol
  • K3Nv2 @ K3Nv2:
    Hello kitty ds is required
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Beat Celebrity Death Match on the PS1 omg tried it earlier today .... Absolutely trash
  • Psionic Roshambo @ Psionic Roshambo:
    Like -37 out of 10
  • Psionic Roshambo @ Psionic Roshambo:
    One of the worst games I have ever played
  • K3Nv2 @ K3Nv2:
    Make them rank up every cod game out
  • K3Nv2 @ K3Nv2:
    "Now I know why he took his own life"
    K3Nv2 @ K3Nv2: "Now I know why he took his own life"