TLBT Debug Menu

Discussion in 'NDS - ROM Hacking and Translations' started by joesteve1914, Feb 19, 2014.

  1. joesteve1914
    OP

    joesteve1914 GBAtemp Fan

    Member
    346
    142
    Jul 31, 2012
    United States
  2. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,747
    9,618
    Nov 21, 2005
    United Kingdom
    By the looks of things it has the text for a debug menu. This does not mean there is an actual debug menu -- it is quite easy to remove the debug functionality from software and that text looks like just a file rather than actual code which could easily be left in there.

    Figuring out if the functionality was actually removed, is still there in full just awaiting the right button combo, still there but all in game methods to access it were removed or some combo of the lot gets to be tricky. If you suspect it is just there but awaiting a certain button combo then there are things you can do, the others will typically warrant you going into some depth pulling apart the game's binary to figure it out, especially on a console like the DS which works the way it does.

    This need not mean slogging through a full disassembly and you could use a modified version (you would have to do the modifying) of something like http://gbatemp.net/threads/unofficial-desmume-build-unused-memory-finder-tool.349332/ ; the debug menu code will likely not be accessed in normal game but may be in the binary or an overlay, you run through the game, the menus and the other parts and what remains is probably where the debug menu, if any, goes. On older consoles you would look for anything that accessed the debug text in a disassembly and then work from there.

    If you know how to get the debug menu from games from the same dev, games using the same engine or something similar you might have an in as well -- devs are often creatures of habit.
     
  3. joesteve1914
    OP

    joesteve1914 GBAtemp Fan

    Member
    346
    142
    Jul 31, 2012
    United States
  4. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,747
    9,618
    Nov 21, 2005
    United Kingdom
    There seems to be a list of action replay codes to launch that, though it does mention at least one of those is for infinite rupees to allow the debug sections to work (something about 0 rupees seeing you die).

    http://doc.kodewerx.org/hacking_nds.html#action_replay so you can debug them.
    http://nocash.emubase.de/gbatek.htm#dsmemorymaps for the memory maps.

    From TCRF
    Code:
    02007444 0A00000E
    94000130 000000FF
    02007444 E3A02008
    020012E8 E3A05001
    D0000000 00000000
    02XXXXXX is in the main memory region, the 0 means do a 32 bit write to it. The 9 is a check if equal command and the D is a terminator.

    From NDSTS
    ARM9 execute address 0x02000800
    ARM9 copy to address 0x02000000
    ARM9 binary size 0x000BB478

    02007444 and 020012E8 is then well within the binary (which even before overlays ends at 020BB478). I have not checked properly to see what the changes are (I do not know if it is ARM or THUMB mode when it would happen).
    04000130 is the location of the button register which means the 9 command is checking the button presses (a crude way to do it but it will mostly work).

    All this tells you not a lot about how to do it on the other game. That comment was more along the lines of "wait so Sonic 2 and Sonic 3 both have cheat/debug modes accessed from the sound test menu, I will go look at that for Sonic and Knuckles".
     
    GHANMI likes this.