Hardware
There are several ways to make the NintendoDS run homebrew code. For the developement of this project the following
setup has been used:
M3 Perfect CF
www.m3adapter.com
The M3 is a CompactFlash-Adapter, which is placed in the second slot of the NintendoDS, the slot which is usually used
for GameboyAdvance-carts. The NintendoDS application is stored on the CompactFlash card using a generic cardreader.
However, to be able to run NintendoDS-code from the GameboyAdvance-slot, a Passkey device is needed.
Passkey 2
www.m3adapter.com
A Passkey is a device, which is placed in the slot of the NintendoDS, which is deticated to NintendoDS-carts. It redirects
the NintendoDS' request for NintendoDS-code to the GameboyAdvance-slot, where our homebrew application is stored. There
has to be inserted a commercial NintendoDS-game into the Passkey, to bypass a a mechanism built in by Nintendo, which prevents
the NintendoDS from running non-commercial games and applications.
Software
The following projects have been used for developing ndsvisuals:
vvvv
www.vvvv.org
vvvv is a toolkit for developing multimedia applications with a visual programming environment. With its capabilities
of dealing with videofiles, 3d data, etc. it was used to implement the application running on the server, which is responsible
for displaying videos and loading further vvvv-realtime-applications.
devKitPro
www.drunkencoders.com
devKitPro is a SDK which consists of the nessecary compilers and a range of other tools for developing applications for NintendoDS or PSP.
It also provides libnds, an open source library.
PALib
www.palib.com
PALib is another API which is based on libnds, but is a lot more abstract, and less close to hardware. It comes along with handy
tools like an emulator, graphic converter, etc.
DSWifi
blog.akkit.org
DSWifi is a library still in developement which deals with the WIFI functions the NintendoDS supports. The library provides
methods for setting up connections and transferring data through UDP and TCP.