Bennu GP2X

Started by FreeYourMind, January 28, 2010, 09:08:15 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

DCelso

pero funciona el juego?, osea aparece algo en la pantalla al ejecutar el script de ejecución?.
¿se crea el archivo .dcb?
Monstruos Diabólicos

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

Kloppix

Quote from: DCelso on January 16, 2011, 08:13:04 PM
pero funciona el juego?, osea aparece algo en la pantalla al ejecutar el script de ejecución?.
¿se crea el archivo .dcb?

El juego en la gp2x ni hace el intento en cargar, pero al parecer compila correctamente. Al correr el script que me pasaste se crea echo.dcb. Lo he borrado y vuelto a ejecutar y siempre pasa lo mismo. La pantalla se pone negra por unos 15 segundos y de vuelta al menú. Pero el .dcb se generó todas las veces.

Para probar el .dcb puse la SD en la laptop y al ejecutar "bgdi echo.dcb" funcionó el juego. De hecho cargué un juego salvado. Aunque se cuelga si se mueve el personaje.

Drumpi

Quote from: SplinterGU on January 16, 2011, 05:13:42 PM
drumpi, te repito lo que te dije en el otro foro... ahora podes volver a compilar tu version gp2x, ya no usa mas openssl.

Sí, lo tengo pendiente, pero llevo unos días que no me cunde el tiempo. De todas maneras, mañana a ver qué sale, el martes o el miércoles a ver si le doy un nuevo tiento.

Kloppix: Entonces te hace lo mismo que a mi, se tira unos cuatro o cinco segundos compilando con la pantalla en negro y luego se sale. Lo que no he probado ha sido el DCB generado.
Sería interesante saber en qué parte del juego te falla, porque dices al mover el personaje, pero el personaje comienza moviéndose (cayendo), así que no sé si es por el movimiento de gráficos, por pulsar alguna tecla, o con algún fallo en mi código a la hora de cambiar de tile o de mover la cámara.
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

Quote from: Drumpi on January 17, 2011, 12:27:40 AM
Quote from: SplinterGU on January 16, 2011, 05:13:42 PM
drumpi, te repito lo que te dije en el otro foro... ahora podes volver a compilar tu version gp2x, ya no usa mas openssl.

Sí, lo tengo pendiente, pero llevo unos días que no me cunde el tiempo. De todas maneras, mañana a ver qué sale, el martes o el miércoles a ver si le doy un nuevo tiento.

Kloppix: Entonces te hace lo mismo que a mi, se tira unos cuatro o cinco segundos compilando con la pantalla en negro y luego se sale. Lo que no he probado ha sido el DCB generado.
Sería interesante saber en qué parte del juego te falla, porque dices al mover el personaje, pero el personaje comienza moviéndose (cayendo), así que no sé si es por el movimiento de gráficos, por pulsar alguna tecla, o con algún fallo en mi código a la hora de cambiar de tile o de mover la cámara.

fantastico
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Kloppix

Quote from: Drumpi on January 17, 2011, 12:27:40 AM
Kloppix: Entonces te hace lo mismo que a mi, se tira unos cuatro o cinco segundos compilando con la pantalla en negro y luego se sale. Lo que no he probado ha sido el DCB generado.
Sería interesante saber en qué parte del juego te falla, porque dices al mover el personaje, pero el personaje comienza moviéndose (cayendo), así que no sé si es por el movimiento de gráficos, por pulsar alguna tecla, o con algún fallo en mi código a la hora de cambiar de tile o de mover la cámara.
La prueba que describí antes era con un juego salvado de Episode 2. Me acabo de dar cuenta que el programa no se cuelga cuando echo se mueve, sino cuando pasa de cierto punto muy cercano a él, por lo que daba esa impresión. En Episode 1 la pantalla ni terminó de cargar. Te lo voy a redactar mejor:

Cuando se ejecuta en un PC (con linux por supuesto ) el dcb creado en la gp2x, el juego se cuelga en.....

