sábado, 20 de septiembre de 2008

Tutorial: Codeblocks + DevKitPro

El desarrollo de aplicaciones se ha vuelto cada vez una tarea más y más compleja, y los videojuegos no son la excepción. Con el tiempo, los programas de videojuegos contienen una cantidad extraordinaria de lineas de códigos, siempre hace falta un buen programa que ayude en la tarea de entendimiento y desarrollo de este código. Ahí es donde entran los IDE, como su nombre lo indica, estos Entornos de Desarrollo Integrado han ayudado bastante en lo que se refiere a programación en general.

Pues bien, en el ámbito del homebrew también se puede utilizar un poco estas IDE, y en esta oportunidad quiero enseñar a configurar el IDE Codeblocks para poder compilar aplicaciones creadas con DevKitPro, el compilador para Nintendo DS. Voy a empezar suponiendo que tienen instalado DevKitPro de manera correcta y que han logrado compilar los programas usando la linea de comando. Para las imágenes, pueden hacer clic en ellas para verlas más grandes.
En primer lugar, tenemos que agregar un compilador nuevo, que utiliza el Minimal System para trabajar, para ello nos dirigimos a Settings -> Compiler and Debugger...
En el menú tenemos que seleccionar un compilador de la lista (Cualquiera puede ser, yo escogí GNU ARM GCC Compiler porque es el que más se parece al de ARM de DevKitPro).
Seleccionado el compilador, hacemos clic en Copy, esto duplicará el compilador pero con otro nombre.
Escribimos el nombre del nuevo compilador, yo le puse DevKitPro ARM Compiler, aunque da lo mismo).
Al hacer clic en OK nos aparecerá la siguiente ventana, la que nos recuerda que asignemos la ubicación de los programas de compilación, simplemente hacemos clic en Aceptar.
Nos vamos a la pestaña Toolchain Executables y completamos los valores con los programas del DevKitPro, pueden ser los mismos que se muestran en la imágen. Aquí en realidad el único que importa es la ubicación del msys y el último (el comando make, que es el que se ejecuta al momento de compilar, ya que usaremos el Makefile que siempre usamos. Los otros se pueden completar pero no son necesarios).
En caso de querer asignar los otros comandos, tenemos que ir a la subpestaña Additional Paths y colocar la ubicación de los programas del DevKitARM como muestra la imágen. Al terminar, hacemos clic en OK.

Con esto el compilador ya esta instalado, ahora sólo tenemos que probarlo.
Nos dirigimos a File -> New -> Project... para crear un nuevo proyecto.
Seleccionamos Empty Project y luego clic en Go
Dependiendo como tengas configurado el Codeblocks, puede que aparezca un asistente de creación de proyecto, simplemente colocamos el nombre del proyecto (quiero empezar con el Hola Mundo) y la ubicación donde se guardará.
En la siguiente opcion, podemos desenmarcar Create "Debug" configuration: y colocar en Create "Release" configuration: las opciones de la imágen. Finalmente clic en Finish.

Estas dos ventanas puede que aparezcan por primera vez, como no hemos configurado el compilador de forma completa, la ignoramos simplemente.
Para evitar perder tiempo creando un código completo, simplemente podemos probar con uno de los ejemplos que vienen con el DevKitPro. Para ellos nos dirigimos al ejemplo de hello_world que posiblemente se encuentre en C:\devkitpro\examples\nds\Graphics\2D\hello_world. Simplemente copiamos el directorio source y el archivo Makefile. En general se puede utilizar cualquier ejemplo, aunque si usa imágenes y/o sonidos, no olvidar copiar también los otros directorio, como por ejemplo data, o include.
Estos archivos los colocamos en el mismo directorio donde guardamos el proyecto que acabamos de crear.
De vuelta al Codeblocks hacemos clic con el botón derecho en el nombre del proyecto y seleccionamos Add files...
Agregamos el (o los) archivo(s) que copiamos al directorio. En nuestro caso sólo es el main.cpp en el directorio source. El Makefile también pueden incluirlo, así como otros elementos como las imágenes y los sonidos, pero no son necesarios.
Una vez ya agregado el archivo, ya podemos trabajar con el, ya sea modificandolo, o agregando más archivos, de tal forma de formar un proyecto completo. Recordar respetar los directorios que usa DevKitPro.
Nos dirigimos a Project -> Properties... para configurar la forma de compilar.
Marcamos la opción This is a custom Makefile, para indicar que el Codeblocks use el Makefile que copiamos al proyecto.
(Opcional) En la pestaña Build Targets podemos asignar Output filename: al nombre que debería crear el DevKitPro. Recuerden que le coloca el nombre dado por el directorio del proyecto, en este caso .\Hola_Mundo.nds. Al terminar, damos clic a OK.
Ahora vamos a Project -> Build options... para cambiar los parámetros del Makefile.
En la pestaña "Make" commands colocamos las opciones dadas por la imágen. Aqui las que importan son la primera y la tercera, las otras dos no se pueden porque no lo permite el Makefile del DevKitPro. Al terminar clic en OK.
Con eso estamos listos, ahora sólo falta compilar haciendo clic en el botón Build (el que tiene dibujo de engrane azul).
Ahí podemos revisar directamente los mensajes del compilador en la pestaña Build log del cuadro Logs & others.
Si nos dirigimos al directorio donde se encuentra el proyecto, podemos ver que el archivo Hola_Mundo.nds se encuentra ahí.
Con eso estamos listos y luego sólo nos queda probar nuestro programa en un Emulador.

Espero que este tutorial haya sido bien intuitivo y que ayude en la programación de Homebrew para el Nintendo DS. Utilizar un IDE hoy en día es fundamental para el entendimiento de extensas lineas de código. Lógicamente este tutorial estaba aplicado principalmente para DevKitARM, pero puede hacerse fácilmente para otros sistemas como el DevKitPSP o el DevKitPPC. Este es el método más facil para utilizar el DevKitPro con un IDE, ya que el otro método sería configurar los parámetros del compilador manualmente, aunque requiere un poco más de trabajo.

4 comentarios:

  1. gracias, aun no lo leo completo, pero con solo verlo se ve k hiciste un trabajo muy completo, sobretodo por las imagenes..... graciassss!!!!!!

    estaba bucando algo komo esto. ^^

    ResponderEliminar
  2. Gracias! Necesitaba una mano para poder configurarlo =P

    Salvo el "Compiler's Installation Directory", en Linux Ubuntu es exactamente igual =)
    En vez del directorio del "MSYS" puse el "devkitARM" y anda perfecto con las PAlib 090801...

    ResponderEliminar
  3. No me compila... "Invalid Compiler Skipping..."

    ResponderEliminar

Nota: sólo los miembros de este blog pueden publicar comentarios.