Que yo sepa el devkitpro que hay ahora te lo instala todo el solo (acabo de ver de todos modos que en
http://www.devkitpro.org/ tienes instrucciones->setting up). Para ver si te va entra en devkitpro\examples\nds y le das al bat de compilar. Eso debiera generarte un .nds y un .nds.gba en todas las carpetas de ejemplos de la ds.
Si te va el funcionamiento mas o menos el siguiente. Tienes 2 formas de trabajar: con un procesador o con 2. Para ello tienes en examples\nds\templates la carpeta arm9 y combined. Para empezar si quieres empieza con arm9. Copias esa carpeta por ejemplo a devkitpro y lo metes dentro de una carpeta tuya que se llame proyectos.
Ahora miramos las "tripas" de la carpeta arm9.
-Source: aqui te ponen el arm9.c. Tiene el codigo basico para un "hola mundo" (a su modo). Lo importante es que te fijes en la estructura
*Incluir siempre nds.h para usar libnds
*Poner los modos de video
*Entrar en un bucle infinito
Eso es más o menos lo básico, básico
-Build: se guarda el código intermedio (no le des más importancia)
-Makefile: es el archivo que dice que y como tiene que compilar todo lo que pongas en source. Para ejecutarlo lo mas facil es que crees un .bat y dentro pongas "make" sin las comillas claro. Puedes coger si no el .bat de uno de los ejemplos
-.pnproj: es digamos el "proyecto" para abrirlo con el programmers notepad. Se supone que esta configurado para que abriendo puedas programar más comodamente con ese programa. Es algo mejor que el notepad pero tampoco es la leche
Una vez que compiles yo te aconsejo te busques un visual studio o visual studio .net (preferiblemente) y sigas un tutorial que hay por aqui sobre como configurarlo para lanzar los .bat desde el, escribir el código en el ide (con las ventajas que ello supone de poder ver las funciones de nuestras clases) y lanzar los emus (lo que hace todo mucho más cómodo).
Como comentarios a parte tienes 2 opciones ahora mismo: usar libnds sólo (es el nds.h) o bajarta a parte la pa_lib. La curva de aprendizaje es claramente más elevada si sólo usas libnds y si no quieres comerte mucho el coco y ver resultados mucho antes escoge pa_lib, pero para mi gusto si vas a hacer 3D o quieres hacerte tu librería propia entonces usa sólo libnds.
Lo segundo a tener en cuenta es que puedes programar en ensamblador, c o c++. También esto es a gusto propio. La mayor parte del código que he visto es en c pero yo en cambio programo en c++ (para mi gusto mucho más ordenado y ampliable orientado a objetos pero teniendo cuenta de no hacer macrojerarquías que se carguen el rendimiento)
Espero que te sirva algo de ayuda. Un saludo.