Episode 1: Cargando la pantalla. La imagen se genera horizontalmente hasta mas o menos la "N" de "ENERGY" y de ahí no pasa.
Episode 2: Al pasar de cierto punto. Funciona cambiar armas, saltar, disparar, mirar arriba...todo. El problema viene al caminar hacia la derecha y pasar una línea vertical imaginaria que parte más o menos desde la esquina derecha del cuadrado de la segunda arma (si alguien entendió sin screenshot me voy a sorprender mucho)

Finalmente volví a borrar el .dcb de la tarjeta SD y compilé pero esta vez directamente con la PC. En la computadora no dio problemas de ningún tipo, pero en la gp2x no funcionó. Para ésta última prueba modifiqué el script para que no compile sino que corra directamente el dcb, pero posiblemente metí la pata. Es script es así:

#!/bin/sh

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../bgd-runtime
PATH=$PATH:../bgd-runtime

export LD_LIBRARY_PATH
export PATH

echo 2 > /proc/cpu/alignment

bgdi echo.dcb

cd /usr/gp2x
exec /usr/gp2x/gp2xmenu


DCelso

pues eso debería de ir.
Monstruos Diabólicos

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

Drumpi

Hoy lo hemos estado mirando, efectivamente el DCB generado en el test 10 sólo muestra en el primer nivel las primeras 7 columnas de pixels más o menos, sin embargo con DCBs anteriores (en Linux todo esto) todo iba bien.

En fin, hemos hecho algunas pruebas, pero no hemos conseguido nada nuevo, sólo encontrar algunos bugs. A ver si mañana pruebo con mis toolchains.
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)

DCelso

Y no hay manera de echar a andar la versión de librerías dinámicas, el sistema operativo de la GP2X, usa por co..nes los libs del sistema, y le da igual que el mismo papa ponga lo que quiera en el LD_LIBRARY_PATH porque él buscará siempre primero en el sistema y luego en los directorios que pusiste en esa variable. Asi que la única forma de usar la versión de librerías dinámicas sería tener un custom firmware con las librerias de gcc 4 y libc incrustadas en el sistema :D.

Bueno, tengo última versión monolítica, que me gustaría que probáseis cuanto antes a ver si arregla la ejecución del echo :D.
http://www.mediafire.com/?8zidcdjjgv7i5ze
Monstruos Diabólicos

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

SplinterGU

Quote from: DCelso on January 18, 2011, 03:29:49 AM
Y no hay manera de echar a andar la versión de librerías dinámicas, el sistema operativo de la GP2X, usa por co..nes los libs del sistema, y le da igual que el mismo papa ponga lo que quiera en el LD_LIBRARY_PATH porque él buscará siempre primero en el sistema y luego en los directorios que pusiste en esa variable. Asi que la única forma de usar la versión de librerías dinámicas sería tener un custom firmware con las librerias de gcc 4 y libc incrustadas en el sistema :D.

Bueno, tengo última versión monolítica, que me gustaría que probáseis cuanto antes a ver si arregla la ejecución del echo :D.
http://www.mediafire.com/?8zidcdjjgv7i5ze

conoces la variable LD_PRELOAD? quizas sirva para solucionar el problema de que busca otras dlls.

leete este articulo http://jjmora.es/sabias-que-la-variable-ld_preload/
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

cuando dijiste "el sistema operativo de la GP2X, usa por co..nes los libs del sistema, y le da igual que el mismo papa ponga lo que quiera en el LD_LIBRARY_PATH porque él buscará siempre primero en el sistema y luego en los directorios que pusiste en esa variable." me di cuenta de que hablabas y me acorde de la LD_PRELOAD.

perdon por no haberlo entendido antes y haberte hecho trabajar tanto, disculpas.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

siempre perdonado :D, aún así ni idea de cómo aplicar eso en la GP2X para que tire de las libs de gcc4 y libc2.6 en ve de las del sistema de gcc2 y libcloquesea. :D.
Monstruos Diabólicos

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

Kloppix

Quote from: DCelso on January 18, 2011, 03:29:49 AM
Y no hay manera de echar a andar la versión de librerías dinámicas, el sistema operativo de la GP2X, usa por co..nes los libs del sistema, y le da igual que el mismo papa ponga lo que quiera en el LD_LIBRARY_PATH porque él buscará siempre primero en el sistema y luego en los directorios que pusiste en esa variable. Asi que la única forma de usar la versión de librerías dinámicas sería tener un custom firmware con las librerias de gcc 4 y libc incrustadas en el sistema :D.

