From GameBrew - a wiki dedicated to Video Game Homebrew.

Revision as of 15:51, 25 May 2021 by HydeWing (talk | contribs)
Nitro Hax
LicenceGPL v3

Nitro Hax is a cheat tool for official games running on the Nintendo DS. It supports any Action Replay DS code type with a few important additions.


Download and extract file.

DLDI patch .nds file and copy it to the root directory of the card.

Place an Action Replay XML file on your media device.

User guide

Start NitroHax.nds from your media device. One of the following will be loaded automatically if it is found (in order of preference):

  • "cheats.xml" in the current directory
  • "/NitroHax/cheats.xml"
  • "/data/NitroHax/cheats.xml"
  • "/cheats.xml"

If no file is found, browse for and select a file to open. Remove your media device if you want to. Remove any card that is in Slot-1.

Insert the DS game into Slot-1, choose the cheats you want to enable.

Some cheats are enabled by default and others may be always on. This is specified in the XML file. When done, exit the cheat menu. The game will then start with cheats running.

Custom Code Types

In addition to the standard Action Replay DS code types described on EnHacklopedia's Action Replay DS page, Nitro Hax supports the following custom codes.

End of code list:

CF000000 00000000

Relocate cheat engine to xxxxxxxx:

CF000001 xxxxxxxx

Change hook address to xxxxxxxx:

CF000002 xxxxxxxx

Call function with arguments:

C100000x yyyyyyyy
  • x - number of arguments (0 - 4)
  • yyyyyyyy - Address of function

For example, to call a function at 0x02049A48, with the arguments r0 = 0x00000010, r1 = 0x134CBA9C, r2 = 0x12345678, you would use:

C1000003 02049A48
00000010 134CBA9C
12345678 00000000

Run code from cheat list:

C200000x yyyyyyyy
  • x - 0 = ARM mode, 1 = THUMB mode
  • yyyyyyyy - length of function in bytes

For example:

C2000000 00000010

This will run the code AAAAAAAA BBBBBBBB CCCCCCCC in ARM mode. The E12FFF1E (bx lr) is needed at the end to return to the cheat engine (These instructions are based on those written by kenobi).

Safe data store (Based on Trainer Toolkit code):

C4000000 xxxxxxxx
  • Sets the offset register to point to the first word of this code.
  • Storing data at [offset+4] will save over the top of xxxxxxxx.

Counter (Based on Trainer Toolkit code):

C5000000 xxxxyyyy
  • Each time the cheat engine is executed, the counter is incremented by 1.
  • If (counter & yyyy) == xxxx then execution status is set to true.
  • Else it is set to false.

Store offset (Based on Trainer Toolkit code):

C6000000 xxxxxxxx
  • Stores the offset register to [xxxxxxxx].

Dx Data operation:

D400000x yyyyyyyy 
  • Performs the operation Data = Data ? yyyyyyyy where ? is determined by x as follows:
    • 0 - add
    • 1 - or
    • 2 - and
    • 3 - xor
    • 4 - logical shift left
    • 5 - logical shift right
    • 6 - rotate right
    • 7 - arithmetic shift right
    • 8 - multiply

If-type codes:

  • Adds offset to the address if the lowest bit of the address is set.
  • Sets the address equal to offset if the original address is 0x00000000.


A - Open a folder or toggle a cheat enabled

B - Go up a folder or exit the cheat menu if at the top level

X - Enable all cheats in current folder

Y - Disable all cheats in current folder

L - Move up half a screen

R - Move down half a screen

Up - Move up one line

Down - Move down one line

Start - Start the game



Thanks to (in no particular order):

Pink-Lightning - Original skin (v0.5-0.82). bLAStY - Memory dumps. cReDiAr - Last crucial step for running DS Cards. Parasyte - Tips for hooking the game automagically. kenobi - Action Replay code document. Darkain - Memory and cache clearing code. Martin Korth - GBAtek. Deathwind / WinterMute - File menu code (v0.2 - v0.4). Everyone else who helped me along the way.

Big thanks to Datel (CodeJunkies) for creating the original Action Replay and its cheats.