Como prometi en mi blog, aqui os dejo un minitutorial para introduciros (es decir, preparar el entorno) para empezar a trastear con nuestra DS.
Doy por sentado que nos defenderemos en la instalacion de entornos de programacion y tenemos nociones de programacion (C). Si teneis algua duda, a los comentarios.
Tutorial de programación
Dia 0: Instalacion del entorno.
Para empezar estas minilecciones de programación para Nintendo DS necesitaremos instalarnos el siguiente software de desarrollo:
1. Visual C++ Express 2005 con sus service packs
2. devKitARM, en su versión R25 (la ultima a fecha de hoy)
Lo primero será descargarnos de la web de Microsoft y de manera gratuita el Visual C++.
Aquí teneis los enlaces:
Visual C++ 2005 Express: http://www.microsoft.com/express/2005/download/default.aspx#
La instalación de esta aplicación se realiza on-line, asi que tardara un poco.
Service Pack 1: http://download.microsoft.com/download/7/7/3/7737290f-98e8-4 5bf-9075-85cc6ae34bf1/vs80sp1-kb926748-x86-intl.exe
Parche para Windows vista: http://www.microsoft.com/downloads/details.aspx?familyid=90e 2942d-3ad1-4873-a2ee-4acc0aace5b6
Yo lo he instalado todo en “C:\NDS”, asi que en mi caso el Visual C++ ha quedado instalado en “C:\NDS\Microsoft Visual Studio 8”.
Lo siguiente es descargar e instalar el devKitARM r25.
Lo podemos obtener del siguiente enlace,
devKitARM: http://sourceforge.net/project/showfiles.php?group_id=114505 &package_id=16039
Instalaremos todo lo referente a devKitARM, incluyendo los ejemplos de NDS, los Kits para PSP y Game Cube, asi como los ejemplos de GBA y GP32 los podemos omitir.
Una cosa importante, la ruta donde instalemos el devKitArm no puede contener ningún espacio en blanco, en mi caso he usado “C:\NDS\devKitPro”.
Lo siguiente será descargarnos una pequeña utilidad que preconfigurara nuestro VC++ para poder compilar proyectos para NDS.
He modificado el Wizard de las PALIB para poder usarlo con las libnds (asi es como se llaman las librerías incluidas en el devKitARM), asi que aunque aparezca como si fuera a configurarse todo para usar las PALIB, no es asi.
Esta utilidad la podréis descargar de aquí: http://www.mediafire.com/?mczyzd00rzh
Descomprimimos el contenido del zip en una carpeta y ejecutamos el archivo “VC8_Express_Setup.js” . Si todo ha ido bien, aparecerá un mensaje de confirmación.
Ahora ya podemos abrir el Visual C++ Express 2005, para realizar una configuración rápida del mismo. Iremos al menú “TOOLS”, escogeremos “OPTIONS” y desplegaremos el menú “Projects and solutions”, marcando la opción “General”. En el apartado “Visual Studio Projects locations” escribiremos la ruta donde deseemos guardar nuestros proyectos, en mi caso “C:\NDS\Projects” (ver imagen aquí http://www.mediafire.com/?nkemfqymedj) y recordad, no useis ningún carácter raro ni espacio en blanco en esta ruta, de hacerlo, posiblemente no compile.
Hecho esto, ya podemos crear nuestro primer proyecto (incluido en la plantilla) y testear si el entorno se ha instalado correctamente.
Para ello iremos al menú “File”, “New” y “Project” y seleccionaremos “Nintendo DS” como opción. En la casilla escribiremos “Hello” como nombre de proyecto (recordad, ningún espacio en blanco), le daremos a “Ok” y completaremos el asistente dándole a “Next” y a “Ok” dejando lo demás por defecto. (Ver imagen http://www.mediafire.com/?thmy1jjldme) Si todo ha salido como debería y veremos esto http://www.mediafire.com/?xmjmwmjmodn o algo muy parecido es que vamos bien.
En este punto ya podemos compilar el proyecto (el ultrahipermegafamoso Hola Mundo!) y verificar si todo esta como debería.
Para ello, le daremos con el botón derecho a “Solution Hello (1 project)” (arriba a la izquierda) y seleccionaremos “Clean Solution”. En la ventana output veremos esto:
1>------ Clean started: Project: Hello, Configuration: Release Win32 ------1>Performing Makefile project actions1>clean ...========== Clean: 1 succeeded, 0 failed, 0 skipped ==========
Lo cual nos indica que el commando “Clean” (es decir, borrar todo lo compilado anteriormente) se ha ejecutado con exito.
Ahora pasaremos a la compilación en si. Para ello, haremos lo mismo que en el paso anterior, pero seleccionaremos la opción “Build Solution”. Si todo ha salido bien (debería si has seguido este tutorial al pie de la letra), la ventana output mostrara lo siguiente:
1>------ Build started: Project: Hello, Configuration: Release Win32 ------1>Performing Makefile project actions1>main.cpp1>arm-eabi-g++ -MMD -MP -MF /c/NDS/projects/Hello/Hello/build/main.d -g -Wall -O2 -march=armv5te -mtune=arm946e-s -fomit-frame-pointer -ffast-math -mthumb -mthumb-interwork -I/c/NDS/projects/Hello/Hello/include -I/c/NDS/projects/Hello/Hello/build -I/c/nds/devkitPro/libnds/include -I/c/nds/devkitPro/libnds/include -I/c/NDS/projects/Hello/Hello/build -DARM9 -fno-rtti -fno-exceptions -c /c/NDS/projects/Hello/Hello/source/main.cpp -o main.o1>linking Hello.elf1>built ... Hello.arm91>ndstool -c /c/NDS/projects/Hello/Hello/Hello.nds -9 /c/NDS/projects/Hello/Hello/Hello.arm9 -b /c/nds/devkitPro/libnds/icon.bmp "Hello;www.devkitpro.org;www.drunkencoders.com" 1>Nintendo DS rom tool 1.40 - Feb 4 20091>by Rafael Vuijk, Dave Murphy, Alexei Karpenko1>built ... Hello.nds1>Build log was saved at "file://c:\NDS\projects\Hello\Hello\Release\BuildLog.htm"1>H ello - 0 error(s), 0 warning(s)========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
Si vemos esto, premio. En la carpeta “C:\nds\hello\hello” (si has usado las carpetas que he mencionado) tendras el archivo “hello.nds”. Ahora solo queda que lo pruebes en tu Nintendo DS (usando un flashcard) o en el emulador de turno (recomendable por temas de depuración).
Si la cosa ha salido bien, veras esto: http://www.mediafire.com/?mmrug2nmtmj
Pues aquí termina el primer dia. A medida que domine las LIBNDS, os pondré mas tutoriales.
Aqui podeis descargaros ente tutorial en formato WORD: http://www.mediafire.com/?jmznrwmtnwt
Un saludo
Nuestra web oficial:
http://www.nightfoxandco.com/
Siguenos en facebook:
http://www.facebook.com/pages/NightFox-Co/284338634917917
Por favor, no useis los MP para preguntas, usar el FORO:
http://www.nightfoxandco.com/forum/
Asi nos ahorramos de contestar lo mismo 20 veces.
hola
una duda me podría decir alguien de dónde bajar el lib nds parcheado de dave murphy esque no lo encuentro en ningún lado
hola muchas gracias tengo
hola muchas gracias tengo muchas ganas de programar un juego para mi ds porfavor si me pudieras enseñar estaria muy agradecido
mi email es: nico-c-gp2 [at] hotmail [dot] com
gracias por la info