Futu, creo que es la eneésima vez que se cuenta, pero te lo explico de nuevo:
El fichero GPE es un fichero de comandos que se ejecutan en la consola de comandos (valga la redundancia), es decir, es un ficero de texto con una serie de órdenes que se le da a la ventanita de MS-DOS o, en este caso, de SH (que es un programa de linux que ejecuta los comandos del sistema, similar al que menciono de Windows).
Puedes usar los que vienen de ejemplo con el pac-man o el galaxian, ya que son universales, y tienen el siguiente texto:
#!/bin/sh
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../wiz-runtime
PATH=$PATH:../wiz-runtime
echo 2 > /proc/cpu/alignment
for prg in *.prg; do
name=`basename $prg .prg`
bgdc $prg 1>log1.txt 2>err1.txt
bgdi $name 1>log2.txt 2>err2.txt
done
cd /usr/gp2x
exec /usr/gp2x/gp2xmenu
Ojo, debes guardarlo en formato UNIX, por lo que el bloc de notas de windows no sirve, recomiendo el notepad++.
La primera línea no debes cambiarla, pero la tercera y la cuarta sí, porque indican la dirección de dónde está el runtime de bennu (ejecutables, librerías, etcétera) y lo agregan al PATH del sistema (una variable que le dice al SO dónde se encuentran los ejecutabñes y librerías, para no tener que escribir la dirección completa del mismo).
El for te buscará cualquier PRG que haya en la carpeta donde guardes este GPE, pero si no te gusta así, siempre los puedes cambiar por:
bgdc mijuego.prg 1>log1.txt 2>err1.txt
bgdi mijuego.dcb 1>log2.txt 2>err2.txt
y añadirle los parámetros que quieras (el -g para el modo debug, compilar con mochila, añadir al dcb... etc). el 1> y 2> son para la creación de ficheros de texto que guarden los datos de SAY y los errores de compilación/ejecución, puedes quitarlos si tu juego funciona bien.
Como ves es como compilar en PC con la consola de comandos. Esto lo pones junto al PRG principal, modificas las rutas para que señalen a la carpeta con el runtime de WIZ, Caanoo o el que uses, y el resto tal como lo tienes en PC. Ahora sólo tienes que ejecutar el .gpe en tu portatil. Recuerda que debes compilar (BGDC) al menos la primera vez, por lo que es recomendable tener dos GPE: uno que compile (opcionalmente, que ejecute) y otro que sólo ejecute.
El .INI y el icono son totalmente opcionales.
Teclado: eso no existe en CAANOO, los controles son con el joystick 0, con botones para todo:
_GP2X_JKEY_UP = 0 ;
_GP2X_JKEY_UPLEFT = 1 ;
_GP2X_JKEY_LEFT = 2 ;
_GP2X_JKEY_DOWNLEFT = 3 ;
_GP2X_JKEY_DOWN = 4 ;
_GP2X_JKEY_DOWNRIGHT = 5 ;
_GP2X_JKEY_RIGHT = 6 ;
_GP2X_JKEY_UPRIGHT = 7 ;
_GP2X_JKEY_START = 8 ;
_GP2X_JKEY_SELECT = 9 ;
_GP2X_JKEY_L = 10 ;
_GP2X_JKEY_R = 11 ;
_GP2X_JKEY_A = 12 ;
_GP2X_JKEY_B = 13 ;
_GP2X_JKEY_X = 14 ;
_GP2X_JKEY_Y = 15 ;
_GP2X_JKEY_VOLUP = 16 ;
_GP2X_JKEY_VOLDOWN = 17 ;
_GP2X_JKEY_CLICK = 18 ;
Hay algún botón más, creo, pero no sé su número.
Así que tienes que sustituir KEY(tecla) por JOY_GETBUTTON(0,número_del_boton) y ya está, pero recomiendo crear un proceso aparte que haga dicha comprobación y rellene un array global, de forma que si cambias de plataforma sólo tengas que cambiar este proceso, ya que el resto del juego sólo lee datos de un array global que no cambia.