PDA

Ver la versión completa : Bennu 1.0.0RC8



Segata Sanshiro
05/09/2009, 18:07
¿Os funciona bien esta última versión en la Wiz? He copiado las carpetas a la SD (bgd-runtime y las de los dos juegos de ejemplo) y no funcionan. No arranca ninguno, se quedan en la pantalla de "Loading...". Me pasa lo mismo con un programa que tenía ya metido y que funcionaba bien antes de actualizar (creo que era la primera versión que salió para Wiz).

Puede que simplemente haya copiado mal las carpetas, pero me extraña, ya he probado copiándolas dos veces.

GameMaster
05/09/2009, 18:15
la ultima es la r101. Si que funciona. tenias el runtime anterior o no ? estas intentando correr un juego que tenias en el anterior con el nuevo runtime ? si es así no funciona, ya que los compilados con la r100 no funcionan en la r101 (en este update, en otros puede que si sean compatibles).

Edito, tienen que estar en la carpeta game.

Segata Sanshiro
05/09/2009, 18:31
la ultima es la r101. Si que funciona. tenias el runtime anterior o no ? estas intentando correr un juego que tenias en el anterior con el nuevo runtime ? si es así no funciona, ya que los compilados con la r100 no funcionan en la r101 (en este update, en otros puede que si sean compatibles).

Edito, tienen que estar en la carpeta game.

Gracias, los he copiado a game pero siguen sin ir bien del todo. Si los ejecuto a través del icono de la SD (el de los accesos directos .ini) funcionan bien, pero cuando quiero salir del juego, se queda la pantalla en negro y no vuelve al menú. Si los ejecuto a través del .gpe directamente (como deberían funcionar sin problemas) se queda en "Loading" para siempre... ¿Alguna idea? Me extraña muchísimo lo de que funcionen desde un menú y no desde otro.

GameMaster
05/09/2009, 18:53
!!! que raro, has mirado las rutas que pone el .ini ? Igual estas poniendo algo fuera del sitio o estas machacando versiones, yo borraria primero la carpeta runtime y los juegos de pruebas, y despues copiaria los nuevos. Si tienes alguno con la version anterior (dcb compilado), pues ponlo en una carpeta distinta incluido el runtime antiguo en esa carpeta y edita el fichero '.gpe' del juego para que utilize esa carpeta y no la de la nueva version.

Drumpi
05/09/2009, 20:06
Tambien podrías editar las lineas de compilación/ejecución para que compile y ejecute sólo el prg/dcb que quieres probar (el script compila todos los prg que hay y ejecuta todos los dcb).

bgdc miprg.prg
bgdi miprg.dcb

Si además escribes:

bgdc miprg.prg >log1.txt 2>err1.txt
bgdi miprg.dcb >log2.txt 2>err2.txt

obtendrás información extra, que dirá por qué no carga.

Segata Sanshiro
05/09/2009, 23:53
Gracias a los dos pero sigo sin obtener resultados :(

EDITO: lo importante está al final del post, donde pone conclusión.

He formateado la tarjeta (se la había "cargado" la Wiz) y he rehecho las carpetas y los scripts desde cero. Solo tengo dos carpetas: /bgd-runtime con los archivos de Bennu y /test con el juego. No he creado ningún archivo .ini, ejecuto directamente el script.

Se me queda la pantalla en "Loading...". Por lo que parece, se ejecutan tanto bgdc como bgdi. Lo digo porque efectivamente se genera el .dcb, y también se generan las salidas de texto, incluyendo log2.txt. Ésta log2 es la única que no está vacía pero no contiene texto legible sino una ristra de bytes aleatorios.

Para colmo, no puedo leer el dcb generado ya que por alguna razón no puedo acceder a él ni borrarlo desde el PC. Voy a probar formateando la tarjeta (de nuevo) y con una versión anterior de Bennu.

< - >
Bueno, casi confirmado, algo hace que no pueda ejecutar los juegos desde el script, y tengo que realizar un .ini obligatoriamente. Así es como he conseguido ejecutar mi prueba, pero ni siquiera he podido salir luego otra vez al menú. El código para cerrar el juego es tan simple como éste:

process control_juego();
begin
repeat;
write_int(0,10,10,0,&fps);
write_int(0,10,20,0,&cam_yv);
frame;
until(joy_getbutton(0,WIZ_MENU));
let_me_alone();
end

En PC funciona, pero en la Wiz, al salir, simplemente se queda la pantalla en negro. Y de nuevo, no puedo borrar desde el PC el dcb generado a no ser que borre la tarjeta. Voy a intentar compilar los dcb en el PC y así luego en la consola solo tengo que ejecutar el intérprete. A ver si así me ahorro los problemas.

Conclusión: después de varias pruebas creo que definitivamente debe haber algún problema en la parte de compilar en la consola. Ya sea culpa de bgdc, del linux de la consola o de los scripts usados, debe hay algo que causa todos los errores que he comentado antes. Lo más grave es que los dcb que se crean en la consola se deben escribir mal en la tarjeta y luego no los puedo borrar. Todo se soluciona compilando en PC y guardando en la tarjeta el dcb ya preparado.

GameMaster
06/09/2009, 00:27
Eso me suena a un problema que tuve. Por lo que veo en tu caso sólo te peta tu programa al salir cierto ? Los 2 juegos de ejemplo te funcionan ?

Si es afirmativo, entonces puede que sea un problema al descargar archivos de memoria cuando sales de una pantalla a otra, si lo haces con un break por medio puede que pete, esto me ocurria.

Pero mirando tu ejemplo, y tienes que ser mas especifico, si utilizas sólo esa funcion en el juego, es lógico que no salgas del juego, solo estas haciendo que se se enseñe el fps en pantalla hasta que le des al botón, al darle pues vas a dejar el proceso solito sin enseñar nada en pantalla, o sea, vas a tener una pantalla negra.
Si quieres salir del juego con ese botón tendria que ser de este estilo:

process control_juego();
begin

write_int(0,10,10,0,&fps);
write_int(0,10,20,0,&cam_yv);
loop
IF (joy_getbutton(0,WIZ_MENU));) exit("Bye Bye",0); End
Frame;End
end

Drumpi
06/09/2009, 00:48
Dos cosas:
El código de Segata está bien: el let_me_alone() mata a todos los procesos excepto al que llama a esta función (control_juego() en este caso), y luego se termina, por lo que si, debería salir.
Pero está mal, no se cómo no te ha petado teniendo en cuenta que sólo se pueden escribir 255 textos simultáneos en pantalla. Deberías sacar los write_int del bucle antes de que estalle :D Lo bueno de usar write_int es que los valores se actualizan solos. Si no los quieres sacar del bucle, debes borrarlos después de hacer el frame, bien con la ID del texto que devuelve write_int, o con un delete_text(all_text).

Respecto al problema del hilo, te recomiendo que te hagas con una SD que no te de problemas para realizar las pruebas. Tal como lo estás haciendo es como intentar ganar una carrera con el zapato suelto.
Si no tienes SD, a las malas, tienes la NAND.
Más que nada, porque no creo que sea problema del bgdc, lo digo con conocimiento de causa :D

SplinterGU
06/09/2009, 02:04
yo supongo que nunca estas llamando a esa funcion, o la estas llamando y la estas matando en algun lugar o algo asi, ya que tu programa no deberia funcionar si tenes eso, ya que rapidamente te quedarias sin textos disponibles... he probado tu ejemplo, lamentablemente como no tengo el fuente completo no es la misma prueba... pero dejo aca el codigo de la prueba, quizas sirva para descubrir que esta fallando...



import "mod_text";
import "mod_joy";
import "mod_proc";

#define WIZ_MENU 8

process control_juego();
private
counter;
begin
write_int(0,10,10,0,&fps);
write_int(0,10,20,0,&counter);

repeat;
counter++;
frame;
until(joy_getbutton(0,WIZ_MENU));
let_me_alone();
end


begin
control_juego();
end

