By Chishm
Modified to work on Nintendo DSi or 3DS by Apache Thunder, Ahezard, and Shutterbug2000.
Modified to use a usrcheat.dat database by Pk11.
Nitro Hax is a cheat tool for the Nintendo DS. It works with original games only. This is not intended to boot flashcarts. Use NTR Launcher for that. This does NOT boot 3DS carts. This program is not related to NTR CFW. This is designed for DS games only. This program does not yet support TWL carts. (DSi Enhanced games). Even if you manage to boot a TWL cart, it will be running in NTR mode and will not have access to DSi specific hardware. DSi Enhanced Games will be supported if and when card reading code is updated to accommodate them.
NitroHax-usrcheat.cia
with your preferred CIA installer or copy NitroHax.dsi
to your SD card.usrcheat.dat
file on your DSi/3DS SD card.usrcheat.dat
(in the current directory)/DS/NitroHax/usrcheat.dat
/NitroHax/usrcheat.dat
/data/NitroHax/usrcheat.dat
/usrcheat.dat
/_nds/usrcheat.dat
/_nds/TWiLightMenu/extras/usrcheat.dat
(this is the same place TWiLight Menu++ uses)Copyright (C) 2008 Michael "Chishm" Chisholm
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Thanks to (in no particular order):
Big thanks to Datel (CodeJunkies) for creating the original Action Replay and its cheats
CF000000 00000000 - End of code list
CF000001 xxxxxxxx - Relocate cheat engine to xxxxxxxx
CF000002 xxxxxxxx - Change hook address to xxxxxxxx
C100000x yyyyyyyy - Call function with arguments
x - number of arguments (0 - 4)
yyyyyyyy - Address of function
The argument list follows this code. To call a function at 0x02049A48,
with the arguments r0 = 0x00000010, r1 = 0x134CBA9C, r2 = 0x12345678,
you would use:
C1000003 02049A48
00000010 134CBA9C
12345678 00000000
C200000x yyyyyyyy - Run code from cheat list
x - 0 = ARM mode, 1 = THUMB mode
yyyyyyyy - length of function in bytes
EG:
C2000000 00000010
AAAAAAAA BBBBBBBB
CCCCCCCC E12FFF1E
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.)
C4000000 xxxxxxxx - Safe data store (Based on Trainer Toolkit code)
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.
C5000000 xxxxyyyy - Counter (Based on Trainer Toolkit code)
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.
C6000000 xxxxxxxx - Store offset (Based on Trainer Toolkit code)
Stores the offset register to [xxxxxxxx].
D400000x yyyyyyyy - Dx Data operation
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.