Bueno, tengo última versión monolítica, que me gustaría que probáseis cuanto antes a ver si arregla la ejecución del echo :D.
http://www.mediafire.com/?8zidcdjjgv7i5ze

Acabo de probar la versión nueva pero ocurre lo mismo. En la gp2x sólo compila y al probar en la PC el dcb generado, sólo carga una pequeña franja de la imagen al comenzar el juego.  :(

SplinterGU

Quote from: DCelso on January 18, 2011, 03:49:13 AM
siempre perdonado :D, aún así ni idea de cómo aplicar eso en la GP2X para que tire de las libs de gcc4 y libc2.6 en ve de las del sistema de gcc2 y libcloquesea. :D.

es muy simple, asi como definis la LD_LIBRARY_PATH, definis una LD_PRELOAD=path_lo_que_sea/mylibc.so y con eso el sistema carga primero tu libc antes de cargar la libc del sistema operativo, lo que significa esto es que los simbolos (funciones) de tu libc tendran precedencia sobre las del sistema.

lo unico que tenes que tener en cuenta es que al terminar el script restaure el viejo valor de esta variable, que seguramente sera vacio.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

tal que así?

#!/bin/sh
LD_LIBRARY_PATH_BAK=$LD_LIBRARY_PATH
PATH_BAK=$PATH
LD_PRELOAD_BAK=$LD_PRELOAD

LD_PRELOAD=../bgd-runtime:$LD_PRELOAD
LD_LIBRARY_PATH=../bgd-runtime:$LD_LIBRARY_PATH
PATH=../bgd-runtime:$PATH

echo 2 > /proc/cpu/alignment

for prg in *.prg; do
    name=`basename $prg .prg`
    bgdc $prg 1> bgdc_stdout.txt 2>bgdc_stderr.txt
    bgdi $name 1> bgdi_stdout.txt 2>bgdi_stderr.txt
done

sync

LD_LIBRARY_PATH=$LD_LIBRARY_PATH_BAK
PATH=$PATH_BAK
LD_PRELOAD=$LD_PRELOAD_BAK

cd /usr/gp2x
exec /usr/gp2x/gp2xmenu


Adjunto test 16 con este proceso.
http://www.mediafire.com/?tqdd79v54qw9980
Monstruos Diabólicos

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

Kloppix

Quote from: DCelso on January 18, 2011, 03:47:17 PM
tal que así?

#!/bin/sh
LD_LIBRARY_PATH_BAK=$LD_LIBRARY_PATH
PATH_BAK=$PATH
LD_PRELOAD_BAK=$LD_PRELOAD

LD_PRELOAD=../bgd-runtime:$LD_PRELOAD
LD_LIBRARY_PATH=../bgd-runtime:$LD_LIBRARY_PATH
PATH=../bgd-runtime:$PATH

echo 2 > /proc/cpu/alignment

for prg in *.prg; do
    name=`basename $prg .prg`
    bgdc $prg 1> bgdc_stdout.txt 2>bgdc_stderr.txt
    bgdi $name 1> bgdi_stdout.txt 2>bgdi_stderr.txt
done

sync

LD_LIBRARY_PATH=$LD_LIBRARY_PATH_BAK
PATH=$PATH_BAK
LD_PRELOAD=$LD_PRELOAD_BAK

cd /usr/gp2x
exec /usr/gp2x/gp2xmenu


Adjunto test 16 con este proceso.
http://www.mediafire.com/?tqdd79v54qw9980

DCelso, además de la 16 volví a probar las versiones 10 y 15.

Con la v10 los resultados fueron los mismos, pero con la v15 el dcb generado aunque no funcionó el la gp2x, lo hizo en la computadora perfectamente. No se por que en la mañana no lo hizo. Por cierto, traté de correr directamente sin compilar dicho dcb en la gp2x y no funcionó

Con la v16 ni siquiera compiló. Ni con el script nuevo, ni con el de siempre.