Wiiengine 1.4 (c) 2008, Francisco Muoz 'Hermes'

ATENCION: Este programa realiza escrituras en tu SD, crea directorios, renombra y borra ficheros usando libfat, por lo que es recomendable hacer un backup de la SD por si se produce una perdida de datos.


Arbol de directorios
----------------------
   
root
 |---apps
 |---roms
        |--pcengine
              |--saves -> save states, WRAM saves
              |--img  -> .bmp, frames captured
              |--syscard.pce -> system card by default (you must include it for CDROM support)
              |--Rtype.pce.bz2 -> a game rom in one .bzip file
              |--bomberman.zip -> other game rom in one .zip file
              |--dracX.iso -> a CDROM game (without audio tracks)
              |--favorites -> folder with your favorites roms
              |      |
              |      |--- afterburnII.zip 
              |      |......
	      |    
              |--draculaX -> folder with a CDROM game
                     |
                     |---- draculaX.toc -> CDROM descriptor file (load this)
                     |----- track1.ogg  -> audio track
                     |----- track2.iso  -> data track
                     |----- track3.ogg
                     | ......
        
Nota: la system card, puede estar comprimida en formato .zip (syscard.zip) o .bz2 (syscard.pce.bz2)

Version 1.5 (lo nuevo)
----------------------

Mejoras a nivel de programa
---------------------------

- Aadido soporte para cargar/salvar configuracion del programa

- Aadido soporte de memorias USB: Podeis usar ROMS desde dispositivo SD o dispositivo USB. Para cambiar de dispositivo,
  se utiliza una entrada ficticia en el directorio que se visualiza como [SD] o [USB], dependiendo del dispositivo

- Mejorado el soporte de LIBFAT. Ver: http://www.elotrolado.net/hilo_multi-libfat-con-cache-mejorada-v2_1102626

- Optimizado el mezclador del audio ya que se hacia en el mismo vector de interrupcion y eso poda provocar un cuelgue inesperado del emulador.

- Aadido soporte para Gamecube Pad  para manejarse en los menus:

       - Cruceta y Analogico izquierdo: Moverse por los mens
       - Boton A: Boton A en Wiimote
       - Boton B: Boton B en Wiimote
       - Boton X: Boton PLUS en Wiimote
       - Boton Y: Boton MINUS en Wiimote
       - Boton START: Boton HOME en Wiimote
 
- Mejoras en la asignacion de mandos y en autofire. Corregido un bug en libogc, en pad.c que hacia que fallase a veces la asignacion de mandos.
  Mira el fuente 'libogc' en la release.

Mejoras en la emulacion
-----------------------

- Aadido soporte para Gamecube Pad, con el siguiente mapa de botones:

       - Cruceta y Analogico izquierdo: cruceta de PCE
       - Boton A: Boton I de PCE
       - Boton B: Boton II de PCE
       - Boton X: Boton I de PCE con Autofire
       - Boton Y: Boton II de PCE con Autofire
       - Boton START: Boton Run de PCE
       - Boton Z: Boton Select de PCE
      
       - L + R + START: Menu configuracion
       - L + R + A:  Captura de imagen
       - L + R + Y: Baja el volumen
       - L + R + X: Sube el volumen

- Cambio en la prioridad de los modos del pad: en modo Inteligente los PAD de Gamecube se asignan de forma preferente. En el modo directo, se puede
  usar el PAD de gamecube simultaneamente al Wiimote si ambos tienen el mismo numero de asignacion.

CDROM:
------

 - Aadido soporte .bin para datos: se puede leer .iso (2048 bytes/sector)  o .bin (2352 bytes/sector)

 - Aadido soporte .hcd (el de los emuladores oficiales que se me coment)

 - Optimizada la lectura del audio para aligerar los tiempos.

 - Aadida opcion para salvar la posicion del audio de forma casi exacta (se acabaron las pistas de audio que empiezan desde el principio)

 - Mejora en la reproduccion de pistas, para evitar la repeticion continua donde no toca

 - Ajustado el lba para el problema del sonido que iba 2 segundos adelantado. (de todas formas, aviso que algunos programas no hacen bien la extraccion del audio y no generan bien el .cue)

Bincuesplit
-----------

- Mejorado el metodo de extraccion, detectando la posicion real de las pistas de datos para decidir la forma como se contabilizan los pregap y la situacion real en el CDROM..

- Aadida posibilidad de extraer los datos como .bin (por defecto. iso)

- Aadida la posibilidad de generar .hcd  (por defecto .toc)

- Codigo fuente liberado bajo licencia GPL Version 2

- Usos:

                   bincuesplit file.cue         |--> TOC format. Extract datas to .iso
		   bincuesplit file.cue bin     |--> TOC format. Extract datas to .bin
		   bincuesplit file.cue hcd     |--> HCD format. Extract datas to .iso
		   bincuesplit file.cue hcd bin |--> HCD format. Extract datas to .bin

                                                     --------------------------------------------

