HOWTO - Development toolkits for Nintendo DS devices
IntroductionWe claim freedom to re-use devices found around as a human right of self determination in building spontaneous communication architectures - see also the dyne.org mission statement.
The NintendoDS is a game console device, as such marketed on large scale at relatively low prices (150EU a new one in 2007). It is predictable that a 2nd hand market will develop in the upcoming years and such devices be used to develop autonomous local communication networks.
The NDS device sports 2 lcd screens of which one is a touchscreen, a microphone and wifi connectivity. The ARM architecture and toolchains currently available offer a degree of compatibility and portability for homebrew applications developed on this platform.
Running homebrewRunning programs on the NDS is restricted: only executables signed by Nintendo can be launched. Various hacks are available to mod the device and be able to run homebrew software as DSLinux. A good documentation on these hacks is available on the DSLinux wiki.
Depending from the model of your NDS, there are various adaptors that can fit the purpose of running your applications stored on a (micro/mini)SD card or similar mass storages. The cost of such an adaptor on the southern european market is currently at 30~40EU, various models are available for online order or in the closer tecno-bukaneer shop of your town :) a Revolution4 micro-sd adaptor fitting aderently into a NDS-lite was found for the purpose of these experimentations, in a little shop nearby the harbour of Pescara, sold for 34EU.
Two development approachesTo create homebrew software on the NDS were followed two possible approaches:
- create single applications, linking to C libraries for device functionalities.
- run the DSLinux (busybox+uClinux) system and write shell scripts
The second approach permits rapid development of applications interfacing with the typical gnu/linux/bsd command line tools and shell scripting.
Standalone multimedia application development in C
The DevKitPro website offers a ready toolchain to compile software that runs on the NDS portable device, see devkitpro.org and their downloads section on sourceforge.
To quickly employ the toolkit on any PC and start coding, a dyne:bolic GNU/Linux liveCD module is available with the arm-eabi GNU C Compiler and libraries and headers of libnds, libfat, dswifi, SDL and various SDL-libs.
Download the nds-crosscompile module from ftp.dyne.org/dynebolic/modules/devel/
Several compilable code examples are provided.
Scripting on DSLinuxBy running DSLinux on your NDS device you'll be prompted with a shell and a virtual keyboard on the touchscreen. The internal shell interpreter can be expanded by with use of Awk and Sed. Basic wireless control is provided by the iwconfig and other iw* commands.
[ TO BE CONTINUED .... ]