Segata Sanshiro
06/09/2009, 10:25
Gracias a todos por las respuestas. Como digo, el programa funciona bien si lo compilo previamente en PC y luego solo ejecuto el bgdi en la consola, así que algún problema debía haber en el script o en el lanzador de programas de la propia Wiz.

Por otro lado me parece muy curioso lo de write_int :D He tenido el programa ejecutándose un buen rato (a 100 fps) y no se ha quedado sin textos disponibles, en PC tampoco (a 500 fps). He mirado a ver si había algún delete_text(all_text) en alguna otra parte del código pero no lo hay :confused: Aún así lo cambiaré por lo que decís, no sea que vaya a dar problemas en el futuro.

GameMaster
06/09/2009, 10:31
Es siempre complicado encontrar el posible problema cuando se pone solo una parte del código, ya que puede que el problema venga de otro sitio. Lo de que funcione bien en el PC y en la Wiz no, pues no te asustes por eso, ya que seguramente vas a encontrar más casos en que difieren en la ejecución. Yo ya tengo identificados algunos, y siempre surgen (sólo creando y probando cosas distintas se descubren por mala suerte).

Drumpi
06/09/2009, 20:00
Yo me di cuenta en su día que Fenix no era tan portable como parecía: un dcb compilado en windows no funcionaba en linux, pero al revés si. Con el modo7 he tenido problemas gordísimos, e incluso tuve que compilarme Fenix en Linux porque si no, no me salían los gráficos :S
Pero ya te digo que el gbdc, por lo que he probado, debe estar bien. ¿No será que la tarjeta está medio estropeada y la WIZ no puede escribir bien en ella y el PC sí?

Segata Sanshiro
06/09/2009, 20:06
Pero ya te digo que el gbdc, por lo que he probado, debe estar bien. ¿No será que la tarjeta está medio estropeada y la WIZ no puede escribir bien en ella y el PC sí?

La tarjeta estaba bien, podía trabajar perfectamente con ella borrando y copiando archivos excepto si intentaba abrir/borrar el dcb que se generaba en la consola. Era el único archivo que me daba problemas.

SplinterGU
06/09/2009, 23:59
toma alguno de los juegos que vienen de ejemplo, por ejemplo pacman, renombra el .prg a .prg-- y agrega este programa que puse de ejemplo, con extension prg.... ejecuta el pacman y se compilara y ejecutara este ejemplo en la wiz... asi lo hice yo... y cero problemas.

Rivroner
11/09/2009, 11:27
Gracias, los he copiado a game pero siguen sin ir bien del todo. Si los ejecuto a través del icono de la SD (el de los accesos directos .ini) funcionan bien, pero cuando quiero salir del juego, se queda la pantalla en negro y no vuelve al menú. Si los ejecuto a través del .gpe directamente (como deberían funcionar sin problemas) se queda en "Loading" para siempre... ¿Alguna idea? Me extraña muchísimo lo de que funcionen desde un menú y no desde otro.

¿Es posible que sea esto lo que me pase a mí con el Fenix 0.92a(uFenix) para Wiz?

¿Tengo el firm 1.01 , es posible que si el uFenix de Puck se compiló para la 1.0 me pase esto?

¿Tendré que meter los datos y el dcb en la carpeta game y hacer un ini O_o?

Segata Sanshiro
11/09/2009, 13:15
¿Es posible que sea esto lo que me pase a mí con el Fenix 0.92a(uFenix) para Wiz?

¿Tengo el firm 1.01 , es posible que si el uFenix de Puck se compiló para la 1.0 me pase esto?

¿Tendré que meter los datos y el dcb en la carpeta game y hacer un ini O_o?

En este caso el problema estaba a la hora de generar el dcb en la consola, cosa que no ocurre con Fenix. Desconozco cómo hay que compilar los dcb para uFenix (seguimos en el otro hilo mejor).

Rivroner
12/09/2009, 00:23
¿En el Bennu se generan en la propia consola?

Segata Sanshiro
12/09/2009, 00:27
¿En el Bennu se generan en la propia consola?

El script que viene de ejemplo lo hace así, pero no es necesario. Puedes meter el prg en la consola y hacer que se compile y ejecute en ella, o meter directamente el dcb compilado en PC y que solo se ejecute.