Version 1.4 
------------

- Aadido soporte ADPCM y emuladas algunas funciones de la CD BIOS

- Mejora de Savestate

Version 1.2
------------

- Aadida una opcion para salir al cargador desde la pantalla de seleccion de ROMs (Pulsa MENOS y confirma)

- Ahora puedes usar el boton MENOS como SELECT (recuerda que puedes usar el boton MAS para lo mismo)

- Aadida una opcion para intercambiar los botones RUN y SELECT (menu CONFIGURATION)

- El Nunchuck es soportado ahora: Usa el stick, A -> I , B -> II, PLUS & MINUS -> SELECT, 1 -> RUN (recuerda que puedes intercambiar RUN & SELECT 
                                                                                                   desde CONFIGURATION)

- Algunos juegos como Street Fighter 2 or Strip Fighter funcionan ahora sin corrupcion grafica.

- Corregidos algunos problemas con el sonido

Caracteristicas:
---------------

- Basado en gp2xengine, el emulador de PCengine que hice para gp2x y que incluye partes de Hugo y XPCE  entre otros.

- 512 entradas por directorio. El directorio principal debe ser :/roms/pcengine y se le puede aadir un nivel adicional con distintos juegos (i. e.  :/roms/pcengine/DraculaX con las pistas de datos/audio necesarias para el juego o :/roms/pcengine/favorites con tus juegos preferidos)

- Soporte  de PCengine roms en formatos .pce .bz2 o .zip. Compresor .bz2 incluido en el programa
para convertir los ficheros .pce a .bz2 desde el visor de ficheros.

- Soporte de CDROM en formatos .iso y .toc. El formato .toc es un fichero de descripcin que enlaza las distintas pistas de audio y datos, adems de poder asociar una ROM de sistema especfica para el juego. Las pistas de audio pueden ser en formato .wav o .ogg, a 22.5/44.1Khz stereo/mono 8/16 bits.  Para el soporte CDROM se necesita una system card.


- Se incluye la utilidad bincuesplit (de mi propia cosecha) para extraer las pistas de datos y audio desde una imagen de CDROM formada por un .cue y un .bin. El programa suministra el fichero .toc 
ya preparado y las pistas de audio comprimidas en formato .ogg  :)

- Soporte de hasta 4 mandos, mediante 4 Wiimotes con 2 modos de asignacin. El modo Inteligente (Intelligent) asigna los mandos segun se encienden en cualquiera de los mens (dentro del emulador
slo funcionar el botn HOME, si el mando no fue asignado previamente) en funcin de su numeracin y el nmero de mandos conectados (por ejemplo, el mando 2 podra corresponder al player 1, si slo hay un mando conectado). El modo Directo (Direct) asigna directamente la numeracin del mando con el numero de jugador.

- Posibilidad de programar los botones 1 y 2 para poder asignarlos a vuestro antojo o activar el autofire.

- Captura de fotogramas en formato .bmp y visor de imagenes .bmp. Para ello el emulador crea un directorio :/roms/pcengine/img donde las almacenar en secuencia numrica.

- Autosave de la WRAM. El juego guardar los datos en un fichero .wra al salir del mismo o pulsar los botones  RESET o POWER de la Wii, si procede en el directorio :/roms/pcengine/saves

- Soporte de Save States. Completo soporte que guarda todos los datos del juego (incluso cdrom), para poder recuperarlos de forma directa (cargado el .sav desde el directorio /saves/) o una vez cargado el juego, desde el men de configuracin. Los saves se almacenan en :/roms/pcengine/saves y utilizan compresion bzip para reducir el tamao del fichero.

- Soporta modos de video PAL/NTSC. Filtrado Bilineal para mejora de imagen.



CONTROLES
---------

Botones del mando en los menus: Los botones A/1  y B/2 tienen el mismo significado

En el PAD Digital, UP/RIGHT seleccionan hacia arriba y DOWN/LEFT hacia abajo

Visor de ficheros:
-----------------

UP/DOWN -> seleccion de ficheros

A/1-> ejecutar, ver bitmap, entrar/salir de directorios.

B/2 -> retornar al emulador (si hay un juego funcionando)

PLUS -> Comprimir ROMS (.pce ->.bz2)

HOME -> Borrar ficheros

Visor de BMP:

UP/DOWN -> .bmp anterior o siguiente.

A/B/1/2 -> Salir

Emulador:
--------

D.PAD -> PCengine D.PAD

A -> boton RUN

PLUS -> Boton SELECT

1 -> Boton 1 o 2 con o sin autofire (por defecto, boton 1). Seleccionable en Configuracion

