
==================================================================
MAME GP2X 2.3 (07 de Mayo de 2006) por Franxis (fjmar@hotmail.com)
==================================================================


1. INTRODUCCIN
---------------

Se trata de un port para la consola portatil GP2X del emulador MAME 0.34 de Nicola Salmoria.
Para ver la licencia del MAME, mira el final de este documento (captulo 16).

Emula casi todas las recreativas soportadas por el MAME original.

Esta versin emula 1128 romsets distintos.

http://www.talfi.net/gp32_franxis/


2. CONTROLES
------------

Los controles del emulador son: 
- Joystick: Movimiento de pad, ratn y control analgico de joysticks 1, 2, 3 y 4. 
- Botones A,Y,B,X,L,R,VolUp,VolDown,PUSH,START: Botones A,B,C,D,E,F,G,H,I,J.
- Botn SELECT: Insertar crditos. (SELECT+Arriba=crditos 2P, SELECT+Derecha=crditos 3P, SELECT+Abajo=crditos 4P)
- Botn L+R: Cambio de orientacin de pantalla y activacin/desactivacin del scaling/stretch de pantalla.
- Botn L+R prolongadamente durante un segundo: Pausa.
- Botn START: Jugar. (START+Arriba=Start 2P, START+Derecha=Start 3P, START+Abajo=Start 4P)
- Botones L+R+PUSH simultaneamente: Salir del juego para elegir otro de los disponibles.
- Botn START+SELECT simultaneamente: Resetear el juego.
- Botones VolUp y VolDown: Incrementa y decrementa el volumen del sonido.


3. OPCIONES DEL EMULADOR
------------------------

Despus de seleccionar un juego de la lista desde el frontend, aparecen las siguientes opciones:

- GP2X Clock:
Cambiar la frecuencia de reloj de la consola GP2X: Se pueden seleccionar valores entre 200 y 300 MHz.
El rendimiento del emulador es mayor cuanto mayor sea este valor. El valor por defecto es 200 MHz.
Un valor de 250 MHz parece funcionar OK con todas las consolas GP2X (aunque la duracin de las bateras se reduce).
Se pueden seleccionar frecuencias ms altas, pero usa estas opciones bajo tu propia responsabilidad!.

- Frame-Skip:
Cambiar el frame-skip: Se puede seleccionar de 0 a 5 de frame-skip. A menor frame-skip
ms frames de video por segundo y el juego se v mejor, pero el emulador se relentiza.
Un valor entre 1 y 2 dependiendo del juego es el adecuado en principio.
Adems se han incluido opciones de auto frame-skip: <=1, <=2, <=3, <=4, <=5 (En estos casos el frame-skip
es automticamente ajustado por el emulador, hasta el mximo frame-skip seleccionado).

- Video Clock:
Permite realizar underclock / overclocking de los procesadores emulados.
Por defecto es un 80%, aunque d problemas con algunos juegos (i.e. Trojan, Breakthru, Mikie, Super Qix, ...)
El valor perfecto es 100%, pero el emulador se relentiza. El emulador es ms rpido cuanto ms pequeo sea
este valor y ms lento cuanto ms grande sea.

- Video Sync:
Permite configurar las opciones de sincronismo de video.
None: Sin sincronismo de video.
DblBuf: Doble buffer de video.
VSync: Sinconizacin de video por VSync.
VSync+DblBuf: Ambas opciones activadas.

- Sound:
Sound ON: El sonido del MAME activado.
Sound OFF: El sonido no esta emulado internamente y esta desactivado. El emulador as es lo ms rpido
posible por ahora.
Emulated OFF: El sonido esta emulado pero desactivado.
Accurate ON: El sonido esta activado y es de mejor calidad.

- Audio Clock:
Permite realizar underclock / overclocking de los procesadores de audio emulados.
Por defecto es un 80%, aunque d problemas con algunos juegos (i.e. Trojan, Breakthru, Mikie, Super Qix, ...)
El valor perfecto es 100%, pero el emulador se relentiza. El emulador es ms rpido cuanto ms pequeo sea
este valor y ms lento cuanto ms grande sea.

- Controller Configuration:
Permite cambiar la definicin de los controles (asignacin de botones de disparo), sensibilidad de los controles
analgicos e inversin de ejes X e Y, la opcin de auto-fire, etc.

- Save Configuration:
No Save Configuration: No salva la configuracin del juego.
Save Configuration: Salva la configuracin para el juego.
Save as Default: Salva la configuracin para que sea la de por defecto para todos los juegos.

- Pulsa A para jugar al juego seleccionado  B para volver al frontend para seleccionar otro distinto.

- En el frontend si se pulsa L+R simultaneamente, la GP2X se resetea.


4. INSTALACIN
--------------

/mamegp2x/mame_gp2x.gpe			-> Frontend general de seleccin de juegos
/mamegp2x/mame_gp2x_compatible.fxe	-> Frontend general de seleccin de juegos (ms compatible).
/mamegp2x/mame_gp2x_fast.fxe		-> Frontend general de seleccin de juegos (ms rpido, con core DrZ80).
/mamegp2x/cfg/				-> Ficheros de configuracin
/mamegp2x/hi/				-> High Scores
/mamegp2x/roms/				-> Directorio de las ROMS, en ficheros ZIP.
/mamegp2x/skins/			-> Directorio de skins


5. JUEGOS SOPORTADOS
--------------------

En total son 1128 juegos soportados. Para ms detalles ver el fichero "gamelist.txt".
Los juegos deben de ir dentro de la carpeta /mamegp2x/roms/ de la tarjeta SD.


6. NOMBRES DE LAS ROMS
----------------------

Los nombres de los ficheros ZIP pueden comprobarse en el fichero "gamelist.txt".
Los romsets deben de ser los del MAME 0.34 versin final (diciembre 1998).

Para convertir los romsets desde otras versiones distintas del MAME, utiliza el fichero
"clrmame.dat" junto con el gestor de ROMS ClrMAME Pro, que se puede descargar desde la web:

http://www.clrmame.com/

NOTA: Los nombres de ficheros y directorios en Linux son case-sensitive. Pon todos los nombres
de ficheros y directorios en letras minsuculas.


7. CREDITOS ORIGINALES
----------------------

- MAME 0.34 original para DOS por Nicola Salmoria y el MAME Team (http://www.mame.net).

- Z80Em Portable Zilog Z80 Emulator Copyright (C) Marcel de Kogel 1996,1997
  Note: the version used in MAME is slightly modified. You can find the
  original version at http://www.komkon.org/~dekogel/misc.html.

- M6502 emulator by Juergen Buchmueller.
	
- I86 emulator by David Hedley, modified by Fabrice Frances (frances@ensica.fr)
	
- M6809 emulator by John Butler, based on L.C. Benschop's 6809 Simulator V09.
	
- M6808 based on L.C. Benschop's 6809 Simulator V09.
	
- 80x86 asm M6808 emulator Copyright 1998, Neil Bradley, All rights reserved

- M68000 emulator taken from the System 16 Arcade Emulator by Thierry Lescot.

- 8039 emulator by Mirko Buffoni, based on 8048 emulator by Dan Boris.

- T-11 emulator Copyright (C) Aaron Giles 1998

- TMS34010 emulator by Alex Pasadyn and Zsolt Vasvari.

- TMS9900 emulator by Andy Jones, based on original code by Ton Brouwer.

- TMS5220 emulator by Frank Palazzolo.

- AY-3-8910 emulation based on various code snippets by Ville Hallik,
  Michael Cuddy, Tatsuyuki Satoh, Fabrice Frances, Nicola Salmoria.

- YM-2203 and YM-2151 emulation by Tatsuyuki Satoh.

- OPL based YM-2203 emulation by Ishmair (ishmair@vnet.es).

- POKEY emulator by Ron Fries (rfries@aol.com).
  Many thanks to Eric Smith, Hedley Rainnie and Sean Trowbridge for information
  on the Pokey random number generator.

- NES sound hardware info by Jeremy Chadwick and Hedley Rainne.

- YM3812 and YM3526 emulation by Carl-Henrik Skrstedt.

- YM2610 emulation by Hiromitsu Shioya.


8. CREDITOS DEL PORT A GP2X
---------------------------

- Port a GP2X por Franxis (fjmar@hotmail.com) realizado a partir del cdigo 
  fuente del MAME 0.34 versin final (con fecha diciembre de 1998).

- TheGrimReaper (m_acky@hotmail.com) ha colaborado en un montn de temas desde
  la versin GP32 MAME 1.3, por ejemplo en la librera de grficos vectoriales,
  el soporte para highscores, el lanzador general para todos los juegos, correcciones
  varias en el frontend, etc. Muchas gracias!

- Pepe_Faruk (joserod@ya.com) ha colaborado con el nuevo cdigo de centrado de pantalla.
  Con este todos los juegos aparecen correctamente centrados en la pantalla de la GP2X.
  Un gran comienzo gracias!.

- Reesy (drsms_reesy@yahoo.co.uk) ha desarrollado el DrZ80 (Z80 ASM ARM core) y ha modificado
  el core para hacer posible la integracin en el MAME. Eres el mejor!. Tambin Flubba ha
  hecho algunas optimizaciones.

- Dave (dev@finalburn.com) ha desarrollado el Cyclone (M68000 ASM ARM core).
  Adems Reesy (drsms_reesy@yahoo.co.uk) y Notaz (notasas@gmail.com) han corregido algunos de
  los fallos en el cdigo fuente. http://uosis.mif.vu.lt/~grig2790/Cyclone/

- Chui (sdl_gp32@yahoo.es) ha realizado MAME4ALL, el port de MAME GP2X a Dreamcast, Windows y
  Linux. Y ha realizado importantes optimizaciones y mejoras aplicables a todas las plataformas.
  http://chui.dcemu.co.uk/mame4all.html

- Slaanesh (astaude@hotmail.com) ha continuado my trabajo en el MAME GP32 y ha realizado muchas
  mejoras aplicables a todas las plataformas.
  http://users.bigpond.net.au/mame/gp32/


9. DESARROLLO
-------------

07 de mayo de 2006:
- Version 2.3: Bugfix. Aadido core H6280.

01 de mayo de 2006:
- Version 2.2: Merge con el MAME4ALL de Chui.

07 de abril de 2006:
- Version 2.1. Optimizaciones.

26 de marzo de 2006:
- Version 2.0. Correccin de fallos varios. Aadido soporte para 32 Mb de RAM extra.

16 de marzo de 2006:
- Version 1.9. Correccin de fallos varios. Aadido soporte para 16 Mb de RAM extra.

05 de marzo de 2006:
- Versin 1.8. Correccin de fallos varios. Aadida opcin de auto-fire.

23 de febrero de 2006:
- Versin 1.7. Correccin de fallos varios. Aadido soporte para TV-Out.

18 de febrero de 2006:
- Versin 1.6. Correccin de fallos varios. Aadida opcin de overclocking y de grabacin de config.

05 de febrero de 2006:
- Versin 1.5. Escalado de pantalla por hardware. Nuevos juegos soportados (MAME 0.35b3)

23 de enero de 2006:
- Versin 1.4. Nuevos juegos soportados (MAME 0.35b1-b5).

08 de enero de 2006:
- Versin 1.3. Mejoras en la compatibilidad del Cyclone.

02 de enero de 2006:
- Versin 1.2. Soporte para el romset completo de MAME 0.34

28 de diciembre de 2005:
- Versin 1.1. Ms rpido y mejor sonido.

24 de diciembre de 2005:
- Versin 1.0. Primera versin.

Desarrollado con:
- DevKitGP2X rc2 (http://sourceforge.net/project/showfiles.php?group_id=114505)
- GP2X minimal library SDK v0.A by Rlyeh (http://www.retrodev.info/)
- GpBinConv by Aquafish (www.multimania.com/illusionstudio/aquafish/)


10. FALLOS CONOCIDOS
--------------------

- Sonido no perfecto  incompleto en algunos juegos.

- Lentitud en los juegos ms modernos.

- Consumo de memoria si se cargan varios juegos consecutivos, sobre todo si
hay algn error durante la carga  la emulacin de los juegos. En ese, caso...
reset plis ;-).


11. A MEJORAR
-------------

- Uso del segundo micro de la GP2X.

- Programacin en HH pasando del Linux?.

- Mejorar el sonido.

- Mejorar la velocidad.

- Actualizar los ROMSets a los actuales del MAME,  actualizar a otra versin del
MAME ms reciente.

- Incluir soporte para ms juegos.


12. AGRADECIMIENTOS
-------------------

- TheGrimReaper: Gracias por el gran trabajo realizado con la librera de grficos vectoriales,
entre otras cosas. Eres el mejor!.

- Reesy: Gracias por el genial core Z80 ASM ARM (DrZ80).

- Pepe_Faruk: Gracias por el nuevo cdigo de centrado de pantalla ;-)

- Unai: Gracias Unai, por todas las horas ayudndome de madrugada con el MAME,
optimizaciones, etc...

- Dave, Reesy, Notaz: Gracias por el fantstico core M68000 ASM ARM (Cyclone).

- Chui: Gracias por el el MAME4ALL y todas las grandes optimizaciones y mejoras!!!.

- Slaanesh: Gracias por continuar mi trabajo en el MAME GP32 y por todas las interesantes mejoras!!!.

- Talfi: Gran amigo que me cede espacio en su web para mi port del MAME Para GP32.

- Chicho: Amigo del alma, tena f ciega en que el MAME iba a funcionar en la GP32... xD

- Anarchy (gp32spain.com): Gracias, Anarchy, por la GP2X de desarrollo que me mandaste para poder portar el MAME.

- GamePark Holdings: Gracias por sacar a la venta la consola GP2X, as como por prover varias
GP2X de desarrollo a disposicin de los programadores semanas antes del lanzamiento oficial de
la consola. Una de estas unidades ha llegado a mi por mediacin de Anarchy (gp32spain.com).

- Rlyeh: El amo y seor de la emulacin en GP32... Creador de GP2X minimal library SDK.

- Hermes PS2R: Gracias, Hermes, por la librera CpuCtrl de control de la frecuencia de reloj de la GP2X.

- Kounch: Informacin esencial para activar la salida de TV de la GP2X.

- Antiriad: Gracias, Antiriad, por el genial artwork para GP32 ;-).

- Zenzuke, Chipan, Dokesman, Enkonsierto, Quest, Sttraping y Sike por los skins artwork para GP2X :-).

- Flubba: Algunas optimizaciones en DrZ80 ASM Core.

- Baktery: Consejos con el sonido.

- Groepaz: Ms consejos con el sonido.

- Woogal: Gran ayuda con el frontend de seleccin de juegos. 

- Alien8: Creador del GpMameLauncher.

- LDChen: Ayuda con cdigo en ensamblador ARM para la librera de grficos vectoriales.

- D_Skywalk : Gracias a l el Multipac funcion y gracias a l aprend grandes cosas de la GP32.

- Locke : Buenos consejos, beta-testing...

- Sssuco, [MaD]: Gracias por conseguirme romsets de versiones antiguas del MAME, as como DATs.

- Ron: Esta como una cabra, pero un gran tipo ;-). El organizador de las MadriDC.

- Ilarri: nimo ;-).

- Fox68k: Ms buenos consejos.

- DaveC: Involucrado en la bsqueda de fallos en el port del MAME. Gracias ;-)

- Creature XL: Algunas pruebas en ASM para la salida de video.

- EvilDragon: Creador de la utilidad MAMEGP-COPIER y moderador de gp32x.com.

- WarmFluffyUK: MAME GP32 Compatibility List: http://www.berzerk.co.uk/gp32/

- BobBorakovitz, frolik, Alan: GameProbe32 webpage: http://gameprobe32.blogspot.com/

- La gente del canal #retrodev del IRC-Hispano, beta-testing: Xenon, Mortimor, Nestruo, Dj_Syto,
K-Teto, Enkonsierto, Soup, joanvr, amkan, etc.

- La gente del canal #gp2xdev de EFNet: DJWillis, Woogal, etc.

- Ms beta-testing: Locke, nullEX, Propeller, Ozius, etc.

- Richard Weeks: Gracias por una nueva entrevista sobre el port a GP2X:
http://mygp2x.com/blog_comment.asp?bi=246&m=12&y=2005&d=1&s=

- Keith: Gracias por otra nueva entrevista: http://www.emulation64.com/spotlights/22/

- Hooka: Gracias por la entrevista en ingls: http://www3.telus.net/public/hooka/

- Mark Rowley: Gracias por otra entrevista en ingls para GamePark Magazine 7:
http://www.gp32x.de/cgi-bin/cfiles.cgi?0,0,0,0,2,630

- Gladiator: Gracias por la entrevista en espaol y el gran reportaje dedicado a la GP32: 
http://www.viciojuegos.com/reportaje.jsp?idReportaje=131

- Gracias a todas las donaciones PayPal: EvilDragon (www.gp32x.de), Federico Mazza, Nandove, Videogame Stuff, Denis Evans, Ricardo Cabello,
  Elas Ballesteros, J.Antonio Serralvo Martn, bagmouse7, Suj, funkyferdy, Gieese, Vincent Cleaver, William Burnett, Bleeg,
  Martin Dolphin, Ilarri, Glen Stones, Dr.Konami, Augusto Carlos Prez Arriaza, Charles Box, Borochi, Kayday, George Tavoulareas,
  Timofonic, Fabrice Canava, Redox, Javitotrader, remowilliams, Scott Contrera, Jinhyun Seo, Anarchy (www.hardcore-gamer.net), 
  Craig (www.gp2x.co.uk), Shane Monroe, Simon Beattie, Stefan Braunstein, DaveC, Colin Bradshaw, Dana Rodolico, Revod, Michael Evers,
  Riccardo Pizzi, Fosfy45, Dj Syto, Rob Pittman, Stefan Mueller, Musa, Unai, Sascha Reuter, Globalwide Technologies Limited, 
  Juan Rivera-Novoa, Mark Carin, Julio Catalina Piedrahita, techFreak (www.gp2xtr.com), Darius Hardy, Charles Andre, Matt Brimelow,
  McOskar, SBock, Daniel PP Saurborn, Picayuco, Kojote (www.pdroms.com), Knoxximus, Tony Watterson, Matthew Forman, naples39,
  NEO (www.elotrolado.net), Patrick Mettes, Angel Molero Grueso, Lubidog, Smiths (www.emuholic.com), retromander, Ruben Villar,
  Snakefd99cb, Harkaitz, BZFrank, Sang Kim, phoda, Caesaris, Furanchu, Selcuk Cegit, K-Navis, Estao, Jeff Hong, Jasmot, Igboo,
  Sergio Onorati, Julien Perret, Cheap Impostor.


13. WEBS INTERESANTES SOBRE EL MAME
-----------------------------------

- http://www.mame.net/
- http://www.mameworld.net/
- http://www.marcianitos.org/


14. WEBS INTERESANTES EN GENERAL
--------------------------------

- http://www.talfi.net
- http://www.gp32x.com
- http://www.gp32spain.com
- http://www.emulatronia.com
- http://www.emulation64.com


15. SKINS
---------

El skin grfico utilizado en el frontend esta ubicado en los siguientes ficheros:
/mamegp2x/skins/gp2xsplash.bmp	-> Pantalla de presentacin
/mamegp2x/skins/gp2xmenu.bmp	-> Pantalla de seleccin de juegos y opciones
El diseo del skin ha sido realizado por Zenzuke.

Los bitmaps deben de ser 320x240 pixeles a 256 colores (8 bit). En la imagen del selector
de juegos, los textos se dibujan con el color 255 con un reborde inferior con el color 0.

He colocado en la carpeta /mamegp2x/skins/others/ varios skins alternativos realizados por
Zenzuke, Chipan, Dokesman, Enkonsierto, Quest, Sttraping y Sike. Gracias a todos ellos.


16. LICENCIA DEL MAME
---------------------

http://www.mame.net
http://www.mamedev.com

Copyright  1997-2005, Nicola Salmoria and the MAME team. All rights reserved. 

Redistribution and use of this code or any derivative works are permitted provided
that the following conditions are met: 

* Redistributions may not be sold, nor may they be used in a commercial product or activity. 

* Redistributions that are modified from the original source must include the complete source
code, including the source code for all components used by a binary built from the modified
sources. However, as a special exception, the source code distributed need not include 
anything that is normally distributed (in either source or binary form) with the major 
components (compiler, kernel, and so on) of the operating system on which the executable
runs, unless that component itself accompanies the executable. 

* Redistributions must reproduce the above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other materials provided with the distribution. 

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR 
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY 
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
