We just released a Feb. 5 '89 prototype of DuckTales for the NES!
If you'd like to support our preservation efforts (and this wasn't cheap), please consider donating or supporting us on Patreon. Thank you!

Nintendo DS

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Nintendo DS

Also known as: iQue DS (CH, original model)
Developer: Nintendo
Publisher: Nintendo
Released in JP: December 2, 2004
(original), March 2, 2006 (Lite)
Released in US: November 21, 2004
(original), June 11, 2006 (Lite)
Released in EU: March 11, 2005
(original), June 23, 2006 (Lite)
Released in AU: February 24, 2005
(original), June 1, 2006 (Lite)
Released in KR: January 15, 2007 (Lite)
Released in CN: July 23, 2005 (iQue)

DevTextIcon.png This game has hidden development-related text.
DebugIcon.png This game has debugging material.
RegionIcon.png This game has regional differences.
Carts.png This game has revisional differences.

To do:
  • Apparently the DS Lite has unused video-out firmware/hardware functionality.
  • At least some DS models (and maybe 3DS too) have pressure sensitive touch screens, and software can make use of this. Supposedly Nintendo didn't allow developers to use this functionality due to inconsistent hardware (and maybe because they didn't want users to break the screen - that's something they warn about in the users manual - not pressing too hard on the touch screen), but a/some licensed titles (and the Colors! homebrew title) did use it (see: here).

Nintendo's first Dual-Screen platform, this third pillar happily coexisted with both its predecessor in the Game Boy line and its competitor from Sony by immediately monopolizing practically the entire handheld space. Known early in development as the Nitro System - a name which survives through the line's serial code, NTR - and later the City Boy, its intuitive touch-screen control, strong third-party support, and low-cost high-capacity game cards quickly resulted in it becoming the most successful handheld platform in history.

And it prints money!

Debug Button

Elementary, my dear Cactus.
This needs some investigation.
Discuss ideas and findings on the talk page.
Specifically: Check which DS games still recognize or use the DEBUG button input.

Commercially-released DS consoles normally have the buttons A, B, X, Y, L, R, Start, Select, and the D-Pad – the ones used during normal gameplay in commercially-released games. However, there is another button called DEBUG which is only present in dev units. The DEBUG button is stored (like X and Y) under an address for DS-exclusive buttons, unlike the rest of the buttons which were also present on the GBA.

It is possible to get DS games to recognize this button input by using the DeSmuME emulator, but it is otherwise unused.

(Source: Project Pokémon, Kodewerx)

Developer Text

Failed sound alarm OS_SendMessage

This error message string exists in the ARM9 boot code in at least one version of the firmware.

(Source: Original TCRF research)

Unused Banners

All Nintendo DS games have banners that show on the DS menu at start-up when the cartridge is inserted. The graphics for these banners are located in an overlay file called banner, under the ftc directory.

However, many games on the Nintendo DS have duplicate and sometimes unused variants of their banner graphics lying uncompressed elsewhere in the ROM out in the open, often in a banner directory. It is unknown why, since the Nintendo DS doesn't use or check for these files. Notable games having such unused alternate banners include The Legend of Zelda: Phantom Hourglass and Learn with Pokémon: Typing Adventure.

DS-placeholder banner.png

On a related subject, Wi-Fi Download Play files are stored as standalone DS ROMs inside the main game ROM. They have data for banners which goes unused anyways. Often it is just a duplicate of the banner for the main game, but many pre-2006 games used a placeholder banner (pictured here) probably from an SDK for the banner. The internal title for these is Nintendo DS - Demonstration, translated to all languages.


There are also many DS games where this banner is a leftover from the DS SDK for the multiboot ROM header. The text is the Japanese word for "icon" (アイコン). Examples of such games include:

Regional Differences

iQue DS

OnlyForiQue DS RegionLock.gif

iQue DS, the Chinese version of the original Nintendo DS, has region-protected games unlike all other versions. They are unplayable outside Chinese consoles, triggering an error message ("Only for iQue DS", in English) that changes from red, to orange, to yellow and back. This protection can be circumvented by changing 0x1D (ROM region) from 80 to 00. For some reason, the DSi and 3DS do not use the protection and will play iQue DS games.

There have been a whopping five games released for the iQue, not counting the Nintendogs game included in the iQue DSi internal memory:

To do:
Korean DS games have 0x1D set to 40, yet it seems that it does nothing.

Language Select

Regular DS systems have a language option in all firmware. iQue DS replaced Japanese with Chinese, while the Korean DS replaced Italian with Korean.

For DSi systems, the option for changing the DS language is only present in US and European firmware. Japanese, Korean, and Chinese models of the DSi do not have this option and default to their respective language if available (or English for non-Chinese models).

Also, aside from some early Nintendo DS releases (like Project Rub, Sonic Rush, and The Rub Rabbits), many Japanese games that are localized to the US or Europe have their Japanese language option unavailable, even when setting the firmware to Japanese. Likewise, US versions often dummy out in a similar fashion any languages other than English (and sometimes French and Spanish), and Japanese games that already have an English script (like Kousoku Card Battle: Card Hero) only have the Japanese language option available.

Wi-Fi Simple Start Mode

DS-Wi-FiSimpleStartJPN.png DS-Wi-FiStep2US.png

Similar to the AOSS option in the US Wi-Fi configuration menu, there is also a Simple Start option, allowing to connect your DS to a Simple Start compatible router. However, since these routers are Japan-exclusive, the button for this option got removed from the Wi-Fi configuration menus in American, European, Australian, Korean and Chinese games.

It can still be accessed in these versions, translated and fully working if used with such routers, but you'll need to offset the Touch Screen calibration: at the very end of the calibration process, when asked to press the spot at the square's center, press its bottom-right corner instead. When you enter Step 2 in the in-game Wi-Fi configuration menu, you can access this option by pressing the pixel in the top-left corner of the Touch Screen. This is also still present (and much easier to trigger in native resolution mode) on the Nintendo 3DS's version of this menu.

Revisional Differences

The DS Lite officially added four backlight brightness levels, while the original could only toggle the backlight on and off. However, the last minor revision of the original model (which shipped with v5 firmware) supports multiple levels of backlight in hardware, which can be toggled using homebrew or by installing FlashMe.

(Source: Wikipedia, PocketHeaven)

Version Reporting

The DS has a quite interesting way of reporting its firmware version number. To trigger this:

  1. Power off the DS and insert a game cartridge (some GBA games, Slot-2 expansion cartridges and DS flash cards do not work for this).
  2. Power on the DS.
  3. Launch PictoChat.
  4. Enter a chat room.
  5. Eject the game cartridge.

If done correctly, depending on the firmware version, it will exhibit different behavior:

  • Firmware v1: Pictochat will lock up.
  • Firmware v2: Greyish-blue screen will appear.
  • Firmware v3: Dark green screen will appear.
  • Firmware v4: Golden yellow screen will appear.
  • Firmware v5: Magenta screen will appear.
  • Firmware v6: Dark blue screen will appear.
  • Chinese "iQue" Firmware: Even darker green screen will appear.
  • Special "v7" Firmware (used for DSi backwards compatibility?): Nothing happens, Pictochat functions as normal.