2 -> Boton 1 o 2 con o sin autofire (por defecto, boton 2). Seleccionable en Configuracion

HOME -> Entrar en el Menu de Configuracin

MINUS+2 -> Captura un frame en formato .bmp

B+PLUS -> Sube el volumen del audio

B+MINUS -> Bja el volumen del audio

Menu de configuracion: 
---------------------

UP/DOWN -> Mover el cursor

A/1-> Accion

B/2 -> retornar al emulador


Input Mode: Modo de asignacion de PADS

Button 1/Button 2:  Programacin de los botones

Save Game State: Salva el estado del juego al completo

Load Game State: Recupera el estado del juego (puedes cargar tambien el fichero .sav desde el directorio /saves/)

Game Exit: Salir del emulador

Return: Volver al emulador (o pulsa B/2)


Ficheros TOC
------------

El formato toc es un formato exclusivo de este emulador que consiste en una lista de ficheros ISO (datos) y WAV (audio) u OGG

Los ficheros WAVs soportados, son de 22050Hz, 44100 Hz, 8 y 16 bits,  en MONO o STEREO. Se recomienda utilizar formato 22050Hz y 8 bits por razones de espacio y velocidad.

Los ficheros OGG a 44100Hz MONO o STEREO

Contenido de un fichero TOC: Las pistas de datos/audio van precedidas de la palabra Leadin y despues de la ultima pista, debe ponerse la palabra Leadout, sin dejar huecos entre lineas.

Antes de la palabra Leadin, puede haber comentarios (que no incluyan dicha palabra!) y se puede especificar la rom con un BIOS CDROM en particular de la siguiente forma:

syscard: supersystemcard_usa.pce

 en este caso, la system rom debe estar en el mismo directorio del .toc pero si se le aade el caracter '#'ser tomada desde el directorio :/roms/pcengine

Por ejemplo:

syscard: #syscard3.pce.bz2

Si no se aade la palabra clave syscard: se usar la syscard por defecto.

Despues puede venir la palabra Leadin y la lista de ficheros de la siguiente forma:

Leadin
track1.ogg
dracx-02.iso 
track3.ogg 
track4.ogg 
track5.ogg
.......
drackx-22.iso
Leadout

Se puede especificar la longitud de las pistas de audio (en minutos, segundos, frames) de la siguiente forma:

track3.wav 01:46:00

Para los datos .iso, este tiempo es ignorado ya que se utiliza la longitud de fichero directamente.

Se peude aadir un tiempo de silencio mediante la orden Pregap:

Pregap: 00:02:00
dracx-02.iso 


Se puede especificar la posicion (de tiempo) absoluta donde comenzar una pista de la siguiente forma:

Position: 00:47:65
dracx-02.iso 

pero debe cuidarse que la pista que la precede no solape sectores con esta. Por ejemplo, supongamos que la primera 
pista wav mide 48 segundos. Podemos especificar una longitud de tiempo menor, para evitar que se solape con los datos
de esta forma:

track1.wav 00:44:00
Position: 00:49:65
dracx-02.iso 

Importante: la primera pista, siempre comienza en 00:02:00 y el emulador ajusta la longitud a 00:47:65 si es menor que sta longitud.

Recuerda que puedes usar la utilidad bincuesplit para extraer los datos y el audio desde una pareja de ficheros cue/bin

Ejemplo 1: Calculo automatico (Dracula X)
-----------------------------------------

Leadin
track1.ogg
dracx-02.iso
track3.ogg
track4.ogg
track5.ogg
track6.ogg
track7.ogg
track8.ogg
track9.ogg
track10.ogg
track11.ogg
track12.ogg
track13.ogg
track14.ogg
track15.ogg
track16.ogg
track17.ogg
track18.ogg
track19.ogg
track20.ogg
track21.ogg
drackx-22.iso
Leadout




Ejemplo 2: Ajuste de longitud manual (Dracula X) y seleccion de una syscard
----------------------------------------------------------------------------

syscard: supersystemcard_usa.pce

Leadin
track1.ogg 00:48:00
dracx-02.iso 00:00:00
track3.ogg 01:46:00
track4.ogg 01:03:00
track5.ogg 01:36:00
track6.ogg 01:23:00
track7.ogg 01:04:00
track8.ogg 02:58:00
track9.ogg 01:43:00
track10.ogg 02:40:00
track11.ogg 01:41:00
track12.ogg 02:30:00
track13.ogg 02:27:00
track14.ogg 03:39:00
track15.ogg 02:25:00
track16.ogg 03:15:00
track17.ogg 01:29:00
track18.ogg 01:42:00
track19.ogg 02:00:00
track20.ogg 04:01:00
track21.ogg 04:13:00
drackx-22.iso 00:00:00
Leadout

