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

Nitrohax 3DS: Difference between revisions

From GameBrew
No edit summary
m (Text replacement - "Category:Homebrew utility applications on 3DS" to "")
 
(8 intermediate revisions by the same user not shown)
Line 8: Line 8:
|version=0.99.dsi
|version=0.99.dsi
|license=GPLv3
|license=GPLv3
|download=https://dlhb.gamebrew.org/3dshomebrews/nitrohax3ds.7z
|download=https://dlhb.gamebrew.org/3dshomebrews/nitrohax3ds.7z?k33p0fil35
|website=https://github.com/ahezard/NitroHax3DS
|website=https://github.com/ahezard/NitroHax3DS
|source=https://github.com/ahezard/NitroHax3DS
|source=https://github.com/ahezard/NitroHax3DS
Line 54: Line 54:


===Custom Code Types===
===Custom Code Types===
<pre>
CF000000 00000000 - End of code list
CF000001 xxxxxxxx - Relocate cheat engine to xxxxxxxx
CF000002 xxxxxxxx - Change hook address to xxxxxxxx
   
   
CF000000 00000000 - End of code list
C100000x yyyyyyyy - Call function with arguments  
CF000001 xxxxxxxx - Relocate cheat engine to xxxxxxxx
x - number of arguments (0 - 4)  
CF000002 xxxxxxxx - Change hook address to xxxxxxxx
yyyyyyyy - Address of function
The argument list follows this code. To call a function at 0x02049A48,  
C100000x yyyyyyyy - Call function with arguments  
with the arguments r0 = 0x00000010, r1 = 0x134CBA9C, r2 = 0x12345678,
  x - number of arguments (0 - 4)  
you would use:
yyyyyyyy - Address of function
C1000003 02049A48
The argument list follows this code. To call a function at 0x02049A48,  
00000010 134CBA9C
with the arguments r0 = 0x00000010, r1 = 0x134CBA9C, r2 = 0x12345678,
12345678 00000000
you would use:
 
C1000003 02049A48
C200000x yyyyyyyy - Run code from cheat list
00000010 134CBA9C
x - 0 = ARM mode, 1 = THUMB mode
12345678 00000000
yyyyyyyy - length of function in bytes
EG:
C200000x yyyyyyyy - Run code from cheat list
C2000000 00000010
x - 0 = ARM mode, 1 = THUMB mode
AAAAAAAA BBBBBBBB
yyyyyyyy - length of function in bytes
CCCCCCCC E12FFF1E
EG:
This will run the code AAAAAAAA BBBBBBBB CCCCCCCC in ARM mode.  
C2000000 00000010
The E12FFF1E (bx lr) is needed at the end to return to the cheat engine.
AAAAAAAA BBBBBBBB
(These instructions are based on those written by kenobi.)
CCCCCCCC E12FFF1E
 
This will run the code AAAAAAAA BBBBBBBB CCCCCCCC in ARM mode.  
C4000000 xxxxxxxx - Safe data store (Based on Trainer Toolkit code)
The E12FFF1E (bx lr) is needed at the end to return to the cheat engine.
Sets the offset register to point to the first word of this code.  
(These instructions are based on those written by kenobi.)
Storing data at [offset+4] will save over the top of xxxxxxxx.
 
C4000000 xxxxxxxx - Safe data store (Based on Trainer Toolkit code)
C5000000 xxxxyyyy - Counter (Based on Trainer Toolkit code)
Sets the offset register to point to the first word of this code.  
Each time the cheat engine is executed, the counter is incremented by 1.
Storing data at [offset+4] will save over the top of xxxxxxxx.
If (counter & yyyy) == xxxx then execution status is set to true.
Else it is set to false.
C5000000 xxxxyyyy - Counter (Based on Trainer Toolkit code)
 
