[Guide] Universal DS/DSi AR code for language override

Discussion in 'NDS - Tutorials' started by Stremon, Jul 22, 2017.

  1. Stremon
    OP

    Stremon GBAtemp Regular

    Member
    124
    33
    Sep 30, 2014
    France
    Nerima, Tokyo
    Since it doesn't seem possible or easy to modify the Japanese 3DS/DSi to display any other language than Japanese/English, I searched a way to force my games to launch in the languages I want.

    I first tried some hacks on the 3DS/DSi, or modified the files of my games by dump and unpacking them, but no solution works well.

    So I searched an Action Replay code that allows me to override the firmware language, to force my games to launch in the language I want.
    I found a lot of informations given by FAST6191, and thanks to him I was able to find what I was searching for in the memory viewer of the Desmume emulator: the memory address that change the games language.

    I checked many games, and it appears they mostly use the same code since they all access the same information in the firmware!

    Requirement to use the code:

    - A DSi/3DS (obviously)
    - A way to launch your games with action replay codes (Action Replay dongle, R4, DSTwo...)
    - Games that contain the language you want

    How to do:

    Simply use the following AR code with any game you want.

    227FFCE4 000000XX

    OR

    22FFFCE4 000000XX

    (both codes work, it appears they can be accessed in to memory points)

    Just replace XX by your language code, and it should work.
    Here are the language codes you can use:
    00 = Japanese
    01 = English
    02 = French
    03 = German
    04 = Italian
    05 = Spanish

    Be careful, some games like Castlevania save the language in the first load and keep it, so you might want to setup the AR code before launching it.
    Also, obviously the code will only work if the game is launched with the code already actived, it won't work if you activate it while the game is running.

    If you are using a card that supports usrcheat.dat files, I recommend you to use r4cce to add this code.
    I haven't found a way to add the code to all games at once sadly.

    Feel free to tell me if you find a better/more simple way to do it, I am open to any suggestion ;)

    Edit: Just realized this code already exist inside the usrcheat.dat file, such a shame it's not documented...
     
    Last edited by Stremon, Jul 23, 2017