The Nintendo DS (Codename NITRO) utilises a number of different file formats either created by Nintendo or a third party developer. If you are interested in reverse engineering a DS game then you will most likely come across these formats, so it is a good idea to have at least some knowledge of how they work.

The main file formats used in Nintendo DS games are outlined in the table below, with further detail in the sections of this post.

Extension Description
.tad Installable application for Nintendo Dsi (similar to the WAD format on Wii)
.nds Dump of a Nintendo DS Game Card (unofficial)
.srl Official Dump of a Nintendo DS Game Card

TAD files are installable applications for the Nintendo DSi, similar in function to the WAD file for the Wii console.

Developers would create these files by converting an SRL ROM to TAD format with a tool called maketad.

It is not common to see TAD files out in the wild as they tend to be used by developers. However in the Platinum leak there was a huge archive of DSi applications in TAD format. Some of these are even debug versions so may contain full debug symbols useful for reverse engineering.

Developers would use an application called TwlNmenu to install TAD files on their DSi hardware.

However there doesn’t seem to be a tool capable of installing TAD files on a modified DSi as of September 2020. However you can use the details in the next section to extract a DS ROM file (SRL) from the TAD file.

Using the split_tad_console script (from twToolsRed) one can extract the Nintendo DSi ROM (SRL) file from a TAD file 1. This has been tested with The Legend of Zelda 4 Swords Tad file available in the Platinum Leak.

There is also an alternative python script from a user on 4chan: #This is for Python 2from Crypto.Cipher import AES #pycrypto. If on windows, h - Pastebin.com

One can then use the steps in the SRL section below to mount the SRL to a directory and view its contents.

From the sounds of it on a 3DS you can use GodMode9 to convert the SRL to a CIA, or on preview, install the SRL directly. NO\$GBA should be able to launch it too once it’s in SRL format 1.

Interestingly it is possible to resign a TAD file using the Wii resigning tools, but it won’t be able to be installed on a modified DSi due to anti-tampering methods 2.

Do not run TwlNmenu on 3DS unless you have backed up your TWLN partition and you find a way to get valid certificates. In theory if you got valid certificates you would be able to install the TAD files but noone has yet managed to do it.

You can see a video of running TwlNmenu on a 3DS below:

SRL Format

SRL is the extension Nintendo uses for Nintendo DS ROMS and is the same as the NDS format. You can rename .srl files to .nds and they should play in an emulator 3.

Also it seems that on the Wii U Nintendo used the .srl file extension for their Nintendo DS emulated ROMs.

Extracting SRL content

To extract the content of a SRL ROM file you can use the ninfs tool to mount the SRL to a directory and then view its contents, like so 1:

mount_srl swords.srl ~/mnt_srl