Each time the cheat engine is executed, the counter is incremented by 1.
C6000000 xxxxxxxx - Store offset (Based on Trainer Toolkit code)
If (counter & yyyy) == xxxx then execution status is set to true.
Stores the offset register to [xxxxxxxx].
Else it is set to false.
 
D400000x yyyyyyyy - Dx Data operation
C6000000 xxxxxxxx - Store offset (Based on Trainer Toolkit code)
Performs the operation Data = Data ? yyyyyyyy where ? is determined by x as follows:
Stores the offset register to [xxxxxxxx].
0 - add
1 - or
D400000x yyyyyyyy - Dx Data operation
2 - and
Performs the operation Data = Data ? yyyyyyyy where ? is determined by x as follows:
3 - xor
0 - add
4 - logical shift left
1 - or
5 - logical shift right
2 - and
6 - rotate right
3 - xor
7 - arithmetic shift right
4 - logical shift left
8 - multiply
5 - logical shift right
 
6 - rotate right
If type codes
7 - arithmetic shift right
Adds offset to the address if the lowest bit of the address is set.  
8 - multiply
Sets the address equal to offset if the original address is 0x00000000.
</pre>
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.
==Controls==
==Controls==
A - Open a folder, Toggle a cheat enabled  
A - Open a folder, Toggle a cheat enabled  
Line 147: Line 148:
* GitHub - https://github.com/ahezard/NitroHax3DS
* GitHub - https://github.com/ahezard/NitroHax3DS
* GBAtemp - https://gbatemp.net/threads/nitrohax-homebrew-action-replay-alternative-now-working-as-a-cia.438638
* GBAtemp - https://gbatemp.net/threads/nitrohax-homebrew-action-replay-alternative-now-working-as-a-cia.438638
[[Category:3DS homebrew applications]]
[[Category:Homebrew utility applications on 3DS]]

Latest revision as of 05:34, 6 Mayıs 2024

NitroHax3DS
Nitrohax3ds.png
General
AuthorApache Thunder, Ahezard, Shutterbug2000
TypeUtilities
Version0.99.dsi
LicenseGPLv3
Last Updated2018/04/26
Links
Download
Website
Source

Nitro Hax is a cheat tool originally created by Chishm for the Nintendo DS. This is a modified version to work on Nintendo 3DS made by Apache Thunder, Ahezard and Shutterbug2000.

Note from developers:

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.

Installation

Note: Revised for 3DS and required Luma3DS to use. Do not attempt to use this build on a original DS/DS Lite. Use Chishm's original build instead.

Install NitroHax.cia with your preferred CIA installer.

Place an Action Replay XML file (cheats.xml) to a location on your 3DS SD card.

User guide

Insert the game you intend to use NitroHax with.

Start NitroHax from 3DS Home Menu. If you did not insert a game yet, the program will prompt you to insert one.

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.

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.

Select the cheats you would like to disable/enable. If you wish to enable TWL clock speeds for your game press select button. This option added to help improve performance of some games.

Do not eject the game cartridge once cheats have been loaded. If you change your mind, you will need to restart Nitrohax.

When you're done, exit the cheat menu by pressing the start button.

The game will then start with cheats running. 10.The DS/DSi bootsplash played prior to starting the game will indicate what CPU speed was selected for your game.

Supported games and tutorial

See How to use NitroHax and supported game list (by PRAGMA).

Custom Code Types

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.

Controls

A - Open a folder, Toggle a cheat enabled

B - Go up a folder, Exit the cheat menu if at the top level

X - Enable all cheats in current folder

Y - Disable all cheats in current folder

L/R - Move up/dpwn half a screen

Up/Down - Move up/down one line

Start - Start the game

Select - Enable DSi clock speeds (currently no visible GUI button for this yet)

Media

NitroHax now working on Nintendo 3DS (ApacheThunder)

Credits

Original by Michael "Chishm" Chisholm.

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 have helped along the way.
  • Big thanks to Datel (CodeJunkies) for creating the original Action Replay and its cheats.

External inks

Advertising: