[Xbox] Breves notas sobre programación de XBox

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...
Ya era hora q se tocara la programación en eolandia! [babas] :-p Me parece estupendo y te doy todo mi apoyo moral!!! (y digo moral y no logístico por q estoy dando mis primeros pasitos en programación y no creo q se puedan hacer programas en Pascal para la cajita-x X-D )
Un saludote a todo EOL !!!
[buenazo] [buenazo] [buenazo] [buenazo] [buenazo]

[oki] [oki] [oki] [oki] [oki] [oki] [oki] [oki] [oki] [oki]


Ya era hora ver algo que hiciese referencia a la programacion de las X, a ver si tienes una rato y lo amplias un poquito mas ;).

Saludos.
Me parece genial... Ahora estoy empezando a meterme en el mundillo de la programación... Estoy liado con visual basic 6, y me voy a liar con C++, pensando mas que nada en la XBOX, y iniciativas como esta animan tela..

Una pregunta, al intentar instalar el Xbox SDK en el ordenador, me dice que no tengo instalado Win98... Tengo el XP, significa eso que no puedo con WinXP???? o hay que meter algún parche o configuración??
Yo uso W2K sin problemas, la verdad es que en XP no he probado. A malas, siempre puedes instalar el tinglado con VMware :-)
Una pregunta, al intentar instalar el Xbox SDK en el ordenador, me dice que no tengo instalado Win98... Tengo el XP, significa eso que no puedo con WinXP???? o hay que meter algún parche o configuración??


en windows 98 no vas a poder instalarlo, en el xp deberia irte bien, yo lo he tenido instalao un tiempo y tiraba si problemas.
¿Y esa BIOS Debug funciona con las 1.1?

¿Y como se hace para ir depurando linea a linea?
Adso, no sé si la BIOS va en 1.1 (pero lo dudo mucho). Yo esta mañana he ido a comprar una segunda consola, para usarla específicamente para desarrollar, y he mirado la fecha de fabricación de las casi 50 consolas que tenían en el corte inglés hasta encontrar una 1.0. Ya iban a llamar a seguridad :-)

De todas formas la gente de Complex anda en EFnet, es cuestión de preguntarles...

La depuración paso a paso es bastante sencilla, se hace desde el Visual C++ y es igual que depurar un programa que corre en el mismo PC que el VC.
Pues espero que saquen algo para 1.1, por que dentro de poco me compraré una, y prefiero encontrar una con lector Samsung (o sea, que será 1.1).

Y si no lo sacan, pues... ¡¡ a tirar de log !! XD que no sería la primera vez ;)
10 respuestas