Probando BennuWIZ en GP2X

Started by Drumpi, August 27, 2009, 04:30:04 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Drumpi

Hola a todos:

Haciendo un esfuerzo contra mi vaguitis estival, he bajado la versión de WIZ y la he intentado probar en mi consola, para comprobar si realmente es compatible, aunque no sea al revés.
Bueno, no sé qué pensar, porque al parecer si que se "entienden", porque usando un nuevo gpe tal que así:

#!/bin/sh
./bgdi ./bgd-galaxian.dcb 1>salida.txt 2>error.txt
sync
cd /usr/gp2x
exec /usr/gp2x/gp2xmenu


Y obviamente copiando todos los archivos del runtime en la misma carpeta que los juegos, he obtenido el siguiente mensaje de error:

bgdi:error while loading shared libraries:libbgdrtm.so: cannot open shared object file: no such file or directory.

Lo cual indica que, efectivamente, hace el amago de ejecutarse y, en cierta medida, se entienden. Lo que ya no se es si no encuentra el .so por mi culpa o porque no son compatibles, así que, si alguien domina más que yo Linux, que diga algo.
Tambien lo he intentado ejecutando el bgdi con los parámetros adecuados mediante los accesos directos que se pueden crear con el gmenu2x, pero con idéntico resultado (solo que al hacer referencia al bgdi lo hacía con /mnt/sd/Bennu/bgd-galaxian/bgdi)

Mientras, seguiré por el otro frente abierto: cygwin.
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)

animanegra

Dale valor al path , añade esto al principio del escript a ver si te va:

export PATH=ruta_hasta_los_dlls:ruta_hasta_binario:$PATH
export LD_LIBRARY_PATH=ruta_hasta_los_dlls
"PoCoYo es dios!!"

Drumpi

#2
Bueno, he probado con:

#!/bin/sh
export PATH=./:./:$PATH
export LD_LIBRARY_PATH=./
./bgdi ./bgd-galaxian.dcb 1>salida.txt 2>error.txt
sync
cd /usr/gp2x
exec /usr/gp2x/gp2xmenu

#!/bin/sh
export PATH=/mnt/sd/Bennu/bgd-galaxian:/mnt/sd/Bennu/bgd-galaxian:$PATH
export LD_LIBRARY_PATH=/mnt/sd/Bennu/bgd-galaxian
./bgdi ./bgd-galaxian.dcb 1>salida.txt 2>error.txt
sync
cd /usr/gp2x
exec /usr/gp2x/gp2xmenu

#!/bin/sh
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./
PATH=$PATH:./
./bgdi ./bgd-galaxian.dcb 1>salida.txt 2>error.txt
sync
cd /usr/gp2x
exec /usr/gp2x/gp2xmenu

#!/bin/sh
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./
export PATH=$PATH:./
./bgdi ./bgd-galaxian.dcb 1>salida.txt 2>error.txt
sync
cd /usr/gp2x
exec /usr/gp2x/gp2xmenu


En los dos primeros no se ha quejado de que faltase ninguna librería (no se queja de nada, pero se crean sendos ficheros salida.tbl y error.tbl de 8 bytes de contenido "desconocido" (no me he puesto a mirarlo con un editor hexadecimal).
El tercero me ha vuelto a dar el error de no encontrar librerías.
Sin embargo, en el cuarto, ya cambia la canción:

"ERROR: Runtime error in MAIN (65536) - Unknown system process".

En cristiano no se lo que quiere decir, pero no tiene muy buena pinta. En Fenix lo entendía como que llamo a un proceso que ya no existe, pero esto es C. Supongo que habrá algún programa del sistema en WIZ que no existe en GP2X... No me hagais caso, vuelvo a divagar. Esto es terreno de Splinter.

Por otro lado, a ver si encuentro la forma de descomprimir los bz2 sin recurrir a Linux, que hoy (ni quizás mañana) no puedo reiniciar.

PD: ¿qué hace export y que son las "variables" LD_LIBRARY_PATH y PATH?
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

en el paquete original tenes el script adecuado...


#!/bin/sh
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../bgd-runtime
PATH=$PATH:../bgd-runtime

echo 2 > /proc/cpu/alignment

for prg in *.prg; do
    name=`basename $prg .prg`
    bgdc $prg
    bgdi $name
done

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


mira, te lo explico...

tenes que tener, bennu en una carpeta anterior llamada bgd-runtime... o sea, al mismo nivel de directorio...

bgd-galaxian <--- archivos galaxian
bgd-runtime <--- archivos bennu

lo que hace el script es setear las variables que apunten al runtime... busca todo .prg existente en el directorio, lo compila y lo ejecuta... de esta forma tenes un script generico, lo copias junto con los fuentes, lo compila y ejecuta... es simple...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

Lo se, lo he visto, pero quería aprender haciéndolo yo. De hecho, los dos últimos scripts tomé el tuyo como ejemplo para los PATH esos (que no se ni lo que son ni para lo que sirven).
Ahora, a las dudas que ya he preguntado le añades otra más ¿para qué sirve la linea esta?

echo 2 > /proc/cpu/alignment
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

ese es el secreto mejor guardado de bennu (arm)... pero entre nosotros te contare que sirve para habilitar la alineacion de estructuras a 1byte... de otra forma alinea a 32bits, con lo que los elementos dentro de una estructura si no son de tamaño palabra de 32...

shhh, no lo andes comentando...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

Splinter, he probado lo que me pedías: he copiado todo, tal cual, a la carpeta /Bennu de mi SD, y se me sigue saliendo al menu, pero al no tener salida de comandos, no puedo rastrear el error que da :P
Lo que no había caido hasta ahora es que, posiblemente, el bgdc funciona. No sé, tendría que mirarlo más a fondo, pero seguramente es que me he centrado en que funcione el intérprete y no le he dedicado suficiente atención.
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)