Wii...

Started by SplinterGU, December 20, 2008, 11:58:07 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

DCelso

Pixel, ¿con esos sencillos pasos compila bennu en el linux de la wii?

Por otro lado, dolphin-emu soporta ya SDs emuladas, wiimote emulado y carga aplicaciones homebrew. Justo todo lo necesario para tener un testbed en el que probar bennuswiis :D.
Sería un pelotazo que funcionara wiilinux en dolphin :).

Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

josebita

Un par de vídeos muy borrosos de código muy simple funcionando en la Wii, por si a alguien le interesa:
http://bennugd-wii.blogspot.com/2010/03/few-videos-of-bennugd-wii-in-action.html

Drumpi

¿Es cierto lo que he leido? ¿corrigiendo el problema de los colores y haciendo funcionar un módulo más ya tenemos port de Wii?
WIIIIIIIIII!!!!
Juer, veré a Echo en pantalla grande, con pixelacos del tamaño de pedrolitos ;D
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

josebita

No, no tenemos port completo aún, pero tenemos un montón de cosas; tantas que los juegos más simples pueden empezar a funcionar.
En particular, si el juego no usa scrolls (para tenerlos aún tengo que incluir algunos módulos más, así que de momento no hay Echo) y adaptando los controles -supongo que usaré la jkeys.lib- ya funcionarán muchos juegos 2D.

Y por supuesto, aparecerán muchos bugs que tendré que resolver :)

Pero vamos, que todavía queda mucho trabajo para tener el port completo.

SplinterGU

cambio mucho el codigo?
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

josebita

No demasiado. El problema es que al principio no tenía demasiada idea de cómo ir haciendo las cosas y el código está demasiado sucio ahora mismo. En cuanto integre un par de cosas más, me voy a poner a limpiar el código.

SplinterGU

si no son muchos cambios quizas te conviene hacerlos sobre una version limpia...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

josebita

No, los cambios son más bien de definición de cosas: constantes, funciones... que cambia el prototipo o el nombre. Pero para algunas cosas he creado cabeceras nuevas, para otro he usado "#ifdef"s....
El sysprocs.c lo he llenado de definiciones de funciones, cuando podrían ir perfectamente en las cabeceras de los módulos...
Debo homogeneizar todo, pero son cosas así. No hay grandes cambios sobre el código Bennu más allá de definir cosas aquí y allá.

Drumpi

Ah, por el Echo no te preocupes, no usa el scroll Bennu, sino otro que yo me sé ;D

Pues nada, mucha suerte, te apoyamos desde la distancia. El día que salga, estaré una semana dándote un karma diario. Y como funcione el wiimote+nunchuck serán dos :D
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

entonces yo diria que con la experiencia adquirida, hagas todo limpio desde una version nueva...

y usando headers y cosas que sean facil cambiar a futuro.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

josebas, está un poco warrindongo el código, me lo he bajado con subversion y, no se, a ver veo miles de archivos que creo que son innecesarios para la compilación en wii, veo también que los ejemplos no tienen estructura de directorios, veo también que no se hace referencia a libcrypto, supongo que no has sincronizado con los últimos fuente de bennu, que da igual se puede hacer luego una vez se tenga dominado el tema de la complilación.

Yo, creo que sería mejor eliminar todos los archivos innecesarios en wii, y también eliminar todos los módulos no portados aún para tener una versión limpia que compilar en wii y empezar la casa por los cimientos,no por el tejado :D. Ya luego se iría ajustando para ir insertando los modulos poco a poco y una vez portado ver cambios necesarios y hacer una línea paralela de makefiles para compilación en wii.

A mi parecer, con tus conocimientos adquiridos, pienso igual que Splinter.

Quizás sería mejor que empezases de cero creando una línea nueva en la que llevar sólo la parte del código fuente que llevas exportada, y solamente *.c, y *.h.

Luego crearas una jerarquía de makefiles basada en la de los ejemplos de wii que vienen en devkitpro, esa que tiene unos includes a "$(DEVKITPPC)/wii_rules" y todo usado con variables.Como ejemplo la de "D:\devkitPro\examples\wii\audio\oggplayer"
* Makefiles de compilación de librerías estáticas ".a" para libs y mods.
* Makefile de compilación de binarios ".dol" para bgdi y bgdc usando los ".a" creados anteriormente.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

DCelso

Nada, no mentero, está megacaótico :D, ¿desde el directorio core/bgdrtm compilas todo?
Creo que te sería más facil si hiceras la compilación más modularizada (tal y como comenté arriba).
En fin, mientras te enteres tu y nos deleites con una versión biinnu hazlo como quieras, creas conveniente o sepas. :D.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

josebita

Bueno, desde luego mi código no está ni roto ni tan sucio como para que compense volver a empezar, en absoluto.
Además, los únicos ficheros que quedan aparte del código Bennu y los ejemplos son los ficheros Makefile.am, uno por módulo, y que uso como referencia de qué ficheros van en qué modulos y cómo compilarlos. En ningún momento considero que el código esté sucio por tenerlos ahí.
En cuanto a los ejemplos... no uso ninguna estructura de directorios en particular porque no hace falta. Los ejemplos son básicamente uno por módulo y algunos usan recursos comunes (tengo un par de pngs y algún fichero de música) así que tampoco veo en qué forma mejoraría tener una estructura de directorios.
La libcrypto no está referenciada porque creo que no existe en la Wii, pero el código de la código de la mod_crypt es el último disponible, así como el de la gran mayor parte del código que hay. Las librerías y módulos que aún no he integrado son los que tienen código viejo, pero antes de integrarlo lo actualizo a la última versión del SVN.
Y en cuanto a la forma de compilar:
Para el compilador, compilo todo desde core/bgdc.
Para el runtime, compilo el propio runtime más los módulos desde la carpeta core/bgdrtm y compilo todo dentro de uno libbgdrtm.a.
Para el intérprete, compilo el main.c contra la libbgdrtm.a compilada antes.
No sé si realmente serviría de mucho compilar cada módulo o librería a un .a dado que un .a no se diferencia de muchos .o "pegados" juntos. Lo único que haría sería hacer la compilación más lenta y pesada (para mí).

En cuanto a sólo dejar el código que ya esté implementado dentro del árbol SVN, pues la verdad es que no lo había pensado, pero sí que puede aportar algo de claridad.

Pero vamos, que ya repito que no hay cambios substanciales respecto del Bennu que hay en el SVN oficial y desde luego bajo ningún concepto me interesa ni compensa empezar otra vez de cero, entre otras cosas porque al mantener una rama separada, en cuanto Splinter haga cambios al SVN me vería obligado a implementarlos y estaría un poco en las mismas.

FreeYourMind

Pero donde esta el enlace de descarga del código ?

panreyes