Bennu (fork de Fénix) para Wii

[ACTUALIZADO 31/05/09]
Saluda un lector que se ha empapado muchas veces de información de este foro y nunca ha colaborado en nada :)
Vengo para anunciar que he desarrollado (preparado más bien) Bennu para la Wii.
Para los que no sepan qué es Bennu, es un fork de Fénix. Para los que no sepan lo que es Fénix (xD) es un lenguaje de desarrollo de videojuegos basado en DIV. Etc... En Google tenéis más información :) Sólo comentar que, en otras consolas (como GP32 y GP2X), Fénix ha aportado muchas joyas, que podrían ser ejecutadas en Bennu con muy pocos cambios.
Esta versión tiene algunos bugs, que se irán solucionando en siguientes versiones.
Para el que no sepa qué significa esto, lo abreviaré: programación de videojuegos en Wii fácil y al alcance de todos :)

Descargas:
Bennu para Wii: http://www.bennugd.org/descargas/bennu-wii.zip
Varios juegos de ejemplo: http://www.bennugd.org/descargas/juegos-bennuwii.zip
Video en youtube de PiX Bros: http://www.youtube.com/watch?v=2pceCnJNK0Q

Más información:
http://www.bennugd.org

Pd: Esto es gracias a mucha gente, para empezar, de aquí, a Nuvalo e Isobel :)
Por fin algo con lo que trastear que no sea C.

Gracias por el curro.
GENIAL aporte, con esto pueden caer ports a mansalva y desde luego va a facilitar mucho la vida a quien quiera hacer algo para wii pero sin marearse demasiado.
[beer]
Muchas gracias.
Genial, creo que ya as saldado de sobras tus cuentas con este foro XD
Se agradece el aporte

Si alguien se curra un tuto para usarlo y pone algun juego (si es legal) lo pruebo
Otia un clon del snow brothers que bueno!!

Salu2 ;)
Bueno, no es lo que se dice un tuto (de hecho se podría decir que no es más que el readme de panreyes en castellano XD) pero he visto conveniente dejarlo caer en el hilo para "dar pistas" de cómo sacarle partido a esta estupenda herramienta.

Copia estas dos carpetas en tu tarjeta SD. Si én algún momento has usado agún programa para hombrew channel ya sabrás qué hacer.

Coloca tu juego en "bennu/juego", renombra el archivo con el código principal a "juego.prg", y eso es todo... Bueno, casi:

Prepara tus juegos para las siguientes "normas":
- Debes usar gráficos de 8bit (de memento, espera ser resuelto)
- No puedes usar set_mode (Por defecto funcionará a 640x480x8bits)
- No puedes usar load_fpg o load_fnt. Sólo funciona correctamene usando PNGs. Un truco: no puedes cargar fpg, pero puedes crearlos en memoria. Echa un vistazo al código fuente de PiX Frogger (incluído en bennu/pixfrogger)
- Es conveniente lanzar alguna música desde el comienzo. Eso te ayudará a saber si el juego se ha colgado o no.
- Keyboard mappings:
Wiimote.A = KEY_ENTER
Wiimote.B = KEY_SPACE
Wiimote.Up = KEY_LEFT
Wiimote.Down = KEY_RIGHT
Wiimote.Left = KEY_DOWN
Wiimote.Right = KEY_UP
Wiimote.Home = KEY_ESC
Wiimote.1 = KEY_LEFTCTRL
Wiimote.2 = KEY_LEFTALT
---------------------------------------

Tenéis algunos ejemplos aquí:
-juego (nofpg): un juego simple que no carga gráficos, todo se limita a rutinas gráficas.
-pixfrogger: con algunos bugs gráficos (pendiente de la nueva versión con transparencia para 8 bit)
-cp (carretera peligrosa): un mini juego estilo frogger

Los bugs serán solucionados, seguid atentos.


Perdón por la cutretraducción.
PiratePila está baneado por "crearse clones para trollear"
Muy interesante, habrá que probarlo.
Chapó, que 3 mensajes mas bien llevados.
Aclaro una cosa,la carpeta llamada apps/bennuwii debe llamarse apps/kobodl para que todo funcione.

Un saludo.
Esperaré a que sea totalmente funcional, y portaré el Ghostpix :)
Por cierto, a los interesados y que aún no hayan hecho nada con fénix les recomiendo que se instalen el Fenix Pack (Win only :S). Por supuesto que dado el caso de que os interese bajéis también todos los ejemplos y los manuales. De hecho yo ya estoy trasteando y he mandado a tomar por saco mi libro de "Programación avanzada en DIV" que todo sea dicho no era precisamente la panacea.

Instalador del devkit
Documentación
Ejemplos básicos
Ejemplos intermedios
Ejemplos avanzados
Ejemplos de DLLs

He visto algunas cosas que me han dejado traspuesto de lo simple que son (ej: el scroll). Este bennu pinta ser de lo más interesante de aquí a un tiempo :)

