Homebrew Nintendo DS Development

24 February 2008: Tutorial 1 was about the hardware needed to run homebrew. Tutorial 2 is about what software to install and testing the install.

22 February 2008: I recently got a new Nintendo DS Lite and a R4DS so can get back to development on the device now. Rather than go through and update the existing tutorials I'm going to start from scratch working on new ones. Due to the large number of changes to devkitPro, and the use of the new development hardware, I think this will be a better approach since much of what I wrote about previously was quite low level and devkitPro now has much better libraries wrapping them.

Latest Tutorials

Tutorial 1: Setting up the R4DS to run Homebrew applications (Updated 22 Feb 2008). Tutorial 2: Setting up the software to develop Homebrew Homebrew applications (Updated 23 Feb 2008).

Old Tutorials

The old tutorials (won't work on the latest devkitPRO releases but are still usefull for learning about the hardware) here are:

Tutorial 1: Setting up the development evironment and building an example application that displays text output and reads the touch screen. Tutorial 2: Using the framebuffer mode of the Nintendo DS to draw to the screen. Also explains a bit about the Vertical Blank Interrupt. Tutorial 3: Detecting and acting on key presses. Tutorial 4: Playing sound samples. Tutorial 5: Storing and retrieving data from the save game area of the GBA cartridge. Tutorial 6: Covers filesystems, communications from the ARM9 to the ARM7 and better key handling. Tutorial 7: Covers using the FIFO registers to pass data between the ARM7 and ARM9 processors. Tutorial 8: All about Interrupts. Tutorial 9: How to use the microphone for recording sound. Tutorial 10: Extended rotation backgrounds, hardware scrolling and scaling, and displaying JPEG images.

DS Homebrew Programs

Other Programs

DSEmu Nintendo DS Emulator. I've started making modifications and extending this open source Nintendo DS Emulator.

Links

devkitPro is the excellent development system for building homebrew Nintendo DS applications. And for other platforms as well.

DeSmuME, a cross platform Nintendo DS emulator, suitable for testing homebrew programs.

Revolution for DS (R4DS), the DS game cartridge I'm using to run homebrew software.

DSTek has lots of technical information about programming the DS.

EmuFanatics, which no longer seems to exist, had a 'developer spotlight' about me.

Copyright (c) 2005, Chris Double. All Rights Reserved.