An opinionated, curated list of awesome NDS/DSi development resources and tools. Inspired by the awesome list.
- GBAdev Discord - while GBA-centric, it contains a small sub-section for NDS development.
- devkitPro Forums - the best place for getting support pertaining to the devkitARM toolchain.
- GBAtek (multi-megabyte HTML, paged version) - the terse go-to reference for everything DS/DSi. It covers about 97% of everything there is to know about the devices. Supplementary information is provided in the following documents:
- GBAtek addendum/errata - a thread which compiles many niche and edge-case aspects not covered in GBAtek
- Additional notes on W_POWERFORCE/W_US_COUNT/W_RXFILTER (Arisotura, September 4th, 2022
- Seiko S-35180A - NDS real-time clock
- Seiko S-35199A01 - DSi real-time clock
- devkitARM - the community standard toolchain, maintained by the devkitPro organization.
- devkitPro and devkitARM are trademarks of Dave Murphy. This document is not endorsed by or connected to devkitPro.
- BlocksDS - a newer toolchain, maintained by AntonioND.
- NightFox's Lib (MIT) - high-level wrapper for tilemaps, sprites and collision maps, using the 2D engine.
- Nitro Engine (MIT) - high-level wrapper for the 3D engine; models, textures, text, GUI, physics.
- maxmod (BSD) - highly capable and efficient ARM7 .MOD/.S3M/.XM/.IT-compatible playback engine, written in ASM.
- libxm7 (MIT) - .MOD/.XM playback engine.
- dsi_sdmmc (MIT) - custom DSi TMIO/SDMMC driver.
- dsmi (LGPLv2.1) - MIDI interfacing library (via DSerial Edge or dswifi).
- posprintf - tiny, limited sprintf()-like library written in ARMv4 ASM.
As this list is written with developers in mind, this section only lists such programs whose codebases have clear licensing terms.
- MegaZeux (GPLv2+) - text-mode-inspired PC game engine
- ScummVM (GPLv3+) - point-and-click adventure game engine
- Spelunky DS (GPLv3 + proprietary assets)
- WordleDS (GPLv3+)
- NitrousTracker (GPLv3) - DSi-compatible, enhanced fork of NitroTracker
- uxnds (MIT) - varvara virtual machine implementation
- tuna-viDS (GPLv2) - XviD video player
These are links to files and sources which are noteworthy from a historical perspective, but have been superseded.
- Introduction to Nintendo DS Programming (2008) - a crucial tutorial in the early days of Nintendo DS homebrew.
- The History of DS Homebrew (2008) by James "Lynx" Zawacki - an oral record of the first years of the homebrew scene.
- A guide to homebrew development for the Nintendo DS (2008) by Olivier Boudeville - a thorough overview of oldschool DS homebrew development.