Hola...
Por colaborar un poco, y sobre todo por ver si otros programadores se animan a desarrollar para X-Box, voy a dar breves notas sobre desarrollo para Xbox.
Requisitos:
- En la consola, vale prácticamente cualquier BIOS moderna (obviamente no la oficial :-)). *IDEALMENTE* para desarrollo habría que utilizar la que viene aquí:
COMPLEX.Bios.Debug.4627.And.Microsoft.Debug.Dashboard.XBOX-COMPLEX
La principal diferencia con otras BIOS (por ejemplo las últimas Evo-X) es que las de debug permiten ejecutar código línea a línea. Os seguro que depurar una aplicación X-Box con mensajitos tipo "voy por aquí" en la TV no es plato de buen gusto :-)
Dentro de ese mismo .rar viene un Dashboard de debug, también muy conveniente.
En cualquier caso que quede claro que es posible usar una X-Box modificada con BIOS normal y Evo-X u otro dashboard "genérico" para ejecutar código compilado por nosotros, eso sí, otra cosa es depurarlo con comodidad.
- En el PC:
(instalar en este orden).
Visual C++ 6.0. En caso de haber instalado un .NET, se puede instalar el VC 6.0 después del .NET y no se carga nada. Eso sí, no es posible (que yo sepa) utilizar directamente el .NET con el XDK que está disponible.
Service Pack 5 para VC 6.0: Se puede bajar del web de Microsoft, así que no hay problema.
Processor Pack: Lo mismo que el SP5.
XDK: Tiene librerías, documentación, etc, para desarrollo de XBox. El último que es fácil de conseguir es el de Junio, con este nombre: "Xbox_SDK_June_4627-WAM". Hay gente que tiene el de noviembre y el de diciembre pero olvidaros de conseguirlos fácilmente. Por otro lado, el de Junio funciona perfectamente.
Un ejemplo de compilación de un programa X-Box: XBMP (X-Box media player): La compilación de un programa X-Box es idéntica a la de cualquier otro programa en VC (sobre todo si sólo estamos compilando un programa ya hecho, hacer uno nuevo desde cero lo dejo para otro día :-)).
Como ejemplo práctico útil vamos a usar el XBMP, así de paso no tendreis que ir mendigando por IRC por la última versión :-) Cuando os apetezca actualizar simplemente os cogeis los fuentes y los compilais vosotros mismos.
Es necesario tener el cliente de cvs (cvs.exe) instalado. Lo podeis bajar de
http://www.wincvs.org por ejemplo.
Desde el directorio donde vayamos a bajar los fuentes, hacemos lo siguiente:
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/xbplayer co XBMP
(no sé como saldrá el texto al mostrar el mensaje - entre el - y la d de d:pserver... no hay ningún espacio).
Esto nos baja el árbol actual completo.
Una vez con los fuentes descargados, vamos a VisualC++, le damos a File -> Open y elegimos ficheros de tipo "Workspaces". Nos vamos al directorio donde estén los fuentes y abrimos el único .dsw que hay y que se llama "XBMediaPlayer.dsw".
Antes de compilar, y una única vez, es conveniente decirle al VC la IP de la xbox. No es imprescindible, pero si lo hacemos el propio entorno subirá el ejecutable a la consola, lo que resulta cómodo, sobre todo si estamos programando y no simplemente compilando algo ya hecho. En Build -> Debugger Remote Connection le decimos la IP de la xbox. También hay otros sitios donde se lo podemos decir, como en XBExplorer (que permite ver el HD de la consola como un FTP - viene con el XDK).
En Project -> Settings (Alt+F7) hay algunos parámetros que puede ser interesante revisar. Por ejemplo en el apartado de Debug le podemos decir el destino del ejecutable en la consola. Yo lo tengo como "xe:\xbplayer\xbplayer.xbe" pero por supuesto esto es a gusto de cada uno.
En cualquier caso....para compilar el proyecto, simplemente hay que pulsar F7 (o Build -> Build xbplayer.xbe), que se encarga de compilar / hacer el link / subir a la consola. En mi caso por ejemplo las últimas líneas que salen son las siguientes:
IMAGEBLD : warning IM1030: This image may not be accepted for certification
Transferring file to Xbox...xe:\xbplayer\xbplayer.xbe
xbplayer.xbe - 0 error(s), 155 warning(s)
Seguro que os estais diciendo...¡155 warnings y nos viene a contar como se hacen las cosas! Bueno, esos warnings vienen porque estoy compilando la versión de debug y lamentablemente hay un montón de avisos de que falta info de debug en algunas de las librerías
No tiene mucho arreglo pero afortunadamente son son warnings "jodientes". Si compilo la versión "Release" las cosas cambian
En fin, una vez hecho esto, ya tenemos un nuevo XBMP calentito listo para usar. Por si no es obvio: Esto sube el ejecutable nada más ¡Los ficheros auxiliares los teneis que subir a mano! No espereis que el VC os configure el programa y os suba config.xml o que os dibuje la pantalla de inicio que no son así las cosas
Bueno, con esto acabo las notas (no llamaría yo a esto ni tutorial) básicas para empezar a trastear con la Xbox. Cuando se me quite la pereza escribiré algunas partes más, una para hacer un programilla básico (aunque sea un hola mundo), otra de modificación de XBMP, que es el proyecto al que últimamente dedico mi tiempo libre, y otra de depuración en tiempo real. Salvo que venga alguien y se me adelante...