************************************

	PituKa V1.0d
	Final Public Release

************************************

Los Amstrad CPC eran una serie de micro ordenadores de 8bits lanzada  a partir del 21 de junio de 
1984.  Dichos ordenadores se caracterizaban por venderse como un paquete completo, incluyendo un 
monitor ya fuera color o de fosforo verde y un medio de almacenamiento.  Los modelos cuyo numero 
comienza  por 4 llevan como medio de almacenamiento un lector de casette y los que comienzan por 
6, una disquetera de 3". CPC era el acrnimo de "Colour Personal Computer". Dicha serie de 
ordenadores se componia de los modelos siguientes:

-	Amstrad CPC 464, 64Kb de RAM
-	Amstrad CPC 472, 64Kb de RAM slo puesto a la venta en Espaa
-	Amstrad CPC 664, 64Kb de RAM
-	Amstrad CPC 6128, 128KB de RAM

La serie CPC fue muy popular en Europa, principalmente en Reino Unido, Francia, Espaa y Alemania
(donde se vendieron bajo marca Schneider). Los CPC fueron la puerta de entrada en el mercado 
informatico de Amstrad plc., empresa que llego a dominar el mercado europeo con sus PC 1512 y 1640.
Se estiman unas ventas de unas 2 millones de unidades.


Estamos ante una maquina que fue aprovechada al maximo con su procesador Z80 a 4mhz y sus 4 canales
de sonido, que permitian ambientar perfectamente los juegos; un chip grafico muy avanzado para su 
epoca: varios modos graficos, cambios de resolucion en caliente... A pocas maquinas se les ha 
sacado tanto jugo como al CPC, sobreviviendo mas de 10 aos y siendo querido y reconocido por dos
generaciones de que aun hoy dia lo recuerdan con nostalgia.


 Acerca de Pituka:
===================

PituKa es un emulador para la consola porttil Gamepark GP32 del Amstrad CPC6128.

El objetivo de este emulador era conseguir la emulacion mas perfecta que se pudiera conseguir en
nuestra portatil y esa ha sido mi maxima durante este mes de programacion dedicada al 100% a crear
este emulador. Hay muchas horas en el, ya que conseguir una compatibilidad del 100% de los juegos
creados para el CPC 6128, y ademas reducir de los 500Mhz necesarios para emular el CPC en un PC de
sobremesa a poder ejecutar a 156Mhz cualquier juego de CPC al 95% (*) (salvo contadas excepciones al
90%) ha sido en ocasiones un gran desafio, y mas teniendo en cuenta que ha sido mi primer emulador,
La unica pega actual es que el sonido digital no he conseguido emularlo perfectamente, todo lo demas
esta ahi Efectos, raster, 4 canales de musica, y mucha diversion ;)

Mi deseo es que todos disfruteis con el emulador y los que no conozcan esta maravillosa maquina,
puedan disfrutar de ella, no hay mas que ver que hoy dia aun siguen saliendo remakes de juegos
creados hace muchos aos, nada mas ver los lanzamientos de GBA de remakes de NES...

(*) Comprobado con un CPC REAL junto a la GP32, no usando un emulador que a veces van algo mas "sueltos".

Novedades en la Version 1.0 (y probablemente mi ultima version):
- Soporte para ChatBoard. (Driver: 21 Aug 2004 - Mirko Roller)
- Autorun de ficheros desde el Explorador.
- Liberado Codigo Fuente.
- Configuracion individual de teclas por juego (ROM/DSK/SNA).
- Soporte SNA desde el Explorador.
- Multiples fixes, que finalmente no mejoran la velocidad pero si la estabilidad.

Mejoras en esta Edicion Especial (0.8E):
- Mejorado el Explorador de DSK (USA LEFT< >RIGHT PARA AVANZAR DE 8 en 8).
- Soporte SNA.
- Soporte para gravar partida.
- Mejorado la emulacion de Joystick (Arreglados algunos fallos).
- Mejorada la carga del fichero de configuracion (Arreglados algunos fallos).
- Creacion automatica de los directorios necesarios.
- Algunas mejoras en la emulacion, hemos ganado unos fps ;)

Las caracteristicas generales de PituKa:

- Soporte para imgenes de disco (DSK)
- Monitor color y fsforo verde
- Sonido multicanal y mezcla en tiempo real.
- Emulacion de CRTC real, efectos raster, vsync, hsync...
- Emulacion de teclado / Joy
- Tres modos de configuraciones del pad, para dar mas opciones al jugador.
- Posibilidad de guardar tus configuraciones.
- Led de carga de discos.


 INSTALACION:
==============

 - COPIA PituKa_XX.fxe a  GP:\GPMM.
 - Crea un nuevo directorio para tus ROMS (ficheros DSK) en: GP:\GPMM\AMSTRAD\DISKS y copialos.
	De todas formas PituKa cuando lo inicias la primera vez, crea la estructura necesaria:

		GPMM
		|
		------> AMSTRAD <------	(SE GRABA EL FICHERO CFG AHI)
			|
			--------> DISKS (PON LAS ROMS AQUI )
			|
			--------> SNAPS (AQUI SE GUARDAN LAS PARTIDAS)
			|	    |
			|	    ------> CFG (CONFIGURACIONES DEL PAD PARA LOS JUEGOS)
			|
			--------> SCREENS (TUS CAPTURAS)


 - Feliz emulacion ;D   

 
 CONTROLES:
============

 Hay 3 modos de funcionamiento del PAD mas el CHATBOARD que es detectado al inicio:

	MODO 1 JOYSTICK: (ASI INICIA EL EMU)
		
		GP32		:	AMSTRAD
		-------------------------------------
		<>^v (PAD)	:	DIRECCIONES 		
		(A)		:	[DISPARO]
		(B)		:	[ESPACIO]
		(SELECT)	:	-NADA- 
		(START)		:	PAUSAR EMULACION / MENU
		(L)		: 	CAPTURAR PANTALLA (de 1 a 255 diferentes).
		(R)		:	CAMBIAR A SIGUIENTE MODO



	MODO 2 TECLADO:
		
		GP32		:	AMSTRAD
		-------------------------------------
		<>^v (PAD)	:	MOVERSE POR LAS TECLAS
		(A)		:	INTRODUCIR CARACTER SELECCIONADO
		(B)		:	REMAPEAR TECLA ACTUAL AL BOTON DEL PAD SELECCIONADO
		(SELECT)	:	INTRO  (Un Enter especial, mira abajo)
		(START)		:	CAMBIAR BOTON DEL PAD A CONFIGURAR
		(L)		: 	SHIFT / MAYS (MAYUSCULAS)
		(R)		:	CAMBIAR A SIGUIENTE MODO



	MODO 3 USUARIO: (CFG POR DEFECTO)
		
		GP32		:	AMSTRAD
		-------------------------------------
		<>^v (PAD)	:	CURSORES
		(A)		:	[A]
		(B)		:	[ESPACIO]
		(SELECT)	:	[H]
		(START)		:	PAUSAR EMULACION / MENU
		(L)		: 	-NADA-
		(R)		:	CAMBIAR A PRIMER MODO

	CHATBOARD:
		GP32		:	AMSTRAD
		-------------------------------------
		[A-Z] 		:	[A-Z]
		[<- ]		: 	[BORRAR]
		[1-0]		:	[1-0] (Es decir que son equivalentes)
		[ESPACIO]	:	[ESPACIO]

		TECLAS ESPECIALES:
		[<]		: 	[BLOQ. MAYUSCULA]
		[>]		:	[INTRO]
		[SMS]		:	[RE-DETECTAR CHATBOARD]

          Problemas detectados con el CHATBOARD:
          -------------------------------------
           Lo primero comentar que estos problemas no son culpa del emulador sino del 
	   soporte que tenemos es aun muy preliminar (aunque perfectamente estable), 
           los problemas detectados son:

            PROBLEMA: El emulador detecta mi CHATBOARD que esta perfectamente conectado
		      pero en la emulacion no responde.
	    SOLUCION: Pulsa SMS para detectarlo.

	    PROBLEMA: Cuando estoy un rato sin usar el CHATBOARD las teclas no responden!
	    SOLUCION: Pulsa de nuevo SMS para redetectarlo.


	    PROBLEMA: Dejo pulsada una tecla pero la tecla no tiene repeticion por que?
	    SOLUCION: Es problema del driver que no tiene Key-Repeating, sorry :(


	EN MENU:
		A 	- ACEPTAR OPCION

		START	- VOLVER A EMULACION

		B	- VOLVER ATRAS
			- SELECCIONAR UNA ROM SIN ACTIVAR AUTORUN.


 EJECUTAR UN JUEGO USANDO AUTORUN:
===================================
	PituKa emula un CPC REAL e incluso en el codigo del autorun he querido ser preciso, para 
	cargar un disco y activar el AUTORUN, desde el menu principal sigue estos pasos:
	- INSERT DISK -> [A]
	- Selecciona la Rom que deseas cargar con [A] (que no sea SNA evidente que son savegames).
	- Ahora aparece la lista de ficheros posibles a cargar, normalmente debes seguir este orden
	  de prioridad: BAS -> BIN -> . (SIN EXTENSION) -> |CPM
	- Sino vieras un BAS, buscas un BIN y asi... sino hubiera ninguno entonces el juego se 
	  cargaria con |CPM
	- Una vez elegido el fichero de carga, volverias al menu principal y solo queda resetear el CPC
	  si estabas con algun juego cargado y pulsar [START] para volver a la emulacion.

	- En algunas ocasiones aunque no he dado con el problema exacto por falta de tiempo (lo siento)
	  seleccionas el fichero lo haces todo pero cuando vuelves a la emulacion no salta el AUTORUN,
	  para que aparezca el texto automaticamente solo tienes que cambiar el MODO con [R] y listo :D


 EJECUTAR UN JUEGO SIN AUTORUN:
================================
	
	PituKa emula un CPC original, lo que quiere decir que para ejecutar un juego debes hacerlo
	como si estuvieras en un CPC real. Con la suerte que en esta nueva version los poseedores de
	un CHATBOARD lo tienen mas comodo ;)

	Para jugar a un juego solo debes introducir el disko seleccionandolo con la [B] del PAD y 
	teclear dos comandos basicos, vamos a ello paso a paso:
		- Para introducir un disco pulsa [START] y entra en el menu: INSERT DISK
		- Selecciona un DSK y apareceras de nuevo en el menu principal, ahora pulsa [START]
			para volver a la emulacion.

		- Ahora tenemos que saber que hay dentro del disco, facil: ve al teclado virtual 
			con [R] y teclea [C][A][T] y pulsa [SELECT] para que ejecute tu comando.

		- Ahora veras aparecer una lista de ficheros, la extensiones que nos interesan son
			de mayor a menor importancia: .BAS, BIN, o sin extension directamente. 
			Ej: ABADIA.BAS, GRYZOR.BIN, TETRIS.

		- Lo primero es escribir [R][U][N]["] que dira que fichero deseas "Correr"
			o Ejectutar. Hay un truco para hacer esto mas rapido, lee mas abajo.
			Siendo ["]: la combinacion de [L] y la tecla [2].


		- Ahora escribe el nombre, junto con la extension (si te quieres asegurar), por
			ejemplo: [G][R][Y][Z][O][R][.][B][I][N] y pulsa [SELECT].

		- Ahora os voy a contar un truco, si pones solo el nombre, vamos a ejecutar el
			JetSet Willy: [J][E][T][.][B][A][S], ahora ve a los cursores y pon este al
			principio de lo que acabas de teclear (marcada la [J]). Ahora ve a [CTRL]
			y pulsa [A] y sin soltarla [SELECT]... TACHAN! aparace solo el RUN" ;)

		- Existen juegos no necesitas poner RUN"... para ejecutarlo sino |CPM son faciles
			de detectar ya que cuando pones CAT, te dan un error (Ignore, Cancel...)
			eso kiere decir que estan protegidos, pero no te preocupes estos discos 
			son aun mas faciles de ejecutar solo debes poner:
			[|][C][P][M] y pulsar [SELECT]
			Siendo [|]: la combinacion de [L] y la tecla a la derecha de la P (si te 
			fijas hay un palito, heheh).


 Como se guarda la configuracion de las teclas.
================================================
 La filosofia que sigue el codigo de "Guardado de Teclas Unico por Juego" es:
	- Una configuracion distinta por DSK/SNA.
	- La configuracion se guarda y se carga cada vez que cambias de ROM.
	- Si la ROM no tiene configuracion anterior se crea una nueva con la actual
	  y se carga nuevamente.
	

 Lo que me hubiera gustado tener en esta 1.0
=============================================
 He estado meses intentando cambiar el sonido para tener mejor soporte pero parece que no di 
 con la forma adecuada, o se me escuchaba muy mal o directamente la emulacion se volvia lentisima...
 de todas formas como habeis visto se va a liberar el codigo para que se aporten otros puntos
 de vista ;)

 No obstante no creo que podamos tener mejor sonido (y mas rapido) hasta que no ataquemos al Z80
 asi que si os animais a toketear el PituKa empezad por ahi... En los foros de GP32spain.com se 
 comento que podiamos preguntar a Reesy si podia el aplicarlo (me paso su CORE de Z80 pero no he 
 sido capaz de aplicarlo alguien se anima a comentarselo? ;)

 Cosas rapidas y faciles de implementar que se han quedado en el tintero:
	- Ordenar ROMS por nombre.
	- Soporte para directorios.
	- Key repeating en el vkeyboard.

 Algunos juegos recomendados:
==============================


DEPORTES
-----------
Fernando Martin
Match Day 2
Tenis 3D
Colossus Chess
Cyrus II Chess
Summer Games
Winter Games
Emlyn Hughes
Michel
Mundial de Futbol
Simulador de Tenis
Perico Delgado



VIDEOAVENTURAS
---------------
La Abadia del Crimen
Head Over Heels
Batman 3D (John Ritman)
Rambo 3
Dustin
The Great Escape
Knight Lore
Pijamarama
Myth: History Making
3 weeks in paradise
Mortadelo y Filemon I
Last Ninja 2
Livingstone Supongo
Sir Fred
Inside Outing 
Fairlight
Navy moves
Shadow of the Beast


ARCADE
---------
Gryzor (Aka Contra)
Turrican II
Renegade I y II
Super Sprint
Zona 0
Year Die Kung Fu
Kungfu Master
Ikari Warrirors
The Way of the Exploding Fist
Commando
Shinobi
Strider 1 y 2
Psycho Pig Uxb
Oh! Mummy
Gunfright
Tempest
Barbarian I
Prohibition


Estrategia-Puzzles
-------------------
Lords of Midnight
North and South
Elite
Sentinel
Archon 2
Deflektor
Puzznic
Night Shift
High Steel
Spindizzy
Boulder Dash
Spherical
Solomons Key


PLATAFORMAS
------------------
Rick Dangerous
Manic Miner
Abu Simbel
Las Tres Luces de Glaurung
Vampire: Phantomas 2
Prince of Persia
Prehistorik II
Antiriad
Jet Set Willy 
Rodland Series
Bomb jack
Bubble Bobble
Rainbow Islands


MATAMATA
--------------
Nemesis
R-type
Zynaps
Psyborg
1942
Afterburner
Thanatos
Empire Strikes Back
Army Moves
virus
Space Harrier 2
Silk Worm
Monty Phyton's Fliying Circus
Defend or Die


RPGs
--------
Bloodwych
Bard's Tale
Heroes of the Lance
Hero Quest
Space Crusader
Rogue


OTROS
-------
Teenage queen
Sherman M4
Fighter Bomber
Total Eclipse
Castle Master
Dark Side


 Donde conseguirlos y mas material:
====================================

http://andercheran.aiind.upv.es/ftp/pub/cpc/ftp.nvg.unit.no/games/ (European CPC Server)
http://cpcgamereviews.com/a/index.html (Comentarios de Juegos de Amstrad CPC - Ingles)



 TODO:
=======
0.	Usar el ASM/ARM9 z80 Core de Ressy (aumentara la velocidad)
1. 	Mejor emulacion del PSG de CPC (Sonido digital)
2. 	Grabacion en los dsk
3. 	Soporte ZIP
4. 	Soporte CDT


Un Saludo
	D_Skywalk

http://gp32.dantoine.org	

PituKa se baso en Caprice 4.1.0

Introduccion: Vnomis & D_Skywalk

Traduccion al ingles: Vnomis & D_Skywalk.

Beta-Testers: WonderBoy & Antiriad.

Menu-Artwork por Antiriad & D_Skywalk.

Gracias a:  	Rlyeh, kotah, Franxis, Una-i 
		Damizean, Pelayo, vnomis, Wonder_Boy
		K-teto, Fagotero, Hexdump, A600
		Azareus (Compadre), finty 
		a todos los que han donado al proyecto
		a mi madre, novia y su Osita de peluche: PituKa
		a la gente de #gp32dev en efnet & Irc-Hispano :D

Correo: dantoine@gmail.com