Tened presente que los ports consitirían luego en modificar someramente el código.
Holas,
Tuve un error cuando publiqué la anterior versión :\
Ya está arreglado, en el mismo enlace.

También he publicado un par de juegos de ejemplo más :)
http://bennugd.org/descargas/juegos-bennuwii.zip
Wenas!

Ni con la anterior version ni con esta logro arrancar el pix bross.
He usado tanto windows como linux para copiar los ficheros a la sd y nada.
¿alguna idea de que puedo estar haciendo mal?

Gracias de antemano.

Un saludo.

panreyes escribió:Holas,
Tuve un error cuando publiqué la anterior versión :\
Ya está arreglado, en el mismo enlace.

También he publicado un par de juegos de ejemplo más :)
http://bennugd.org/descargas/juegos-bennuwii.zip
¿Qué error concreto te aparece en pantalla? :?
Te he adjuntado una captura con el error que me aparece siempre.

He probado ya tambien con ese pack nuevo de juegos que has subido.

Gracias de antemano.Un saludo.

Adjuntos

Según leo ahí no te está cogiendo la tarjeta SD... :?
¿No estarás utilizándolo con un pendrive, no? xD
No,no, es una SD.
Además el resto de aplicaciones homebrew que tengo metidas en ella me van perfectamente,por lo que no creo que sea fallo de la SD, no se.

Un saludo.
Puede que falle justamente con esta aplicación, no sería raro.
¿Es una SDHC? ¿Está formateada como fat?
También puedes probar a ver si te funciona el kobodl original (sin mis hackeos raros)
http://downloads.sourceforge.net/gc-lin ... ite.tar.gz
Me he descargado lo del ultimo enlace que has puesto y me aparece exactamente el mismo error. [decaio]

La SD es de 1gb,no se que puede esar fallando, pero gracias de todas formas.

Un saludo.
Faltaría que probases a formatearla, a ver si ayuda :\
Te he adjuntado una captura con el error que me aparece siempre.

He probado ya tambien con ese pack nuevo de juegos que has subido.

Gracias de antemano.Un saludo


Ese error es un problema con el sistema de ficheros comprimido, no está encontrando el archivo kobodl.img.gz. Para ser exactos, no te está montando bien la tarjeta sd. ¿La tienes particionada o formateada en fat16/32? Lo más probable es que sea eso, que esté mal formateada o corrupta. Libogc usa libfat, y no es especialmente quisquilloso ante errores de datos corruptos, pero a linux sí que le importan ese tipo de errores, y ante esos problemas solo queda pasarle el scandisk o reformatear fat16/32.
Por cierto núvalo: ya le metí un menú xD
Pero no el tuyo (no me recogía el teclado :?), sino uno mío creado con Bennu. Se puede mejorar, pero ya es funcional :)

Y también quería pedirte: ¿Podrías compilarme el kernel actualizado de manera que monte la img descomprimida? Quiero decir, sin volcarla a ram tal como se hace ahora :) (¿O es como pedirte un riñón? xD
¿Podrías compilarme el kernel actualizado de manera que monte la img descomprimida? Quiero decir, sin volcarla a ram tal como se hace ahora :) (¿O es como pedirte un riñón? xD)

Oks, pero a qué te refieres: ¿Seguir teniendo el ramdisk en memoria (tipo stellawii), o tener el sistema de ficheros descomprimido aparte (tipo bliight,xwhiiite, etc..)? Lo bueno de lo primero es que es mucho más fácil de usar para los usuarios (solo necesitan el archivo .dol), pero consumirá más ram, mientras que de la otra manera te ahorras ram pero tienes el sistema de ficheros en un archivo aparte.
Aparte, para conseguir el máximo de memoria posible :)
No sé si consume sobre 10mb de ram el método actual :\
---
PD: Y si es posible que sea un kernel "quiet" (pasarle el parámetro quiet para que no diga nada) mejor :)
Lo más parecido a un tutorial que hay ahora mismo es hecharle un ojo al código de los juegos posteados en el primer hilo, el de carretera peligrosa te da una idea general de como funciona (o al menos es el más sencillo para mi gusto).
Un saludo
Siendo sincero: ese código fuente lo hizo una persona que no había tocado programación en su vida tras una sesión de 5 horas.
Acabo de formatear en fat32, he vuelto a introducir los archivos y sigue igual.
Tambien le he hexo un scandisk y nada.
La verdad no se ya que puede ser.
Gracias por contestar.Saludos.

nuvalo escribió:
Te he adjuntado una captura con el error que me aparece siempre.

He probado ya tambien con ese pack nuevo de juegos que has subido.

Gracias de antemano.Un saludo


Ese error es un problema con el sistema de ficheros comprimido, no está encontrando el archivo kobodl.img.gz. Para ser exactos, no te está montando bien la tarjeta sd. ¿La tienes particionada o formateada en fat16/32? Lo más probable es que sea eso, que esté mal formateada o corrupta. Libogc usa libfat, y no es especialmente quisquilloso ante errores de datos corruptos, pero a linux sí que le importan ese tipo de errores, y ante esos problemas solo queda pasarle el scandisk o reformatear fat16/32.
No te rindas tan rápido, hombre :)
Si te es posible, prueba con otra tarjeta. Y entonces ya te dejo que te rindas xD
panreyes escribió:Siendo sincero: ese código fuente lo hizo una persona que no había tocado programación en su vida tras una sesión de 5 horas.


