
- ADVANCE WARS DARK CONFLICT ACTION REPLAY CODES PATCH
- ADVANCE WARS DARK CONFLICT ACTION REPLAY CODES CODE
I saw 02168d2c changed with the firmware and sorted the language, forcing it with cheats causes it to disregard the firmwareĪgain all credit to the original cheat makers- this was but a port of that logic. Certainly I now have Japanese in the main menu (press start menu is still in English) 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.Įdit- tried remaking the cheat and partially succeeded. 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.Īlso yeah I did do a slightly expanded version of this hack as part of my hacking docs which I revamped last year. 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. I imagine it is a fairly similar method for any game that reads the firmware settings to choose a language. 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). 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 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.


ADVANCE WARS DARK CONFLICT ACTION REPLAY CODES CODE
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). 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. 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.
ADVANCE WARS DARK CONFLICT ACTION REPLAY CODES PATCH
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 ( see documentation).

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. Curiously or perhaps not the codes line up with the firmware/cart header order of names (see gbatek- ).Īlas 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. Ġ2000000h Main Memory (4MB) according to gbatek (linked in a moment- )Ģ168F8C is then the location.
