Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

NitroHax: Difference between revisions

From GameBrew
No edit summary
No edit summary
 
(27 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Infobox homebrew
{{Infobox DS Homebrews
| title       = Nitro Hax
|title=Nitro Hax
| image       = [[File:Nitrohaxds.png]]
|image=nitrohax.png
| type       = Other
|description=Cheat tool for official games running on the Nintendo DS.
| version     = 0.92
|author=Chishm
| licence    = GPL v3
|lastupdated=2018/04/09
| author      = Chishm   
|type=Savegame Tools
| website     = http://chishm.drunkencoders.com/NitroHax/index.html
|version=0.94
| download    = Media:Nitrohax092ds.zip
|license=GPLv3
| source     = http://chishm.drunkencoders.com/NitroHax/NitroHax_src.tar.bz2
|download=https://dlhb.gamebrew.org/dshomebrew2/nitrohax.7z?k33p0fil35 0.92 & 0.94
}}  
|website=https://www.chishm.com/NitroHax/index.html
|source=https://github.com/chishm/nitrohax
}}
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.


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.  
The latest release is v0.94 with ongoing development at the repository page.


==Installation==
==Installation==
#Download and extract file
Download and extract file.
#[http://chishm.drunkencoders.com/DLDI/ DLDI patch] .nds file and copy it to the root directory of the card
 
#Place an Action Replay XML file on your media device.
[[DLDI|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==
==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):
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
* cheats.xml in the current directory
"/NitroHax/cheats.xml"
* /NitroHax/cheats.xml
"/data/NitroHax/cheats.xml"
* /data/NitroHax/cheats.xml
"/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.
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.
Line 32: Line 37:


===Custom Code Types===
===Custom Code Types===
CF000000 00000000 - End of code list
In addition to the standard Action Replay DS code types described on [http://doc.kodewerx.org/hacking_nds.html#arcodetypes EnHacklopedia's Action Replay DS page], Nitro Hax supports the following custom codes.
 
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)
CF000000 00000000
:Stores the offset register to [xxxxxxxx].
Code used internally to specify the end of the cheat code list. It does not need to be specified manually.
CF000001 xxxxxxxx  
Relocate cheat engine to address xxxxxxxx. The cheat engine and all data are moved to the given address, which should be accessible from the ARM7.
CF000002 xxxxxxxx
Change hook address to xxxxxxxx. The hook should be a function pointer that is called regularly. By default the ARM7's VBlank interrupt handler is hooked. This code overrides the default.
C100000x yyyyyyyy
Call a function with between 0 and 4 arguments. The argument list follows this code, which has the parameters:
* x - Number of arguments (0 - 4)
* yyyyyyyy - Address of function


D400000x yyyyyyyy - Dx Data operation
For example, to call a function at 0x02049A48 with the three arguments r0 = 0x00000010, r1 = 0x134CBA9C, and r2 = 0x12345678:
:Performs the operation Data = Data ? yyyyyyyy where ? is determined by x as follows:
C1000003 02049A48
:0 - add
00000010 134CBA9C
:1 - or
12345678 00000000
:2 - and
:3 - xor
C200000x yyyyyyyy
:4 - logical shift left
Run ARM or THUMB code stored in the cheat list:
:5 - logical shift right
* x - 0 = ARM mode, 1 = THUMB mode
:6 - rotate right
* yyyyyyyy - Length of function in bytes
:7 - arithmetic shift right
:8 - multiply


If type codes
The example below will run AAAAAAAA BBBBBBBB CCCCCCCC in ARM mode, and E12FFF1E (bx lr) is needed at the end to return to the cheat engine:
:Adds offset to the address if the lowest bit of the address is set.
C2000000 00000010
:Sets the address equal to offset if the original address is 0x00000000.
AAAAAAAA BBBBBBBB
CCCCCCCC E12FFF1E
C4000000 xxxxxxxx
Provide 4 bytes of scratch space to safely store data. 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
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. Based on Trainer Toolkit code.
C6000000 xxxxxxxx
Stores the offset register to the address xxxxxxxx. Based on Trainer Toolkit code.
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
For codes begining with 3-9 or A (if-type codes), the offset register can be used for address calculations. If the lowest bit of the code's address is set then the offset is added to the address. If the address is 0x00000000 then the offset is used instead.


==Controls==
==Controls==
A - open a folder or toggle a cheat enabled
A - Open a folder or toggle a cheat enabled


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


X - enable all cheats in current folder
X - Enable all cheats in current folder


Y - disable all cheats in current folder
Y - Disable all cheats in current folder


L - move up half a screen
L - Move up half a screen


R - move down half a screen
R - Move down half a screen


Up - move up one line
Up - Move up one line


Down - move down one line
Down - Move down one line


Start - start the game
Start - Start the game


==Media==
==Media==
'''DS Homebrew: Installing/Using NitroHax''' ([https://www.youtube.com/watch?v=4R6WDgSTIb8 CalcProgrammer1]) <br>
<youtube>4R6WDgSTIb8</youtube>
<youtube>4R6WDgSTIb8</youtube>


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


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


[[Category:Homebrew applications]]
==External links==
* Official website - https://www.chishm.com/NitroHax/index.html
* GitHub - https://github.com/chishm/nitrohax

Latest revision as of 03:23, 19 August 2024

Nitro Hax
Nitrohax.png
General
AuthorChishm
TypeSavegame Tools
Version0.94
LicenseGPLv3
Last Updated2018/04/09
Links
0.92 & 0.94 Download
Website
Source

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.

The latest release is v0.94 with ongoing development at the repository page.

Installation

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.

CF000000 00000000 

Code used internally to specify the end of the cheat code list. It does not need to be specified manually.

CF000001 xxxxxxxx 

Relocate cheat engine to address xxxxxxxx. The cheat engine and all data are moved to the given address, which should be accessible from the ARM7.

CF000002 xxxxxxxx

Change hook address to xxxxxxxx. The hook should be a function pointer that is called regularly. By default the ARM7's VBlank interrupt handler is hooked. This code overrides the default.

C100000x yyyyyyyy

Call a function with between 0 and 4 arguments. The argument list follows this code, which has the parameters:

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

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

C1000003 02049A48
00000010 134CBA9C
12345678 00000000

C200000x yyyyyyyy

Run ARM or THUMB code stored in the cheat list:

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

The example below will run AAAAAAAA BBBBBBBB CCCCCCCC in ARM mode, and E12FFF1E (bx lr) is needed at the end to return to the cheat engine:

C2000000 00000010
AAAAAAAA BBBBBBBB
CCCCCCCC E12FFF1E

C4000000 xxxxxxxx

Provide 4 bytes of scratch space to safely store data. 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

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. Based on Trainer Toolkit code.

C6000000 xxxxxxxx

Stores the offset register to the address xxxxxxxx. Based on Trainer Toolkit code.

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

For codes begining with 3-9 or A (if-type codes), the offset register can be used for address calculations. If the lowest bit of the code's address is set then the offset is added to the address. If the address is 0x00000000 then the offset is used instead.

Controls

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

Media

DS Homebrew: Installing/Using NitroHax (CalcProgrammer1)

Credits

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 along the way.

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

External links

Advertising: