************************
*      Fenix GP2X      *
*        Beta 6        *
************************

Portado de: http://fenix.divsite.net
Por: Israel Lpez Fernndez (Puck2099)
Website: http://www.gp32wip.com
Contacto y donaciones (Paypal): puck2099@gmail.com
Basado en parte en el port de Fenix de Chui para la GP32 y controles gracias a la
minilib de Rlyeh.
Tests obra de Joanvr.
Shoot obra de devlkore.

Por favor, si quieres incluir el runtime con tu juego incluye tambin estos archivos leeme.txt
y readme.txt

Qu es el Fenix?
-----------------
Es un intrprete para jugar a juegos realizados en dicho lenguaje de programacin. Aparte de
poder usar los juegos creados en Fenix especficamente para la GP2X, tambin es posible usar
los creados para la GP32 sin necesidad de recompilarlos.

Cmo lo instalo?
-----------------
Descomprime los archivos en cualquier lugar de la tarjeta SD. Dentro de la carpeta Fenix vienen
varios tests y un minijuego de muestra para comprobar su funcionamiento. Si quieres aadir
nuevos juegos, edita uno de los archivos .gpe que acompaan el juego y crea otro basado en l
para lanzar el nuevo juego.

Est disponible el cdigo fuente?
----------------------------------
S, tal y como exige la licencia GPL, podis descargar el cdigo fuente en mi propia
pgina web. Eso s, aviso que los cambios realizados no estn lo suficientemente
"limpios" ni documentados. 
Si queris hacer algn cambio, por favor, os agradecera que contactrais primero
conmigo para no trabajar dos personas en solucionar los mismos problemas :)

Parmetros:
----------
Este nuevo runtime incorpora la posibilidad del paso de parmetros a travs del script usado en
cada juego. El uso sera el siguiente:

./fxi juego.dcb [opciones]

Donde en opciones podis usar los siguientes flags:

    * -nosplash -> Se salta la splash screen con informacin sobre la versin del runtime y 
                   velocidad de ejecucin. Si no os gusta la imagen de fondo o queris
                   personalizarla, podis poner una imagen con el mismo nombre que el ejecutable y
                   extensin bmp, jpg, gif o png (por ejemplo, si el juego se llama bang.dcb, la
                   imagen se llamara bang.png) en el mismo directorio que dicho ejecutable.
    * -sXXX -> Define la velocidad a la que se ejecutar el runtime (200 Mhz si no se especifica
               este parmetro). XXX corresponde a la velocidad en Mhz, por ejemplo, -s245 pondr la
               consola a 245 Mhz mientras se juegue.
    * -gp32 -> Arranca la consola en modo GP32, es decir, controlando el volumen automticamente
               con los botones VOL+ y VOL-. Este modo se activa por defecto.
    * -gp2x -> Arranca la consola en modo GP2X, con control total sobre todos los botones.


El overclocking est limitado de 133 a 300 Mhz, con los siguientes valores debera funcionar
(siempre que lo aguante vuestra consola), pero los intermedios ya no lo s...
133, 150, 166, 180, 200, 225, 233, 245, 250, 255, 260, 265, 266, 270, 275, 280, 285, 290, 295 y 300.

Controles:
----------
Este port admite dos modos de juego: el modo "nativo" y el modo "emulado".

En el modo "nativo", solo para la GP2X, hay que programar los juegos tomando el control como
si fuera un joystick de 19 botones, con las mismas correspondencias que en las SDL, como puede
verse en: http://wiki.gp32spain.com/index.php/Mapeo_del_joystick_en_SDL

En el modo "emulado" el port reconoce la pulsacin de ciertas teclas de un teclado y las emula
con sus propios botones con la siguiente correspondencia:
Cursores -> pad
ctrl -> A
alt -> B
return -> START
space -> SELECT
backspace -> L
tab -> R
x -> X
z -> Y
a -> VOL-
s -> VOL+
c -> CLICK

Cambios en Fenix GP2X:
----------------------
Beta6:
------
- Aadido soporte para pantalla tctil (usable a travs de variables mouse.x, mouse.y y mouse.left).
  Gracias a Eclipse, Joyrider, Hangman, Lithosphere, Propeller, Paeryn, DJWillis y Joanvr por sus aportes
  para interpretar la pantalla tctil.
- Modificado el volumen de sonido a la mitad si detecta que se ejecuta en una F200.

Beta5 (privada):
----------------
- Aadido MMU Hack.
- Ms cosas que ahora no recuerdo...

Beta4:
------
- Implementada posibilidad de cambiar la frecuencia del procesador de 133 a 300 Mhz.
- Uso de funciones de manejo de memoria en ensamblador para mejorar algo la velocidad de estas
  operaciones.
- Implementada "splash screen" configurable con informacin de la versin (si quieres cambiar la
  imagen por una propia, aade una imagen en formato bmp, gif, jpg o png en la misma ruta y con el
  mismo nombre que el .dcb).
- Eliminado el uso del archivo .conf para seleccionar el uso de los botones de volumen, ahora se
  indica mediante parmetros.
- Implementada "salida forzosa" (con L+R+CLICK) para los juegos (principalmente de GP32) que no
  la llevan por software.
- Solucionado bug que afectaba a funciones matemticas (sin, cos, abs...) y haca que siempre
  devolvieran 0.
- Solucionado bug que mostraba todo el texto en pantalla en minsculas.
- Solucionado bug que no salvaba realmente los datos a la SD cuando era requerido.
- Aumentada la compatibilidad con muchos juegos, ya funcionan juegos como Maniac Race, Yetti, 
  Xenon, Castle of Dr. Malvado...

Beta3:
------
- Nuevo aumento de velocidad respecto a la ltima versin (Beta2). Ahora es ms rpido que el
  port de GP32 en todos los tests que me pas Joanvr. Os dejo una tabla comparativa de velocidad
  para que veais en el archivo tests_fenix.txt.
- Solucionados problemas de compatibilidad de sonido con el nuevo firmware 1.4.
- Conversin automtica de llamadas a ficheros en minsculas. Ahora funcionan los juegos que no
  tiraban porque en su cdigo se hacan llamadas a ficheros en maysculas (cosa que no soporta el
  sistema VFAT de la GP2X) como era el caso de Pulplife, Yetti, etc.
- Implementado control de volumen de forma interna. Ahora por defecto los botones VOL+ y VOL-
  servirn para subir o bajar el volumen del juego. Sin embargo, es posible editar el archivo de
  texto con el nombre del .dcb pero extensin .conf que se generar la primera vez que se ejecute
  el juego y poner el valor "gimme_vol_buttons=0" a 1 para ignorar el control automtico de volumen
  y disponer de esos botones libremente.
- Solucionado (al menos aparentemente) el problema de reduccin drstica de velocidad al
  reproducirse MODs de gran tamao.

Beta2:
------
- Corregido bug con las diagonales, ahora se usan las minilib de Rlyeh para emular el control.
- Intercambiado el uso de los botones L y R para ser igual que en la GP32.
- Disminuidos los retardos en los efectos sonoros.
- Aadidas optimizaciones en el uso de floats que aumentan la velocidad en ciertos casos.

Beta1:
------
- Primera versin.
