2015-03-01 00:53:21 +00:00
|
|
|
---
|
|
|
|
created: 2009-03-16 00:48:30 +0100
|
2022-01-23 17:14:59 +00:00
|
|
|
language: en
|
|
|
|
layout: redirect
|
|
|
|
layout_old: default
|
|
|
|
redirect_to: https://blog.mbirth.de/archives/2009/03/16/ndstool.html
|
2015-03-01 00:53:21 +00:00
|
|
|
tags:
|
2022-01-23 17:14:59 +00:00
|
|
|
- know-how
|
|
|
|
- hacking
|
|
|
|
- hardware
|
|
|
|
- nintendo
|
|
|
|
- gaming
|
|
|
|
title: ndstool
|
|
|
|
toc: false
|
|
|
|
updated: 2009-03-16 00:48:30 +0100
|
2015-03-01 00:53:21 +00:00
|
|
|
---
|
2022-01-23 17:14:59 +00:00
|
|
|
|
2015-03-01 00:53:21 +00:00
|
|
|
The `ndstool` can show header information of ROM files as well as extract the game logo or even the whole ROM contents.
|
|
|
|
It also can recombine the extracted ROM contents to a working ROM again.
|
|
|
|
|
|
|
|
* **Homepage:** [darkfader.net](http://darkfader.net/ds/) (scroll down to *DS development tools*)
|
|
|
|
* **Blog:** [ndsdev.blogspot.com](http://ndsdev.blogspot.com/)
|
|
|
|
* **SVN:** [devkitpro.svn.sourceforge.net](http://devkitpro.svn.sourceforge.net/viewvc/devkitpro/trunk/tools/nds/ndstool/)
|
|
|
|
* **Linux binary:** [codinglab.blogspot.com](http://codinglab.blogspot.com/2007/07/nintendo-ds-homebrew-under-linux-ubuntu.html)
|
|
|
|
* **Python clone:** [jmoiron.net](http://dev.jmoiron.net/rom-seimei/) (limited functionality, but does UTF8)
|
|
|
|
|
|
|
|
|
|
|
|
Example output
|
|
|
|
==============
|
|
|
|
|
|
|
|
This is from the Linux binary (see above):
|
|
|
|
|
|
|
|
~~~
|
|
|
|
Nintendo DS rom tool 1.36 - Jul 31 2007 23:26:46
|
|
|
|
by Rafael Vuijk, Dave Murphy, Alexei Karpenko
|
|
|
|
Header information:
|
|
|
|
0x00 Game title BANDBROS DX
|
|
|
|
0x0C Game code AXBJ (NTR-AXBJ-JPN)
|
|
|
|
0x10 Maker code 01 (Nintendo)
|
|
|
|
0x12 Unit code 0x00
|
|
|
|
0x13 Device type 0x00
|
|
|
|
0x14 Device capacity 0x09 (512 Mbit)
|
|
|
|
0x15 reserved 1 000000000000000000
|
|
|
|
0x1E ROM version 0x00
|
|
|
|
0x1F reserved 2 0x00
|
|
|
|
0x20 ARM9 ROM offset 0x4000
|
|
|
|
0x24 ARM9 entry address 0x2000800
|
|
|
|
0x28 ARM9 RAM address 0x2000000
|
|
|
|
0x2C ARM9 code size 0xADBB4
|
|
|
|
0x30 ARM7 ROM offset 0x172000
|
|
|
|
0x34 ARM7 entry address 0x2380000
|
|
|
|
0x38 ARM7 RAM address 0x2380000
|
|
|
|
0x3C ARM7 code size 0x26F28
|
|
|
|
0x40 File name table offset 0x198F28
|
|
|
|
0x44 File name table size 0xBFF1
|
|
|
|
0x48 FAT offset 0x1A4F1C
|
|
|
|
0x4C FAT size 0x4BA8
|
|
|
|
0x50 ARM9 overlay offset 0xB1BC0
|
|
|
|
0x54 ARM9 overlay size 0x2E0
|
|
|
|
0x58 ARM7 overlay offset 0x0
|
|
|
|
0x5C ARM7 overlay size 0x0
|
|
|
|
0x60 ROM control info 1 0x00416657
|
|
|
|
0x64 ROM control info 2 0x081808F8
|
|
|
|
0x68 Icon/title offset 0x1A9C00
|
|
|
|
0x6C Secure area CRC 0xD9F8 (OK, decrypted)
|
|
|
|
0x6E ROM control info 3 0x0D7E
|
|
|
|
0x70 ARM9 ? 0x2000AAC
|
|
|
|
0x74 ARM7 ? 0x2380188
|
|
|
|
0x78 Magic 1 0x00000000
|
|
|
|
0x7C Magic 2 0x00000000
|
|
|
|
0x80 Application end offset 0x036DF558
|
|
|
|
0x84 ROM header size 0x00004000
|
|
|
|
0x88 ? 0x00004BA0
|
|
|
|
0x15C Logo CRC 0xCF56 (OK)
|
|
|
|
0x15E Header CRC 0xF657 (OK)
|
|
|
|
|
|
|
|
Banner CRC: 0x2934 (OK)
|
|
|
|
English banner text, line 1: _______
|
|
|
|
English banner text, line 2: ________DX
|
|
|
|
English banner text, line 3: Nintendo
|
|
|
|
|
|
|
|
ARM9 footer found.
|
|
|
|
|
|
|
|
Security data CRC (0x1000-0x2FFF) 0x6FFF
|
|
|
|
Segment3 CRC (0x3000-0x3FFF) 0x0000 (INVALID)
|
|
|
|
~~~
|
|
|
|
|
|
|
|
This is from the Python version:
|
|
|
|
|
|
|
|
~~~
|
|
|
|
Header Information:
|
|
|
|
0x00 Game title BANDBROS DX
|
|
|
|
0x0C Game code AXBJ (NTR-AXBJ-JPN)
|
|
|
|
0x10 Maker code 01 (Nintendo)
|
|
|
|
0x12 Unit code 0x00
|
|
|
|
0x13 Device type 0x00
|
|
|
|
0x14 Device capacity 0x09 (512 Mbit)
|
|
|
|
0x15 Reserved 1 000000000000000000
|
|
|
|
0x1E ROM Version 0x00
|
|
|
|
0x1F Reserved 2 0x00
|
|
|
|
0x20 ARM9 ROM offset 0x4000
|
|
|
|
0x24 ARM9 entry address 0x2000800
|
|
|
|
0x28 ARM9 RAM address 0x2000000
|
|
|
|
0x2C ARM9 code size 0xADBB4
|
|
|
|
0x30 ARM7 ROM offset 0x172000
|
|
|
|
0x34 ARM9 entry address 0x2000800
|
|
|
|
0x38 ARM7 RAM address 0x2380000
|
|
|
|
0x3C ARM7 code size 0x26F28
|
|
|
|
0x40 File name table offset 0x198F28
|
|
|
|
0x44 File name table size 0xBFF1
|
|
|
|
0x48 FAT offset 0x1A4F1C
|
|
|
|
0x4C FAT size 0x4BA8
|
|
|
|
0x50 ARM9 overlay offset 0xB1BC0
|
|
|
|
0x54 ARM9 overlay size 0x2E0
|
|
|
|
0x58 ARM7 overlay offset 0x00
|
|
|
|
0x5C ARM7 overlay size 0x00
|
|
|
|
0x60 ROM control info 1 0x00416657
|
|
|
|
0x64 ROM control info 2 0x081808F8
|
|
|
|
0x6E ROM control info 3 0x0D7E
|
|
|
|
0x68 Icon/Title offset 0x1A9C00
|
|
|
|
0x6C Secure area CRC 0xD9F8 (OK, decrypted)
|
|
|
|
0x70 ARM9? 0x02000AAC
|
|
|
|
0x74 ARM7? 0x02380188
|
|
|
|
0x78 Magic 1 0x00000000
|
|
|
|
0x7C Magic 2 0x00000000
|
|
|
|
0x80 Application end offset 0x036DF558
|
|
|
|
0x84 ROM header size 0x00004000
|
|
|
|
0x15C Logo CRC 0xCF56 (OK)
|
|
|
|
0x15E Header CRC 0xF657 (OK)
|
|
|
|
|
|
|
|
Banner CRC: 0x2934 (OK)
|
|
|
|
Japanese banner text, line 1: だいがっそう!
|
|
|
|
Japanese banner text, line 2: バンドブラザーズDX
|
|
|
|
Japanese banner text, line 3: Nintendo
|
|
|
|
|
|
|
|
ARM9 footer found.
|
|
|
|
|
|
|
|
Security data CRC (0x1000-0x2FFF) 0x6FFF
|
|
|
|
Segment3 CRC (0x3000-0x3FFF) (NYI)
|
2022-01-23 17:14:59 +00:00
|
|
|
~~~
|