DAX ZISO Loader 0.5 (por Dark_AleX) para UMDEMULATOR 0.8c y MPHGameLoader 
-------------------------------------------------------------------------

Es una herramienta que te permite cargar las isos comprimidas (de backups de tus umd's 
originales) en formato dax (formato propio, el compresor y el descompresor estan incluidos).

Requisitos:

- Firmware 1.50

- UMDEMULATOR 0.8c (opcional, daxziso ya incorpora en su nucleo al nucleo de umdemulator) 

- Opcional: MPHGameLoader (para juegos que requieran 2.XX)


Instrucciones:

- Copia las carpeta PSP y UMDEMULATOR en la raz de la ms.

- Comprime tu iso con la herramienta DAX Creator (para Win32) que acompaa este paquete.

- Copia tu iso comprimida (.dax) a ms0:/ISO

- Ejecuta DAX ZISO Loader. Selecciona tu iso (normal o comprimida) y pulsa X (en esta
  version tambin puedes seleccionar "Run iserted UMD" para cargar el disco original insertado.
  Una vez hecho, estars en la pantalla de configuracin para esa iso/umd, donde tienes que
  seleccionar el modo de emulacin y otros parametros.  

* Explicacin y compatibilidad de los diferentes modos de emulacin:

  - Off: no se emular la iso y se saldr al menu del sistema. Este mtodo slo tiene sentido si
    lo que se quiere es emular las flash0 y/o flash1.

  - System Menu.  Vuelve al men del sistema, y puedes cargar la iso mediante el menu del sistema
    , u otro loader como MPHGL o FastLoader("start inserted umd").
    Es uno de los modos ms compatible de todos, es algo ms compatible que el system menu del
    UMDEMULATOR.

  - Direct load. Cargar directamente la iso. De momento parece que este modo es menos
    compatible que el "System Menu" y el "Direct Load - LoadExec", ten siempre la precaucin de
    mirar los distintos modos para ver cual es el que se adapta mejor a cada uno de tus juegos.

  - Copy load. Copiar el archivo boot.bin del juego a ms0:/UMDEMULATOR/DBOOT.BIN y lo
    ejecutar.

  - MPHGL. Para usar este modo necesitas el archivo "ms0:/MPHGameLoader/mphloader.prx"
    de la aplicacin MPHGameLoader. Parece que podra ser el modo menos compatible de todos.
    Sera ms compatible ir al system menu y ejecutar el mphgameloader, o los modos
    "System Menu - MPHGL", "MPHGL - VSH Exec" y "MPHGL - LoadExec".

  - Original UMDEMULATOR: para usar este modo necesitas copiar el EBOOT.PBP del UMDEMULATOR
    (el de la carpeta sin %) a ms0:/UMDEMULATOR y renombrarlo a "UMDEMU.ELF"

    Este modo carga el umdemulator original y le permite cargar las isos en el formato dax.
    La compatibilidad de los distintos modos de carga del UMDEMULATOR deberan ser parecidos
    a sus equivalentes en DAXZISO, aunque podra haber diferencias.

  - System Menu - MPHGL. Este modo te hace salir al menu del sistema, en ese momento puedes
    ejecutar tu umd emulado desde el menu del sistema. En lugar de ejecutarse el disco, se 
    ejcutar el archivo "ms0:/MPHGameLoader/EBOOT.PBP" que a su vez cargara dicho umd emulado.
    Para usar ste metodo necesitas copiar el EBOOT.PBP de la carpeta 
    "ms0:/PSP/GAME/[nombre de la carpeta donde tengas el MPHGL]/EBOOT.PBP" a 
    "ms0:/MPHGameLoader/EBOOT.PBP" (es posible que si usas uno de esos mods de 
    fastloader/umdemulator/devhook ya tengas esto hecho).

    La compatibilidad de ste modo es mayor que la del "MPHGL" y exactamente igual que la de 
    salir al menu del sistema y luego ejecutar el mphgl.

  - MPHGL - VSH Exec. Con este modo tu psp se reiniciara y tras el reinicio ejecutar 
    automticamente el MPHGameLoader (recuerda, "ms0:/MPHGameLoader/EBOOT.PBP"). 
    
    La compatibilidad de ste modo es mayor que la del "MPHGL" y exactamente igual que la de 
    salir al menu del sistema y luego ejecutar el mphgl.

  - DirectLoad - LoadExec. Este modo es parecido al de "Direct Load", pero en lugar de usar
    las funciones sceKernelLoad/StartModule, usa la funcin sceKernelLoadExec, por lo que el 
    sistema est menos cargado haciendo que sea mas compatible que el "Direct Load" y casi
    tan compatible como la de "System Menu". La nica pega que tiene es que siempre ejecutar
    el BOOT.BIN (incluso si esa opcin esta en off), ya que la funcin sceKernelLoadExec falla
    con los EBOOT.BIN.
    Si tienes uno de esos juegos que en el umdemulator solo funcionaban con copy load, prueba
    este modo. Carga ms rpido y existe la posibilidad de que funcione.

  - MPHGL - LoadExec. Este modo es tan compatible como "System Menu - MPHGL" y "MPHGL - VSH Exec"
    pero carga ms rpido. Sin embargo, tiene un problema: no funciona dependiendo de la 
    posicin del interruptor wlan. En mi psp funciona con la posicin del interruptor en on, 
    pero podra ser diferente en tu sistema, o incluso podra cambiar de un juego a otro.

    Este bug no es causado por DAXZISO. He probado a ejecutar el eboot.pbp del MPHGL con otros
    programas que tambin usan la funcin sceKernelLoadExec y sin emulacion de umd (con un disco
    original), y los resultados fueron los mismos: dependiendo de la posicin del interruptor,
    funcionaba o no.
    No puedo solucionar un bug que no es mio.
    
    ste mtodo tambin necesita el archivo "ms0:/MPHGameLoader/EBOOT.PBP"

- Opcin "Allocate tables in RAM". Si tu juego funcionaba bien en la versin 0.3, deja este
  parmetro a "on", ya que la descompresin ser ms rpida que si esta puesto a off. 
  Si tu juego no funcionaba en la versin 0.3, ponlo en "off", ya que eso disminuir el uso de 
  memoria RAM y aumentar la compatibilidad.

- El resto de los parmetros son manejados por el nucleo del UMDEMULATOR y su significado es el
  mismo que en UMDEMULATOR.

- Para terminar la emulacin de la ISO, ejecuta el programa y pulsa el triangulo.

El programa recordar la configuracin de cada iso (los umd's de momento solo tendrn una 
configuracin comn).
Los archivos de configuracin son salvados en el directorio ms0:/UMDEMULATOR/CONFIG con el
nombre "[nombre de la iso con extension/es].dat" (ejemplo: megaman.iso.dax -> megaman.iso.dax.dat)

Si quieres compartir la configuracin de tus juegos con tus amigos, puedes zipear la carpeta
config y enviarles el archivo zip, pero recuerda que tendreis que usar los mismos nombres de
archivo.

Tambin puedes poner un fondo para cada iso. Los fondos deben ser guardados de la misma forma
que en FastLoader 0.7: en la carpeta ms0:/ISOMISC con el nombre
"backpic_[nombre de la iso con extensin/es].bmp"

Por ejemplo:
ridge_racer.iso -> backpic_ridge_racer.iso.bmp
Tales_Of_Eternia.iso.dax -> backpic_Tales_Of_Eternia.iso.dax.bmp

El fondo debe ser un bmp de 24 bits de profundidad de color, y con una resolucin de 480x272
pixeles. Si no cumple esas condiciones, el programa pintar el fondo de blanco, de esta forma
podrs saber que el archivo tena un formato incorrecto.


Preguntas:

- P: Soportar DAXZISO Loader otros formatos de compresin ms comunes como .zip, .rar, .gz?
- R: NO. Ya hice pruebas con archivos .zip y .gz y los resultados fueron espantosos: ms de 10
     minutos ms tarde, la iso del EXIT JAP segui cargando y cargando. El problema con esos
     archivos es que la busqueda aleatoria es muy lenta. Esa fue la principal razn por la que 
     cree un formato propio. El formato dax est basado en el concepto de los archivos 
     .Z/.Z.table, salvo que slo es necesario un archivo y otros pequeos cambios.

-P: Puede cargar DAXZISO juegos que UMDEMULATOR/MPHGameLoader no pueden?
-R: No. La emulacin de la ISO la sigue haciendo el nucleo de UMDEMULATOR, aunque la lectura de
    la  misma llegue al nucleo de DAXZISO. Sin embargo, he recibido noticias de que el modo 
    system menu es algo ms compatible en DAXZISO. (esto es debido probablemente a un parche que
    DAXZISO hace).

-P: Puede cargar DAXZISO isos normales no comprimidas?
-R: Sip, ningn problema. 


Cambios:

- 0.5. April, 5

 * Soporte de la nueva caracterstica de DAX Creator 0.3 que incluye el uso de areas no
   comprimidas (NC) para partes de la iso que no pueden ser comprimidas. Esto puede reducir
   los tiempos de carga, y si la iso dax fue creada con la opcin "force videos to be NC areas",
   los saltos en los videos sern reducidos. Desgraciadamente, en este momento esas cosas slo
   se pueden notar cuando "allocate tables in ram" = on (ms detalles sobre las areas NC en el
   leeme de DAX Creator 0.3)  
 * La configuracin de cada iso es ahora recordada y guardad en la carpeta
   ms0:/UMDEMULATOR/CONFIG
 * Soporte para umd's originales.
 * Interfaz cambiada. Ahora soporta fondos personalizados.
 * Liberadas dos cosas para programadores o gente curiosa:
   - La librera esttica umedaxlib. Esta librera permitir a un programa usar tanto el
     nucleo de umdemulator como el nucleo de umdemulator+daxziso. Un ejemplo de un simple
     loader que usa la librera es incluido.
   - Un documento con algo de informacin sobre como el nucleo del umdemulator funciona y como
     se integr en el firmware, con un poco de cdigo descompilado (est aun lejos de estar
     terminado).

- 0.4. 24 de Marzo.
 
 * Aadidos cuatro modos de emulacin: System Menu - MPHGL, MPHGL - VSH Exec, 
   DirectLoad - LoadExec y MPHGL - LoadExec.
 * Aadida la opcin "Allocate tables in RAM". Cuando esta en off, la compatibilidad es mayor
   que en las versiones anteriores.
 * Copy Load ahora usa la funcin "sceKernelLoadExec", tal y como lo hace UMDEMULATOR.
 * El programa ahora usa un archivo de configuracin diferente al que usa UMDEMULATOR, evitando
   de esa forma que el UMDEMULATOR original lo resete a 72 bytes.
 * Eliminada una limitacin por la cual si la iso antes de comprimirse tena ms de 
  (aproximadamente) 1365 MB, DAXZISO no reservaba la memoria para las tablas.

- 0.3. 20 de Marzo.
 
 * El programa es ahora autosuficiente, y ya no necesita tantos lios como antes. 
 * Los nucleos del umdemulator y daxziso estn ahora en un solo archivo.

- 0.2. 16 de Marzo:

 * Mejorada la compatibilidad y la estabilidad.
 * El programa ahora se infiltra en la RAM del kernel al lado de umdemulator, y se ejecuta
   junto con este cada vez que se inicia o se sale de un juego o homebrew.

- 0.01 beta. 14 de Marzo: versin inicial, muy verde todava.


Lista de cosas a hacer:

- Mejorar la velocidad de descompresin/lectura cuando "Allocate tables in RAM" = off

- Corregir el molesto bug del modo sleep. No es tan trivial como pensaba, requerir
  un poco ms de ingeniera inversa sobre el nucleo del umdemulator.

- Mejorar la inerfaz. Ahora mismo, algunas palabras no son muy legibles con determinados fondos.

- Eliminar la necesidad de tener un umd metido. Estaba planeado para esta versin, pero lo he
  tenido que retrasar. (requerir un poco de "diversin" con el mdulo sceATA_driver)

- Extender el formato de compresin DAX con ms opciones (si, ya se que lo he hecho en esta
  versin, pero siempre puede ser mejorado, aunque no cambiar de una versin a la siguiente).

Creditos:

 - Los 4 primeros KB del archivo FUSEDCORE.BIN corresponden al core.bin del UMDEMULATOR.
   UMDEMULATOR esta programado por Humma Kavula.

 - El resto del programa est programado por Dark_AleX

 - Icono y background: cntrctkllr
 
 - DAXZISO Loader y DAX Creator/Dax Decompressor usan la librera zlib: http://www.zlib.net