Rivroner
12/09/2009, 00:28
Pues me gusta esa opción la verdad, probaré mis progresos en Bennu tb a ver si me va como en Fenix :) Gracias.

Drumpi
12/09/2009, 01:36
En Fenix (o UFenix) también se puede compilar en la propia consola, sólo que el compilador FXC no ha salido de forma oficial. Sólo hay que preguntar para saber cómo obtenerlo :D

Rivroner
12/09/2009, 02:35
Siempre igual , oscurantismo en todos lados :quepalmo:

No sabemos de la misa la mitad :D

SplinterGU
12/09/2009, 03:44
RC9(r105) disponible en el site oficial...

Rivroner
12/09/2009, 12:19
RC9(r105) disponible en el site oficial...

Muchas gracias por decirlo :)

¿Para PC sólo de momento no? ¿dirección del site oficial? Gracias :)

Por cierto, no he probado el Bennu pero, ¿en WIZ tiene el problema de la diagonal arreglado?

El Fenix no lo tiene arreglado y jugando al Camelot Warriors El Remake molesta y mucho :(

¿Tan difícil es arreglarlo, no es tan simple como compilar de nuevo usando el pollux o algo así?

El tema está en que tanto en el emu de CPC, de Spectrum ,de SNES, de Amiga, el Fenix, etc,.. que le meta yo un script del pollux no arregla la diagonal :(

GameMaster
12/09/2009, 14:01
Muchas gracias por decirlo :)

¿Para PC sólo de momento no? ¿dirección del site oficial? Gracias :)

Por cierto, no he probado el Bennu pero, ¿en WIZ tiene el problema de la diagonal arreglado?

