gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

DS development > NDSTool help

#68603 - Maverick - Thu Jan 26, 2006 12:29 am

Could anyone tell me what all of the other things included in NDSTool are for, do or how to use them. I have only used:

ndstool -c arm.nds -9 arm9.bin -7 arm7.bin -b ..\icon.bmp "Test;Just a test;To see what it does!" -o ..\logo.bin

Many thanks for ANY information

Here is the help text:

Nintendo DS rom tool 1.28 - Jan 25 2006 01:49:03 by Rafael Vuijk (aka DarkFader)


Parameter Syntax Comments
--------- ------ --------
Show this help: -?
Show information: -i [file.nds]
Information options: optional
Show more info -v [roms_rc.dat] checksums, warnings, release info
PassMe: -p [file.nds] [passme.vhd] [passme.sav]
Hook ARM7 executable -k [file.nds] see manual
Fix header CRC -f [file.nds]
En/decrypt secure area -s [file.nds]
List files: -l [file.nds]
Create -c [file.nds]
Extract -x [file.nds]
Create/Extract options: optional
Show more info -v[v...] filenames etc.
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" 3 lines max.
Banner binary -t file.bin
Header template -h file.bin
N-compatibility mode -n uses offset 0x4000 Logo bitmap/binary -o file.bmp/file.bin
Maker code -m code
Game code -g code
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 special
Common options:
NDS filename [file.nds]

You can perform multiple actions. They are performed in specified order.
You only need to specify the NDS filename once. This and other options can appear anywhere.
Addresses can be prefixed with '0x' to use hexadecimal format.
_________________
http://downtou.ne1.net/

#68613 - josath - Thu Jan 26, 2006 1:45 am

what exactly do you want to know? is there something in particular you want to do?

#68620 - The 9th Sage - Thu Jan 26, 2006 2:35 am

Maverick wrote:

Many thanks for ANY information


Indeed, some of this stuff I have no idea on...like the overlay stuff, and N-compatibility mode.
_________________
Now with 20% More Old Man from Zelda 1 than ever before!

#68634 - josath - Thu Jan 26, 2006 3:27 am

reading the source code may help, the comments and stuff explain things a bit.

#68636 - caitsith2 - Thu Jan 26, 2006 3:49 am

Except we can't exactly read the source code to 1.28, until darkfader checks it in.

#68671 - Maverick - Thu Jan 26, 2006 10:03 am

I just dont know what some of these things WOULD do, or how i would use them or even what use they would be to me

Obviously:

-?, prints the help output
-l, lists the files in the nds
-c, creates an nds file
-x, extracts files from a nds
-9, specifies an arm9 executable
-7, specifies an arm7 executable
-b, sets up the boot banner
-t, supplies a binary banner
-m, specifies a maker code
-g, specifies a game code

but i could not even guess on anything else

Especially the new feature
_________________
http://downtou.ne1.net/

#68716 - Dark Knight ez - Thu Jan 26, 2006 2:48 pm

Encrypt/decrypt the secure area, you mean?
As far as I know, most current commercial ROMs spread on the internet are not exact copies of the real ROMs. A small part (the secure area) should be encrypted, but is not in the spread dumps (for a couple of reasons). With this option, I suppose you could encrypt that part to obtain a proper dump.

#68749 - HyperHacker - Thu Jan 26, 2006 6:04 pm

It also means you should be able to encrypt homebrew code to have it run on an unmodified DS with any firmware via WMB. Unless I've completely misunderstood what this feature does exactly.

#68780 - JaJa - Thu Jan 26, 2006 7:42 pm

Isn't that RSA signing rather than secure area?

#68793 - josath - Thu Jan 26, 2006 8:16 pm

yeah, hyperhacker's wrong, he's confusing the RSA signature on a WMB bin with the secure area in a DS rom

#69006 - HyperHacker - Fri Jan 27, 2006 11:16 pm

Damn, I thought WMB binaries used that too. What does the RSA do, then? Just verify that the code comes from Nintendo?

#69037 - Maverick - Sat Jan 28, 2006 2:15 am

The RSA is in the rom after it is signed by an official program, there is an RSA key in the firmware that checks this signature is correct.

To sign the rom in the first place, you need this key and another "private" key.
_________________
http://downtou.ne1.net/

#69113 - Maverick - Sat Jan 28, 2006 3:26 pm

So, basically, none of this is of ANY use to you if you are not a pirate?(or playing backups)
_________________
http://downtou.ne1.net/

#69117 - tepples - Sat Jan 28, 2006 4:10 pm

There are legitimate reasons to play backups of your own games, one for emulator authors being to investigate poorly understood behaviors of the DS through the behavior of programs known to work correctly on the DS. But you're right that this would be better on Pocket Heaven.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#69200 - The 9th Sage - Sun Jan 29, 2006 5:19 am

tepples wrote:
There are legitimate reasons to play backups of your own games, one for emulator authors being to investigate poorly understood behaviors of the DS through the behavior of programs known to work correctly on the DS. But you're right that this would be better on Pocket Heaven.


Thank you. :P
_________________
Now with 20% More Old Man from Zelda 1 than ever before!