¿donde hay que firmar para empezar a programar en cinco horas? :D
Aparte, para conseguir el máximo de memoria posible :)
No sé si consume sobre 10mb de ram el método actual :\
---
PD: Y si es posible que sea un kernel "quiet" (pasarle el parámetro quiet para que no diga nada) mejor :)


En ese caso puedes usar bootit, si quieres hacer pruebas. Mi intención era añadirle ese selector de ficheros que te pasé, para poder cargar un kernel, un sistema de ficheros o una aplicación de libogc que nos diera la gana (esto ya con kexec, pero los .dol dan problemas). El caso es que lo tengo parado, cuando tenga un rato lo actualizo con esto, y de paso le pondré alguna funcionalidad extra para autoarrancar una aplicación en concreto. Lo digo porque así se libera a la gente de compilarse un nuevo kernel, y solo se tienen los sistemas de ficheros necesarios.

Por cierto, si quieres modificar los parámetros por tu cuenta sin encesidad de recompilar el kernel, puedes editar el kernel con un editor exadecimal (yo uso el ghex2), y cambiar los parámetros por tu cuenta. Solo busca el string "root=" y ya encontrarás un mensaje de isobel que podrás sobreescribir con los parámetros que quieras.
Por cierto, ¿hay alguna guía por ahí de cómo podría compilar yo mismo el kernel? Si ves que requiere saber algo de algo, casi mejor te lo dejo a ti xD

Ya he solucionado uno de los dos bugs gordos de Bennu en Wii :)
Para empezar: la moraleja es que sólo se debe setear el modo de vídeo de SDL una sóla vez, sinó se cuelga.
Y me falta averiguar por qué no me deja cargar fpgs... cuando lo hacía sobre Xorg sí que podía (aunque con unas limitaciones de memoria terribles :S)
Por cierto, ¿hay alguna guía por ahí de cómo podría compilar yo mismo el kernel? Si ves que requiere saber algo de algo, casi mejor te lo dejo a ti xD


Aquí tienes un tutorial de como compilarlo:
http://www.gc-linux.org/wiki/Building_a ... ARCH%3Dppc)

Si coges las fuentes del kobodl podrás editarlo a tu gusto, venía con makefiles y todo.
Lo he estado probando durante un buen rato, y no avanzo xD

¿Te has fijado que ese tutorial está hecho en el 2004? xD
Lo he intentado con el parche y kernel actual, y no lo he conseguido. -_-

Me quedo con esto:
arch/powerpc/kernel/asm-offsets.c: In function `main':
arch/powerpc/kernel/asm-offsets.c:357: warning: asm operand 0 probably doesn't match constraints
arch/powerpc/kernel/asm-offsets.c:357: error: impossible constraint in `asm'
make[1]: *** [arch/powerpc/kernel/asm-offsets.s] Error 1
Wenas!!
Yo me quedo con esto a la hora de hacer el make

$make  ARCH=powerpc CROSS_COMPILE=powerpc-linux-
powerpc-linux-gcc: installation problem, cannot exec `cc1': No such file or directory
powerpc-linux-gcc: installation problem, cannot exec `cc1': No such file or directory
powerpc-linux-gcc: installation problem, cannot exec `cc1': No such file or directory
powerpc-linux-gcc: installation problem, cannot exec `cc1': No such file or directory
powerpc-linux-gcc: installation problem, cannot exec `cc1': No such file or directory
  CHK     include/linux/version.h
  CHK     include/linux/utsrelease.h
  SYMLINK include/asm -> include/asm-powerpc
  CC      kernel/bounds.s
powerpc-linux-gcc: installation problem, cannot exec `cc1': No such file or directory
make[1]: *** [kernel/bounds.s] Error 1
make: *** [prepare0] Error 2


no se si es tema de librerias del gcc (tiene pinta) o que!! :S :S
¿Te has fijado que ese tutorial está hecho en el 2004? xD
Lo he intentado con el parche y kernel actual, y no lo he conseguido. -_-


Sí, pero es que no ha variado mucho desde entonces. Una vez te bajas el toolchain (el último, del 2009), te bajas los parches, copias el .config de arch/powerpc/configs/wii_defconfig ya puedes hacer un "make ARCH=powerpc CROSS_COMPILER=powerpc-linux-". Si lo intentas con el kernel actual (2.6.30), primero te tienes que bajar el 2.6.29, luego el parche para 2.6.30-rc8 y luego el parche de gc-linux, y pasarlos en ese orden.

no se si es tema de librerias del gcc (tiene pinta) o que!! :S :S

¿Tienes instalado el gcc?
38 respuestas