El Fenix no lo tiene arreglado y jugando al Camelot Warriors El Remake molesta y mucho :(

¿Tan difícil es arreglarlo, no es tan simple como compilar de nuevo usando el pollux o algo así?

El tema está en que tanto en el emu de CPC, de Spectrum ,de SNES, de Amiga, el Fenix, etc,.. que le meta yo un script del pollux no arregla la diagonal :(

El problema de la diagonal me imagino que sea un problema interno de la Wiz, el software es correcto, o sea, si un juego de Fenix/Bennu/etc que funcione en Wiz y que funcione en otra consola/sistema, supuestamente en la otra consola no vas a ver problemas de diagonales. Lo que ocurre es que ya ha salido software que 'arregla' el problema, o lo ligera, como el que comentas, pero no deja de ser un problema de la Wiz y no del software en si.

Aunque Bennu en el futuro tambien lo arregle, este patch seria exclusivo para la versión Wiz.

Edito, ha salido la r105 para todas las plataformas incluida Wiz, la página es 'http://www.bennugd.org/'

Drumpi
12/09/2009, 14:50
Siempre igual , oscurantismo en todos lados :quepalmo:

No sabemos de la misa la mitad :D

No es oscurantismo, es SPAM del bueno :quepalmo:
No, en serio, creo que Puck no veía necesidad de portar el FXC por motivos obvios (sin teclado, consola de comandos, y editor de textos...). A mi me lo tuvo que pasar animanegra, aunque no estoy seguro de si lo compiló él mismo o se lo hicieron.

Splinter: ¿tengo que volver a compilar el Bennu de GP2X? Estoy pensando en buscar las toolchains oficiales a ver si las puedo meter en una carpeta, como las dos que tengo del open2x, ya que nadie me ayuda a determinar las librerías que faltan.

Rivroner
12/09/2009, 15:24
El problema de la diagonal me imagino que sea un problema interno de la Wiz, el software es correcto, o sea, si un juego de Fenix/Bennu/etc que funcione en Wiz y que funcione en otra consola/sistema, supuestamente en la otra consola no vas a ver problemas de diagonales. Lo que ocurre es que ya ha salido software que 'arregla' el problema, o lo ligera, como el que comentas, pero no deja de ser un problema de la Wiz y no del software en si.

Aunque Bennu en el futuro tambien lo arregle, este patch seria exclusivo para la versión Wiz.

Edito, ha salido la r105 para todas las plataformas incluida Wiz, la página es 'http://www.bennugd.org/'

Todo eso ya lo sé hombre, como bien has dicho es cosa de todos los emuladores casi, pero a Franxis le costó muy poco arreglarlo en el Mame, ¿por qué en los demás no se arregla? Igual es sólo compilar con ciertos parámetros del pollux set y listo ¿no?

GameMaster
12/09/2009, 15:33
Todo eso ya lo sé hombre, como bien has dicho es cosa de todos los emuladores casi, pero a Franxis le costó muy poco arreglarlo en el Mame, ¿por qué en los demás no se arregla? Igual es sólo compilar con ciertos parámetros del pollux set y listo ¿no?

He oido lo del mame, pero en la mia con mame siguen apareciendo diagonales...

Rivroner
12/09/2009, 15:39
He oido lo del mame, pero en la mia con mame siguen apareciendo diagonales...

Y en la mía tb si dejas las opciones de escalado por defecto, pero hay una que es rotar la pantalla (diagonal fix), pero casi ni se notan en la mayoría de juegos, en algunos como el Willow o el Strider se sigue notando algo pero mucho menos que en el resto de emuladores, yo con esto me conformo hasta que algún día le de a GPH por arreglar esto de una vez, cosa que dudo puedan hacer por desgracia :( Si usas lo de rotar la pantalla desaparece por completo, pero sin usarlo se ve mucho menos que antes lo hacía.

Os recomiendo a todos los coders leeros este importantísimo hilo :) :

http://www.gp32x.com/board/index.php?/topic/48038-frame-rate-frame-sync-and-diagonal-tearing-occlusion/


Creo que voy a abrir un hilo en el general de Wiz por si a alguno se le ha pasado.

SplinterGU
12/09/2009, 18:26
vamos por partes...

1) esta para todas las plataformas oficiales... (las que mantengo yo...)
2) pollux, es tan simple como que yo probe en su tiempo las pollux y todas las direcciones que dicen ser y hacer cosas sobre el pollux en la wiz, no iban en mi equipo... no se si esas pollux que probe estaban mal o mi wiz tiene un firm diferente o un diseño interno diferente o que...
pero no he tenido, ni tendre tiempo de meterme con eso, por lo menos por los proximos 3 meses... tengo mucho trabajo y del que me da de comer... no olvidemos que esto es un pasatiempo...
con setear sobre el script del pollux, deberia funcionar, ya que bennu no toca nada de pollux, y por ende deberian mantenerse, a menos que la SDL toque algo...
por otro lado, rotar la pantalla, parece no ir con la SDL, si bien tiene parte del codigo que dice que soporta 240x320, cuando lo quiero usar se cuelga/cae/peta la aplicacion...
Si dices que en el mame en algunos juegos se nota, entonces no esta arreglado el tema.
Como sea, no tengo tiempo... si vos queres hacer pruebas, compilar ejemplos con esos parametros, me los pasas (los ejemplos con codigo) y yo los agrego... no tengo problema con eso...

4) si, drumpi, hay que recompilar, pero solo los modulos que difieren

haces un svn up y a compilar.

Rivroner
12/09/2009, 19:01
No hombre, hazlo el año que viene, cuando puedas, yo no quería meter prisa para nada. :)

Y no , no funciona el pollux script en casi ningún emulador, en alguno como el de snes le da un empujón en el rendimiento (gana 6-7 frames) pero no arregla la diagonal.

Hay que compilarlo con lo que pone Notaz de C en el archivo para que mejore mucho, no la arregla del todo en todos los juegos, pero si en muchos y en los que se ve casi ni se nota, ahora se nota mucho.

Sólo lo decía para que probáseis, que parece cosa de en un rato, compilar y listo... pero si dices que ya probaste y no te funcionaba... igual si preguntas a Notaz o Franxis te puede ayudar con eso y se lo puedes poner al Bennu (al Fenix si te aburres) y al emulador de Spectrum.

Gracias por responder :)

SplinterGU
12/09/2009, 23:34
gracias, ni bien tenga tiempo me pondre a investigarlo.

