Hola.
He probado "Bomber Run Redux" y "Purito Cycling" y arrancan, pero no reconoce la pulsación de teclas.
GP2X-F200 4.0.0 .
¿Alguna idea?.
SalU2.
Hola.
He probado "Bomber Run Redux" y "Purito Cycling" y arrancan, pero no reconoce la pulsación de teclas.
GP2X-F200 4.0.0 .
¿Alguna idea?.
SalU2.
Última edición por Isidor; 30/08/2011 a las 23:08
SalU2.
Is'Dor
Mis Juegos :
Marc Gene Le Mans - Bomber Run - Midway - Coral Sea - Purito Cycling - Starship Soldier - Shootingz - Combatz
claro, tiene que tener su protocolo de teclas como el de wiz...
por cierto que cambié el runtime del bennu en la caanoo y ya funciona el coral sea, pero no el bomber run redux
[end of offtopic]
Hola.
Sobre el "Bomber Run Redux" : http://www.gp32spain.com/foros/showp...8&postcount=24 . Dime que tal .
Sobre las teclas, ¿hay un jkeys.lib especifico para GP2X?.
SalU2.
SalU2.
Is'Dor
Mis Juegos :
Marc Gene Le Mans - Bomber Run - Midway - Coral Sea - Purito Cycling - Starship Soldier - Shootingz - Combatz
Si funciona en WIZ debería funcionar en GP2X, yo no he cambiado nada de los controles: se debe usar el primer joystick y usar la correspondencia de botones de la SDL:
_JKEY_UP = 0 ;
_JKEY_UPLEFT = 1 ;
_JKEY_LEFT = 2 ;
_JKEY_DOWNLEFT = 3 ;
_JKEY_DOWN = 4 ;
_JKEY_DOWNRIGHT = 5 ;
_JKEY_RIGHT = 6 ;
_JKEY_UPRIGHT = 7 ;
_JKEY_START = 8 ;
_JKEY_SELECT = 9 ;
_JKEY_L = 10 ;
_JKEY_R = 11 ;
_JKEY_A = 12 ;
_JKEY_B = 13 ;
_JKEY_X = 14 ;
_JKEY_Y = 15 ;
_JKEY_VOLUP = 16 ;
_JKEY_VOLDOWN = 17 ;
_JKEY_CLICK = 18 ;
Caanoo incluye dos botones extra (bloqueo de teclas y I) que son respectivamente el 19 y el 20 (II es el mismo que SELECT). Y las pantallas táctiles deberían funcionar como ratones y el clic izquierdo del ratón.
Sobre el jkeys.lib, nunca lo he usado, tengo mi propio método, pero si es necesario, se podría mirar (no sé si es código Bennu, código precompilado o una librería de C), pero si usais JOY_GETBUTTON en vuestros códigos deberían funcionar sin cambios.
PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%
Es que uso jkeys.lib, te lo paso por si lo quieres mirar, y te da una pista de lo que no funciona.
import "mod_key";
import "mod_joy";
import "mod_proc";
/* -------------------------------------------------------------------------- */
const
_JKEY_UP = 0 ;
_JKEY_UPLEFT = 1 ;
_JKEY_LEFT = 2 ;
_JKEY_DOWNLEFT = 3 ;
_JKEY_DOWN = 4 ;
_JKEY_DOWNRIGHT = 5 ;
_JKEY_RIGHT = 6 ;
_JKEY_UPRIGHT = 7 ;
_JKEY_MENU = 8 ;
_JKEY_SELECT = 9 ;
_JKEY_L = 10 ;
_JKEY_R = 11 ;
_JKEY_A = 12 ;
_JKEY_B = 13 ;
_JKEY_X = 14 ;
_JKEY_Y = 15 ;
_JKEY_VOLUP = 16 ;
_JKEY_VOLDOWN = 17 ;
_JKEY_CLICK = 18 ;
_JKEY_LAST = 19 ;
end
/* -------------------------------------------------------------------------- */
global
int jkeys[_JKEY_LAST];
int jkeys_state[_JKEY_LAST];
end
/* -------------------------------------------------------------------------- */
function jkeys_set_default_keys()
begin
jkeys[ _JKEY_UP ] = _UP ;
jkeys[ _JKEY_UPLEFT ] = 0 ;
jkeys[ _JKEY_LEFT ] = _LEFT ;
jkeys[ _JKEY_DOWNLEFT ] = 0 ;
jkeys[ _JKEY_DOWN ] = _DOWN ;
jkeys[ _JKEY_DOWNRIGHT ] = 0 ;
jkeys[ _JKEY_RIGHT ] = _RIGHT ;
jkeys[ _JKEY_UPRIGHT ] = 0 ;
jkeys[ _JKEY_MENU ] = _ESC ;
jkeys[ _JKEY_SELECT ] = _ENTER ;
jkeys[ _JKEY_L ] = 0 ;
jkeys[ _JKEY_R ] = 0 ;
jkeys[ _JKEY_A ] = _A ;
jkeys[ _JKEY_B ] = _D ;
jkeys[ _JKEY_X ] = _S ;
jkeys[ _JKEY_Y ] = _W ;
jkeys[ _JKEY_VOLUP ] = 0 ;
jkeys[ _JKEY_VOLDOWN ] = 0 ;
jkeys[ _JKEY_CLICK ] = 0 ;
end
/* -------------------------------------------------------------------------- */
process jkeys_controller()
private
i;
axis_x, axis_y;
begin
signal_action( s_kill, s_ign );
signal( type jkeys_controller, s_kill );
signal_action( s_kill, s_dfl );
loop
for ( i = 0; i < _JKEY_LAST; i++ )
if ( jkeys[i] )
jkeys_state[i] = key( jkeys[i] );
else
jkeys_state[i] = 0;
end
end
switch ( os_id )
case OS_GP2X_WIZ, OS_CAANOO: /* Wiz */
jkeys_state[ _JKEY_UP ] |= joy_getbutton( 0, _JKEY_UP );
jkeys_state[ _JKEY_UPLEFT ] |= joy_getbutton( 0, _JKEY_UPLEFT );
jkeys_state[ _JKEY_LEFT ] |= joy_getbutton( 0, _JKEY_LEFT );
jkeys_state[ _JKEY_DOWNLEFT ] |= joy_getbutton( 0, _JKEY_DOWNLEFT );
jkeys_state[ _JKEY_DOWN ] |= joy_getbutton( 0, _JKEY_DOWN );
jkeys_state[ _JKEY_DOWNRIGHT ] |= joy_getbutton( 0, _JKEY_DOWNRIGHT );
jkeys_state[ _JKEY_RIGHT ] |= joy_getbutton( 0, _JKEY_RIGHT );
jkeys_state[ _JKEY_UPRIGHT ] |= joy_getbutton( 0, _JKEY_UPRIGHT );
jkeys_state[ _JKEY_MENU ] |= joy_getbutton( 0, _JKEY_MENU );
jkeys_state[ _JKEY_SELECT ] |= joy_getbutton( 0, _JKEY_SELECT );
jkeys_state[ _JKEY_L ] |= joy_getbutton( 0, _JKEY_L );
jkeys_state[ _JKEY_R ] |= joy_getbutton( 0, _JKEY_R );
jkeys_state[ _JKEY_A ] |= joy_getbutton( 0, _JKEY_A );
jkeys_state[ _JKEY_B ] |= joy_getbutton( 0, _JKEY_B );
jkeys_state[ _JKEY_X ] |= joy_getbutton( 0, _JKEY_X );
jkeys_state[ _JKEY_Y ] |= joy_getbutton( 0, _JKEY_Y );
jkeys_state[ _JKEY_VOLUP ] |= joy_getbutton( 0, _JKEY_VOLUP );
jkeys_state[ _JKEY_VOLDOWN ] |= joy_getbutton( 0, _JKEY_VOLDOWN );
jkeys_state[ _JKEY_CLICK ] |= joy_getbutton( 0, _JKEY_CLICK );
jkeys_state[ _JKEY_UP ] |= jkeys_state[ _JKEY_UPLEFT ] | jkeys_state[ _JKEY_UPRIGHT ] ;
jkeys_state[ _JKEY_DOWN ] |= jkeys_state[ _JKEY_DOWNRIGHT ] | jkeys_state[ _JKEY_DOWNLEFT ] ;
jkeys_state[ _JKEY_LEFT ] |= jkeys_state[ _JKEY_UPLEFT ] | jkeys_state[ _JKEY_DOWNLEFT ] ;
jkeys_state[ _JKEY_RIGHT ] |= jkeys_state[ _JKEY_UPRIGHT ] | jkeys_state[ _JKEY_DOWNRIGHT ] ;
end
#if 0
case OS_CAANOO: /* Caanoo */
axis_x = joy_getaxis( 2, 0 );
axis_y = joy_getaxis( 2, 1 );
jkeys_state[ _JKEY_UP ] |= ( axis_y < -16384 );
jkeys_state[ _JKEY_UPLEFT ] |= ( axis_y < -16384 ) && ( axis_x < -16384 );
jkeys_state[ _JKEY_LEFT ] |= ( axis_x < -16384 );
jkeys_state[ _JKEY_DOWNLEFT ] |= ( axis_y > 16384 ) && ( axis_x < -16384 );
jkeys_state[ _JKEY_DOWN ] |= ( axis_y > 16384 );
jkeys_state[ _JKEY_DOWNRIGHT ] |= ( axis_y > 16384 ) && ( axis_x > 16384 );
jkeys_state[ _JKEY_RIGHT ] |= ( axis_x > 16384 );
jkeys_state[ _JKEY_UPRIGHT ] |= ( axis_y < -16384 ) && ( axis_x > 16384 );
jkeys_state[ _JKEY_MENU ] |= joy_getbutton( 0, _JKEY_MENU );
jkeys_state[ _JKEY_SELECT ] |= joy_getbutton( 0, _JKEY_SELECT );
jkeys_state[ _JKEY_L ] |= joy_getbutton( 0, _JKEY_L );
jkeys_state[ _JKEY_R ] |= joy_getbutton( 0, _JKEY_R );
jkeys_state[ _JKEY_A ] |= joy_getbutton( 0, _JKEY_A );
jkeys_state[ _JKEY_B ] |= joy_getbutton( 0, _JKEY_B );
jkeys_state[ _JKEY_X ] |= joy_getbutton( 0, _JKEY_X );
jkeys_state[ _JKEY_Y ] |= joy_getbutton( 0, _JKEY_Y );
jkeys_state[ _JKEY_VOLUP ] |= joy_getbutton( 0, _JKEY_VOLUP );
jkeys_state[ _JKEY_VOLDOWN ] |= joy_getbutton( 0, _JKEY_VOLDOWN );
jkeys_state[ _JKEY_CLICK ] |= joy_getbutton( 0, _JKEY_CLICK );
jkeys_state[ _JKEY_UP ] |= jkeys_state[ _JKEY_UPLEFT ] | jkeys_state[ _JKEY_UPRIGHT ] ;
jkeys_state[ _JKEY_DOWN ] |= jkeys_state[ _JKEY_DOWNRIGHT ] | jkeys_state[ _JKEY_DOWNLEFT ] ;
jkeys_state[ _JKEY_LEFT ] |= jkeys_state[ _JKEY_UPLEFT ] | jkeys_state[ _JKEY_DOWNLEFT ] ;
jkeys_state[ _JKEY_RIGHT ] |= jkeys_state[ _JKEY_UPRIGHT ] | jkeys_state[ _JKEY_DOWNRIGHT ] ;
end
#endif
end
frame;
end
end
/* -------------------------------------------------------------------------- */
SalU2.
Is'Dor
Mis Juegos :
Marc Gene Le Mans - Bomber Run - Midway - Coral Sea - Purito Cycling - Starship Soldier - Shootingz - Combatz
Ah, vale, ya veo el fallo.
En el
process jkeys_controller()
Hay una línea que dice:
case OS_GP2X_WIZ, OS_CAANOO: /* Wiz */
Este port usa un nuevo OS_ID que Splinter no escribió por no tratarse de un port oficial. Hay que añadir el nuevo OS_ID a la línea, debería quedar así:
case OS_GP2X_WIZ, OS_CAANOO,OS_GP2X: /* Wiz */
PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%
PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%
Te lo juro que me estoy partiendo de risa, peor frase no podría haber escrito .
< - >Hola.
Los juegos van mas lentos pero funcionan. De hecho el "Bomber Run" es perfectamente jugable, el "Purito" no tanto, porque con pocos ciclistas ya se resiente.
Apa, ya estas reportado, a ver cuantos partidos te caen ...
SalU2.
Última edición por Isidor; 31/08/2011 a las 21:39 Razón: Edición automática anti doble-post.
SalU2.
Is'Dor
Mis Juegos :
Marc Gene Le Mans - Bomber Run - Midway - Coral Sea - Purito Cycling - Starship Soldier - Shootingz - Combatz
Sólo por curiosidad, si tienes el GMenu2X, crea un acceso directo al GPE, y modifícalo para que haga overclock (con 240MHz deberían bastar) y use RAM timings, eso debería subirle el rendimiento y hacer que vayan más rápidos, a ver si así van a una velocidad aceptable.
Ten en cuenta que GP2X no es WIZ, tenemos menos recursos, por lo que hay que ponerse las pilas con el código
Por lo menos funciona, que es lo importante. Aprovecharé los partidos de sanción para entrenar un poco y subir de categoría a Bennu a la última release.
PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%
SalU2.
Is'Dor
Mis Juegos :
Marc Gene Le Mans - Bomber Run - Midway - Coral Sea - Purito Cycling - Starship Soldier - Shootingz - Combatz
Drumpi la verdad que me alivió bastante que te haya llegado el correo. Es bastante malo que no recuerde las cosas que hago, pero recordar algo que no he hecho era realmente para preocuparse xD El video te lo envié es para que compares la velocidad.
Estaba pensando que sería bastante útil hacer algún programa de benchmarking para Bennu. Ni siquiera habría que estar luchando con la configuración de teclas ya que no se necesitarían.
Al lado del botón de la tapa de la batería de la WIZ hay un agujero. Si se introduce la punta del stylus en dicho agujero la Wiz se puede utilizar como portaretrato.
Hombre, no se tu, yo uso mi motor de scroll tileado, que me muestra los FPS, y con una ligera modificación puedo usar cualquier tipo de control. Además me muestra la velocidad con muchos procesos estáticos, accediendo a sus variables locales o realizando una serie de complejas operaciones, según si está quieto, se mueve un poco o se cambia de tile
Pero claro, para según qué cosas, es más o menos rápido. Yo recuerdo haber usado el scroll de Fenix, y al sustituirlo por un proceso, ir más rápido, cuando a partir de la 0.9x y en Bennu es al revés.
PD: recuerdo que alguien había adaptado el ejemplo que venía en Fenix a Bennu, ahí traía unos cuantos apartados para medir el rendimiento.
PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%
Marcadores