Remove languages from EUR versions?

Discussion in 'NDS - ROM Hacking and Translations' started by Arcami, Sep 20, 2015.

  1. Arcami
    OP

    Arcami Newbie

    Newcomer
    3
    0
    Sep 20, 2015
    I'm having troubles playing a game in my first language since the emulator loads up the english version.
    In normal cases i would just use another emulator, but this one works perfect with my computer.

    I tried unpacking the rom with DSLazy and changing the file names, but that did almost nothing. I have no idea how roms work, I'm just trying to play a game with my cousin we both enjoyed years ago.

    I suppose I can't upload roms here, so I'll just leave a screenshot of the files here: http://imgur.com/a/afqVp

    The game is Pokémon Mystery Dungeon: Blue Rescue Team

    Thank you.
     
    Last edited by Arcami, Sep 20, 2015
  2. JaapDaniels

    JaapDaniels GBAtemp Fan

    Member
    361
    66
    Apr 22, 2012
    Netherlands
    what is the emulator? since it's most likely a setting.
     
  3. Arcami
    OP

    Arcami Newbie

    Newcomer
    3
    0
    Sep 20, 2015
  4. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,516
    9,335
    Nov 21, 2005
    Do you have to/can you provide a firmware file or anything for the emulator? If so then you can edit that with something like crystaltile2 to force it into another language.

    Depending upon the game there are options for cheats, here is a project for Advance Wars Days of Ruin/Dark Conflict. https://gbatemp.net/threads/advance-wars-days-of-ruin-dark-conflict-language-mod.254868/
    Technically the thread/project just linked had another slightly different goal but the underlying logic does seem to apply for a lot of games. To that end you might be able to make a cheat.

    I do not have a good DS debugging setup right now but I took a look. I am not surprised you struggled to change files -- this is one of the more annoying styles of DS games (others reading it is north of 140 overlays and not an awful lot else). Theoretically you might have got something if you overwrote the message_e files with I guess the message_s files (I opened them up and it was what looked like Spanish inside them) but there should be a more elegant solution.

    Anyway after suffering that unskippable intro on my poor little netbook (only thing I had running a decent debugger version of desmume) about 10 times I think have a cheat

    02FFFCE4 seems to be a location. That would make the cheat of the form 22FFFCE4 0000000?
    In your case
    22FFFCE4 00000004 is an action replay code which should allow you to force the game into Spanish regardless of firmware/emulator settings. If your emulator does not have cheat support then I would give up and find a better one but being sensible then DSATM should be able to hard patch a cheat into the game
    http://filetrip.net/nds-downloads/utilities/download-dsatm-5-1-f31528.html

    For other forum searchers
    22FFFCE4 00000000 will probably just come up in English
    22FFFCE4 00000001 will hopefully force English
    22FFFCE4 00000002 should be French
    22FFFCE4 00000003 should be German
    22FFFCE4 00000004 should be Spanish
    22FFFCE4 00000005 should be Italian
     
  5. Arcami
    OP

    Arcami Newbie

    Newcomer
    3
    0
    Sep 20, 2015
    I can't believe it, it worked!

    Thank you very much for this, I had lost all hope!
    The cheat solution worked like a charm. The emulator let's you add the codes, but it won't remember them after a restart. No matter since the save data keeps loading the game in spanish and I also hard coded the cheat for future uses (curious how after hard coding it the game booted in italian and I had to use 05 instead of 04).

    What is left now is enjoy the game thanks to you! (And hope that things don't get so complicated with future ROMs)
     
  6. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,516
    9,335
    Nov 21, 2005
    How games will work in the future is a tough one.
    A lot of Europe region dupes were entirely separate dumps, or dumps with a couple of languages and another Europe dump for another couple of them.
    If the game has more than the usual so called Multi5 (possibly plus Japanese) languages which are the ones the firmware has it will usually have a language selection somewhere. I have not seen any do multi5 and then provide options for the remaining ones.
    Some multi5 games will also have a selection option.
    Other games will be like this.

    In case you were curious/wanted to repeat this for other games this worked much like the Advance Wars cheat I referenced and a few other ones. The DS (or DS emulator) will dump the firmware settings into memory (it has your name, birthday, message, favourite colour... and language preference, all covered in http://problemkaputt.de/gbatek.htm#dsfirmwareusersettings
    Early in the boot sequence the game will check this value and load languages accordingly. If you force this value to something else then it will load that as it thinks the firmware said something else, a better hack if you are hardcoding it would be to return another value from the read just in case this memory area gets overwritten (not likely but not impossible) but I will spare that one for now.

    Where these settings find themselves varies a bit between games, usually it somewhere other parts of the memory will not run into (just before the binary starts, just before the section set aside for overlays, close to the end of memory in this case). It should be easy to search for as you can put whatever message you like in and search for that in memory, the picture following being the default desmume settings, the language code being in among that all (02FFFCE4 wouldn't you know).

    Screenshot - 200915 - 22:25:50.png

    I have no idea what DSATM failed with the 04 code and did with the 05 instead... I have some ideas but it sounds like you found the solution so I will leave that for another day. Edit. I might have messed something up somewhere in the list above (gbatek lists 05 as Spanish in the firmware), either way it is sorted so I will leave it.