Rivroner
13/09/2009, 00:51
gracias, ni bien tenga tiempo me pondre a investigarlo.

Lo primero es lo primero claro :)

Esto lo hacéis por placer y en vuestro tiempo libre y si ese día tenéis ganas, eso está claro.

Yo sólo lo decía por si no estábais informados sobre el tema este. :brindis:

Drumpi
13/09/2009, 04:51
Hombre, yo no se, pero se suponía que eso era fallo de firmware, lo del pollux es un "parche" y arreglar los timings a mano... bueno, eso no, eso es optimización para la máquina, pero lo que se intentaba era mantener el código de Bennu cuanto más compatible con todas las plataformas, mejor.

SplinterGU
13/09/2009, 20:13
obviamente se hara sin romper esa filosofia de mantener todo compatible... no te preocupes...

blostec
17/09/2009, 22:47
Hola, soy un novato con la WIZ y tengo algunas dudas con la ejecución de juegos Bennu.

Yo compilo mi juego en Windows y copio el .dcb junto a la versión openwiz de BennuGD en mi SD y el interprete bgdi renombrado con el nombre de mi juego. Tengo que crear un archivo .gpe? Que debo poner en él?

Saludos y gracias por vuestra ayuda.

Rivroner
17/09/2009, 23:26
Hola, soy un novato con la WIZ y tengo algunas dudas con la ejecución de juegos Bennu.

Yo compilo mi juego en Windows y copio el .dcb junto a la versión openwiz de BennuGD en mi SD y el interprete bgdi renombrado con el nombre de mi juego. Tengo que crear un archivo .gpe? Que debo poner en él?

Saludos y gracias por vuestra ayuda.

Si es como en Fenix es algo así, creas un archivo de exto en formato unix con extensión *.gpe parecido a este, pero pondiendo tus rutas:

#!/bin/sh
cd runtime
./ufxi ../datosjuego/juego.dcb
cd /usr/gp2x
exec /usr/gp2x/gp2xmenu

Donde pone ufxi será lo que se ponga en Bennu que no sé lo que es.

Segata Sanshiro
17/09/2009, 23:33
Es como lo que te dice Rivroner, pero el .gpe para Bennu tiene algún comando más. Si te has bajado el fichero de la web oficial, verás que viene con dos juegos de ejemplo (pacman y galaxian). Puedes usar esos como base para crear el gpe.

GameMaster
17/09/2009, 23:39
Tienes 2 juegos de ejemplo en el runtime para wiz. los copias para la carpeta game de tu sd y ya te salen los iconos en el menu de wiz. Si quieres poner tu juego, puedes editar el .gpe de uno de ellos cambiandole el nombre y las rutas por el tuyo.

Drumpi
18/09/2009, 00:50
En la WIZ piensa que tienes linea de comandos, olvidate del doble clic. Tambien puedes crearte un .bat, sólo que aquí tienen extensión .gpe
Y como dice segata, lo mejor que puedes hacer es "instalar" el bennu oficial y abrir los gpe con cualquier editor de texto que soporte el formato unix (notepad++ por ejemplo) para ver cómo funciona... y si no lo entiendes, un copy/paste, cambiar el nombre del dcb y las rutas y santas pascuas.
Bienvenido al foro: continuemos la invasión.

SplinterGU
18/09/2009, 05:19
nuevo parche, que corrige un error que permitia nominar parametros de funcion/procesos igual que constantes ya declaradas...

Saludos

Rivroner
18/09/2009, 11:27
nuevo parche, que corrige un error que permitia nominar parametros de funcion/procesos igual que constantes ya declaradas...

Saludos

Gracias por la actualización, esta tarde creo que me voy a meter a probar Bennu :)

GameMaster
18/09/2009, 12:29
Tengo un poco parao los proyectos, espero ponerme a tope con ello hoy mismo. Así que me imagino que tendre nuevas dudas, espero que no estes muy liao splinter ;)

Drumpi
18/09/2009, 17:25
Splinter no es el único que sabe de bennu ¿eh?












Hay un foro completo de gente que sabe :D