Hola.
Primero decir que me encuentro un poco atascado por problemas de codigo y falta de recursos con estas librerias.
Ayudas que necesitaria:
*Si alguien sabria con las librerias OpenGC o GCC hacer un random que devuelva valores entre dos rangos determinados. (en las OpenGC esta la lib. Random.h pero no llego a entender su funcionamiento)
*Algun funcion como "delay" que permita detener un proceso durante determinado espacio de tiempo. Aunque sea mediante algun lib. de time etc...
A ver para mota..voy a intentar explicar los medios que puede usar.
Principalmente los programadores mas avanzados suelen hacer uso de Codewarriors de Metrowerks el cual es un software de uso oficial y sus plugins no se pueden usar sin la licencia de Nintendo por lo cual igualmente tendrias que usar las librerias gratuitas.
Luego tambien puedes optar por una de las mejores opciones y mas completas, esta es el proyecto DevkitPro alojado en sourceforge
http://sourceforge.net/project/showfiles.php?group_id=114505
donde te tienes que bajar el archivo "devkitPro Updater 1.2.1" y al ejecutar este podras elegir que programas descargarte e incluso si quieres que se autoinstalen.
En si Devkitpro no tiene gui por lo cual en el paquete viene incluido un buen editor hexadecimal del estilo de bloc de notas.
La siguiente opcion es mas facil y comprensible ademas de igual de potente dado que esta basada en la misma arquitectura de la serie devkit pero mas especializada para GC y homebrew y sin tanto lio de diferentes programas y carpetas, es para lo que es, nuestro cubito
.
Me refiero a la ultima opcion (bueno tambien puedes hacer uso de linux pero creo que para la mayoria esa opcion sobra) que es la de bajarse estos tres archivos:
DevkitCube r-1: (es la ultima version salida de este compilador)
http://www.dextrose.com/files/gc/compiler/devkitcube-r1.zip
Librerias OpenGC: (no es la ultima version pero hay pocas diferencias y es la mas fiable ademas de ser la unica que incluye el mini.programa bin2dol que se necesita para compilar y convertir a *.dol)
http://www.dextrose.com/files/gc/source/libogc-2003-06-22.zip
Dolwin 0.10: (emulador que viene de perlas para probar los *.dol)
http://dolwin.emulation64.com/downloads/Dolwin010.rar
Y para cualquier caso recomiendo descargar un muy buen ejemplo en el cual basarse: El pong de DesktopMan:
http://www.dextrose.com/files/gc/source/gc/pong.zip
-----------------------------------------------------------------------
Como configurar y usar la opcion de Devkitcube con el codigo del juego de ejemplo Pong:
1-Extraer el contenido de devkitcube, libogc-2003-06-22, pong a la carpeta c:\gc\ (sin variar nombre [a menos que no sean igual que estos tres] ni si quiera quitar esa fecha porque sino vais a tener que modificar el make.bat)
2-Ve a la carpeta c:\gc\pong\ y edita de la siguiente manera el archivo pong.c que es el codigo fuente del pong:
Estos ya existen...
#define COLOR_WHITE 0xFF80FF80
#define COLOR_BLUE 0x1DFF1D6B
#define COLOR_RED 0x4C554CFF
pues añade este tambien..
#define COLOR_BLACK 0x10801080
Cambia las librerias por estas que son las que vas a usar. (OpenGC)
#include "..\libogc-2003-06-22\lib\types.h"
#include "..\libogc-2003-06-22\lib\video.h"
#include "..\libogc-2003-06-22\lib\memory.h"
#include "..\libogc-2003-06-22\lib\pad.h"
(Linea79) Cambia...vidInit (VID_MODE_640_480_PAL_60_YUV_16)...por esta...VIDEO_Init (VIDEO_640X480_PAL60_YUV16);
(Linea 80) Cambia...vidSetFrameBuffer((u32)fb)...por esta...VIDEO_SetFrameBuffer (VIDEO_FRAMEBUFFER_BOTH,(u32)fb);
(Linea 98) Cambia...vidWaitRetrace()...por esta...VIDEO_WaitVSync();
Ahora solo falta compilar el pong con nuestras librerias y cambios en la configuracion de modo de video para adecuar el juego a estas.
Para ello crearemos el archivo MAKE.BAT
@ECHO OFF
SET DEVKITCUBE=c:\gc\devkitcube
SET PATH=%DEVKITCUBE%\bin;%PATH%
SET PROGNAME=pong <--NOMBRE DEL DOL QUE SE CREARA AL COMPILAR
powerpc-eabi-elf-gcc -o %PROGNAME%.elf -Wl,-Ttext,0x80003100 -o %PROGNAME%.elf ../libogc-2003-06-22/crt0.s main.c ../libogc-2003-06-22/lib/pad.c ../libogc-2003-06-22/lib/video.c ../libogc-2003-06-22/lib/render.c ../libogc-2003-06-22/lib/audio.c ../libogc-2003-06-22/lib/color.c ../libogc-2003-06-22/lib/debug.c ../libogc-2003-06-22/lib/dvd.c ../libogc-2003-06-22/lib/interrupt.c ../libogc-2003-06-22/lib/random.c ../libogc-2003-06-22/lib/memcard.c
if ERRORLEVEL==1 goto error
powerpc-eabi-elf-objcopy -O binary %PROGNAME%.elf %PROGNAME%.bin
if ERRORLEVEL==1 goto error
"..\libogc-2003-06-22\bin2dol.exe" %PROGNAME%.bin %PROGNAME%.dol
if ERRORLEVEL==1 goto error
goto end
:error
echo [FATAL ERROR]
:end
Ahora yo recomiendo hacer uso del simbolo de sistema o ventana de msdos (aunq en realidad no sea msdos
por si alguien me salta
) y asi podras ver los errores cuando compiles dado qeu si para compilar pulsas con el raton sobre make.bat tras compilar o dar error no se detiene y se cierra y no puedes ver los mensajes de error etc.
Creo que con esto tienes todo lo necesario y mas para programar para GC, espero que la peña se anime y que ademas asi podamos ayudarnos. Yo si preguntais dudas de como poder hacer tal cosa os ayudare encantado.
Pd: Me quedao consolao