Toggle menu
Toggle preferences 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
Line 3: Line 3:
| image      = [[File:Nitrohaxds.png]]
| image      = [[File:Nitrohaxds.png]]
| type        = Other
| type        = Other
| version    = 0.92
| version    = 0.94
| licence    = GPL v3  
| licence    = GPL v3  
| author      = Chishm     
| author      = Chishm     
| website    = http://chishm.drunkencoders.com/NitroHax/index.html
| website    = https://www.chishm.com/NitroHax/index.html
| download    = Media:Nitrohax092ds.zip
| download    = Media:Nitrohax092ds.zip
| source      = http://chishm.drunkencoders.com/NitroHax/NitroHax_src.tar.bz2
| source      = http://chishm.drunkencoders.com/NitroHax/NitroHax_src.tar.bz2
Line 14: Line 14:


==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 34:


===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  
'''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


CF000002 xxxxxxxx - Change hook address to xxxxxxxx
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


C100000x yyyyyyyy - Call function with arguments
For example:
:x - number of arguments (0 - 4)
C2000000 00000010
:yyyyyyyy - Address of function
AAAAAAAA BBBBBBBB
:The argument list follows this code. To call a function at 0x02049A48, with the arguments r0 = 0x00000010, r1 = 0x134CBA9C, r2 = 0x12345678, you would use:
CCCCCCCC E12FFF1E
:C1000003 02049A48
:00000010 134CBA9C
:12345678 00000000


C200000x yyyyyyyy - Run code from cheat list
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).
: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)
'''Safe data store (Based on Trainer Toolkit code):'''
:Sets the offset register to point to the first word of this code.  
C4000000 xxxxxxxx
:Storing data at [offset+4] will save over the top of 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.


C5000000 xxxxyyyy - Counter (Based on Trainer Toolkit code)
'''Counter (Based on Trainer Toolkit code):'''
:Each time the cheat engine is executed, the counter is incremented by 1.
C5000000 xxxxyyyy
:If (counter & yyyy) == xxxx then execution status is set to true.
* Each time the cheat engine is executed, the counter is incremented by 1.
:Else it is set to false.
* 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)
'''Store offset (Based on Trainer Toolkit code):'''
:Stores the offset register to [xxxxxxxx].
C6000000 xxxxxxxx
* Stores the offset register to [xxxxxxxx].


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


If type codes
'''If-type codes:'''
:Adds offset to the address if the lowest bit of the address is set.  
* 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.
* Sets the address equal to offset if the original address is 0x00000000.


==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==
Line 106: Line 122:


==Credits==
==Credits==
Thanks to: (in no particular order)
Thanks to (in no particular order):
:Pink-Lightning - Original skin (v0.5-0.82)
 
:bLAStY - Memory dumps
Pink-Lightning - Original skin (v0.5-0.82).
:cReDiAr - Last crucial step for running DS Cards
bLAStY - Memory dumps.
:Parasyte - Tips for hooking the game automagically
cReDiAr - Last crucial step for running DS Cards.
:kenobi - Action Replay code document
Parasyte - Tips for hooking the game automagically.
:Darkain - Memory and cache clearing code
kenobi - Action Replay code document.
:Martin Korth - GBAtek
Darkain - Memory and cache clearing code.
:Deathwind / WinterMute - File menu code (v0.2 - v0.4)
Martin Korth - GBAtek.
:Everyone else who helped me along the way
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
Big thanks to Datel (CodeJunkies) for creating the original Action Replay and its cheats.


[[Category:Homebrew applications]]
<br>
[[Category:DS homebrew applications]]
[[Category:Other DS applications]]

Revision as of 15:51, 25 May 2021

Nitro Hax
File:Nitrohaxds.png
General
Author(s)Chishm
TypeOther
Version0.94
LicenceGPL v3
Links
[Media:Nitrohax092ds.zip Download]
Website
Source
Advertisements

<htmlet>adsense</htmlet>

Advertising: