Filetrip Logo


Nintendo DS ROM tool (ndstool) 1.50.1



NDStool is a tool which can extract files from and rebuild DS rom images and many types of DS homebrew. It sometimes falls short on DS roms but there are other tools that will work there.
Note unlike previous versions this requires some DLL files included in the download.

Basic extraction command
ndstool -x *.nds -9 arm9.bin -7 arm7.bin -y9 y9.bin -y7 y7.bin -d data -y overlay -t banner.bin -h header.bin

Full usage

Nintendo DS rom tool 1.50.1 - May 10 2012
by Rafael Vuijk, Dave Murphy, Alexei Karpenko

Parameter Syntax Comments
--------- ------ --------
Show this help: -?[option] All or single help for an option.
Show information: -i [file.nds] Header information.
Show more info -v [roms_rc.dat] Checksums, warnings, release info
Hook ARM7 executable -k [file.nds] Currently not tested.
Fix header CRC -f [file.nds] You only need this after manual editing.
En/decrypt secure area -s[e|E|d] [file.nds] En/decrypt the secure area and
put/remove card encryption tables and test patterns.
Optionally add: d for decryption, e/E for encryption.
(e: Nintendo offsets, E: others)
List files: -l [file.nds] Give a list of contained files.
Show offsets/sizes -v
Create/Extract -c/-x [file.nds]
Show more info -v[v...] Show filenames and more header info.
Use multiple v's for more information.
ARM9 executable -9 file.bin
ARM7 executable -7 file.bin
ARM9 overlay table -y9 file.bin
ARM7 overlay table -y7 file.bin
Data files -d directory
Overlay files -y directory
Banner bitmap/text -b file.bmp "text;text;text" The three lines are shown at different sizes.
Banner binary -t file.bin
Header template -h file.bin Use the header from another ROM as a template.
Header size -h size A header size of 0x4000 is default for real cards, 0x200 for homebrew.
Latency -n [L1] [L2] default=maximum
Logo bitmap/binary -o file.bmp/file.bin
Game info -g gamecode [makercode] [title] [rom ver] Sets game-specific information.
Game code is 4 characters. Maker code is 2 characters.
Title can be up to 12 characters.
ARM9 RAM address -r9 address
ARM7 RAM address -r7 address
ARM9 RAM entry -e9 address
ARM7 RAM entry -e7 address
Wildcard filemask(s) -w [filemask]... * and ? are wildcard characters.

You only need to specify the NDS filename once if you want to perform multiple actions.
Actions are performed in the specified order.
Addresses can be prefixed with '0x' to use hexadecimal format.

Change log (1.50.1):
Unknown. Source change log
http://devkitpro.git.sourceforge.net/git/gitweb.cgi?p=devkitpro/ndstool;a=shortlog;h=HEAD
comments powered by Disqus