DAX ZISO Loader 0.51 (by Dark_AleX) for UMDEMULATOR 0.8c and MPHGameLoader 
-------------------------------------------------------------------------

This is a tool that lets you load isos(backuped from your original umd's) compressed in dax 
format (a custom format, compressor and decompressor are included).


Requeriments:

- 1.50 firmware

- UMDEMULATOR 0.8c (optional, daxziso already incorporates in his core the UMDEMULATOR core)

- Optional: MPHGameLoader and/or RUNUMD (for games that require 2.XX)


Instructions:

- Copy the folders PSP and UMDEMULATOR in the root of your mem stick.

- Compress your iso with the DAX Creator tool that is in this package.

- Copy your compressed iso (.dax) to ms0:/ISO

- Execute DAX ZISO Loader. Select your iso (normal or compressed), and press X (you can also 
  select "Run inserted UMD" to load the original inserted umd). 
  Once done,  you will be in the  configuration screen for that iso/umd, where you have to choose
  the emulation mode and other parameters.

* Explanation and compatibility of differents emulation modes:

  - Off: the iso won't be emulated and the program will exit to the system menu. This method 
    only has sense if you want to emulate the flash0 & flash1.

  - System menu. It returns to the system menu, letting you to load the game through the system 
    menu or another loader like mphgameloader or FastLoader("Start inserted UMD").
    This is one of the most compatible modes, it is more compatible than the UMDEMULATOR
    system menu.

  - Direct load. It will directly load your iso. At the moment, it seems that this mode is 
    less compatible than the "System menu" and "Direct Load - LoadExec" ones. Be always sure 
    that you try the different modes to see which one is the best for your games.

  - Copy load. It will copy the game boot.bin file to ms0:/UMDEMULATOR/DBOOT.BIN  and it will 
    load it. 

  - MPHGL. To use this mode you'll need the file "ms0:/MPHGameLoader/mphloader.prx"of the 
    MPHGameLoader application. It seems to be the less compatible mode of all.
    It's more compatible to use the system menu one and execute mphgameloader, or the modes
    "System Menu - MPHGL", "MPHGL - VSH Exec" and "MPHGL - LoadExec".

  - Original UMDEMULATOR: to use this mode you'll need to copy the EBOOT.PBP from UMDEMULATOR
    (the folder without the %) to ms0:/UMDEMULATOR and rename it to "UMDEMU.ELF"

    This mode will load the original umdemulator letting it to load isos in dax format.
    The compatibility of different load modes inside UMDEMULATOR should be more or less the
    same that those from DAXZISO, although it may have some differences.

  - System Menu - MPHGL. This mode returns to the system menu: in that moment you can run
    your emulated umd from the system menu. Instead of executing the disc, the firmware will 
    execute the file "ms0:/MPHGameLoader/EBOOT.PBP" which will load your 2.XX game.
    To use this method you need to copy the EBOOT.PBP from 
    "ms0:/PSP/GAME/[name of folder where you have MPHGL]/EBOOT.PBP" to 
    "ms0:/MPHGameLoader/EBOOT.PBP" (it's possible that if you have one of those mods of
    UMDEMULATOR/FastLoader/DevHook you have already done this step).
    
    The compatibility of this mode is greater than "MPHGL" and exactly the same than exiting
    to the system menu and then running mphgl.

  - MPHGL - VSH Exec. With this mode your psp will reboot and after that it will auomatically 
    run MPHGameLoader (remember, it must be in the path "ms0:/MPHGameLoader/EBOOT.PBP"). 
    
    The compatibility of this mode is greater than "MPHGL" and exactly the same than exiting
    to the system menu and then running mphgl.

  - DirectLoad - LoadExec. This mode looks like "Direct Load", but instead of using the
    sceKernelLoad/StartModule functions, it uses sceKernelLoadExec; because of that, the system 
    will have more free memory, and this makes it more compatible than "Direct Load" and almost
    as compatible as "System Menu". The only problem is that it always will run the BOOT.BIN
    file (even if that option is in off), because sceKernelLoadExec fails with EBOOT.BIN.
    If you have one of those game that in umdemulator only worked with copy load, try this one,
    it loads faster and there are chances that it work.

  - MPHGL - LoadExec. This mode is as compatible as "System Menu - MPHGL" and 
   "MPHGL - VSH Exec", but it loads faster. However it has a problem: it doesn't work depending
    on the wlan switch position. In my psp, it works with the wlan position in on, but it may be 
    different on your psp, or even different from a game to another.

    This is NOT a DAXZISO bug. I've tried to execute the mphgl eboot.pbp with other homebrews
    programs that also use the sceKernelLoadExec function, and without iso emulation (original
    umd), and the results where the same: depending on the wlan switch position it worked or not.
    I cannot solve a bug that it's not mine.

    This mode also needs the file "ms0:/MPHGameLoader/EBOOT.PBP"

  - RUNUMD - LoadExec. This mode will run RUNUMD, and it will let you load isos with it. 
    Because of a special patch that is applied in this mode to the UMDEMULATOR core to fix a 
    compatibility issue with RUNUMD, the flash0 and flash1 emulation are broken in this mode.

    This mode requires the runumd pbp (folder without %) to be in ms0:/UMDEMULATOR/RUNUMD.PBP

  - System Menu - RUNUMD. This mode returns to the system menu. After that, you can run RUNUMD
    with the disc icon of the firmware. You can also start runumd from the your memory stick if
    you want.

    This mode also requires the file ms0:/UMDEMULATOR/RUNUMD.PBP and it also has the flash 
    emulation broken.

    Note: if you use one of the other "System Menu" modes and you start runumd, it will gives
    you the famous error of "patcher failed", because daxziso doesn't apply the special patch
    to those modes in order to keep compatibility with flash emulation.

    
Remarks:
 * After having exited a game that you have run with a MPHGL mode, if you want to run again 
   the game, you can simply click the firmware UMD icon. (from this version, this applies to all
   mphgl modes).

 * The same for RUNUMD modes.

- Option "Allocate tables in RAM". If your game worked well in version 0.3, leave this parameter
  to "on", because decompression will be faster than in "off". If you game didn't work in version 
  0.3, set it to off: that will decrease memory use and increase compatibility.

- The other parameters are handled by the UMDEMULATOR core and their meanings are the same than
  in UMDEMULATOR.

- To quit ISO emulation, execute the loader and press triangle. It's not strictly necessary to
  quit emulation if you don't want to, since with this version, the sleep mode bug in system menu
  (bug of the umdemulator core) has been fixed, and there is no real need to quit emulation, 
  except in some special cases when you want to run a homebrew incompatible with UMDEMULATOR/DAXZISO
  (like FileAssistant)

- From this version (0.51) a patch to let you load NO-KXploited pbp's from the system menu is 
  applied. The only side effect of this is that a file called ms0:/_TEMPO_.ELF will be written 
  each time you load a no-kxploited homebrew.
  


The loader will remember the configuration of each iso (in umd it will only have a configuration
for all umd's at the moment).
The configuration files are saved in the ms0:/UMDEMULATOR/CONFIG directory, with the name
"[name of iso including extension/s].dat" (example: megaman.iso.dax. -> megaman.iso.dax.dat)

If you want to share the settings of your games with your friends, you can zip the config
folder and send it to them, but remember that all of you have to use the same file names.

You can also have a custom background for each iso. 
Backgrounds can be stored now in a lot of manners to make things easier, in either the folder 
ms0:/ISOMISC or ms0:/UMDEMULATOR/BACKPIC

Better an example than an explanation. If you have an iso called "Tales_Eternia.iso.dax", the
program will search a background in the following order:

ms0:/ISOMISC/backpic_Tales_Eternia.iso.dax.bmp
ms0:/ISOMISC/backpic_Tales_Eternia.iso.bmp
ms0:/ISOMISC/backpic_Tales_Eternia.bmp
ms0:/ISOMISC/Tales_Eternia.iso.dax.bmp
ms0:/ISOMISC/Tales_Eternia.iso.bmp
ms0:/ISOMISC/Tales_Eternia.bmp
ms0:/UMDEMULATOR/BACKPIC/backpic_Tales_Eternia.iso.dax.bmp
ms0:/UMDEMULATOR/BACKPIC/backpic_Tales_Eternia.iso.bmp
ms0:/UMDEMULATOR/BACKPIC/backpic_Tales_Eternia.bmp
ms0:/UMDEMULATOR/BACKPIC/Tales_Eternia.iso.dax.bmp
ms0:/UMDEMULATOR/BACKPIC/Tales_Eternia.iso.bmp
ms0:/UMDEMULATOR/BACKPIC/Tales_Eternia.bmp


The background must be 24 bits color bmp's, and with a resolution of 480x272 pixels.
Otherwise, the program will paint a white background to let you know that the file was in
an incorrect format.


FAQ:

- Q: Will support DAX ZISO Loader more common formats of compressed files like .zip, .rar, .gz?
- A: NO. I already did testings with .zip and .gz files, and the EXIT JAP iso was still loading 
     after more than 10 minutes. The problem with those files is that the seeking is really slow.
     That was the main reason behind creating an own format. The DAX format is very similar to
     the .Z/.Z.table concept, except that it's only one file and other few changes. 

-Q: Can load DAXZISO games that UMDEMULATOR/MPHGameLoader cannot?
-A: No. The iso emulation is still done by the UMDEMULATOR core, although the reading functions
    are redirected to the DAXZISO one. However, the system menu has been reported to be more
    compatible in DAXZISO (from version 0.4) than in UMDEMULATOR. (this is probably due to a
    patch that DAXZISO does)

-Q: Can DAXZISO load normal (non-compressed) isos?
-A: Yeah, no problem. 



Changelog:

- 0.51. April, 11

  * Added support for runumd, for both, iso's and umd's.
  * Fixed a bug of the UMDEMULATOR core that caused a crash when sleeping in system menu.
    (Note that this is not the same bug that causes daxed isos to crash when sleeping; with 
    normal isos you can now sleep in both, in game and in system menu; with dax isos if you 
    sleep in game, it will probably end in a crash and if you sleep in system menu it will
    cause a "cannot read disc" error, but you can continue using the system without restarting).
  * A bit of changes in the backgrounds system that makes things easier and less annoying while
    keeping compatibility with the previous version.
  * Support to load no-kxploited pbp's (it's built inside the daxziso core, so no need of running
    NO-KXploit while using daxziso)

- 0.5. April, 5
 
 * Support of the new feature of DAX Creator 0.3 that includes the use of not-compressed (NC) 
   areas for parts of the iso that cannot be compressed. This can reduce the load times, and if
   the dax iso was created with the option "force videos to be NC areas", the video glitches will 
   be reduced. Unfortunaly, at this moment those things are only noticeable when 
   "allocate tables in ram" = on. (more details about NC areas in the DAX Creator 0.3 readme)
 * The configuration of each iso is now remembered and stored in the ms0:/UMDEMULATOR/CONFIG
   directory.
 * Support for original umd's.
 * Gui changed. Now it supports custom backgrounds for each iso.
 * Released two things for programmers or for curious people:
   - The static library umedaxlib. This library will let a program to use either the umdemulator
     core or the umdemulator+daxziso core. A sample of a little loader using the library is 
     included.
   - A document with some info on how the umdemulator core works and how it's embedded in the 
     firmware, with a bit of decompiled code. (it's far from complete at this moment)
 

- 0.4. March, 24.
 
 * Added 4 new emulation modes: System Menu - MPHGL, MPHGL - VSH Exec, DirectLoad - LoadExec and
   MPHGL - LoadExec.
 * Added the option "Allocate tables in RAM". When in off, compatibility will be greater than in
   previous versions.
 * Copy Load now uses the function "sceKernelLoadExec", as UMDEMULATOR does.
 * The program now uses a different configuration file than UMDEMULATOR, avoiding in this way
   that UMDEMULATOR resets it to 72 bytes.
 * Removed the limitation that caused that if before the compression the iso had more than about 
   1365 MB, DAXZISO didn't allocate the memory for the tables. 

- 0.3. March, 20
 * The program doesn't need other apps, and its use is less annoying than before.  
 * Both, the umdemulator and daxziso cores are now merged into a single file.

- 0.2. March, 16
 * Improved compatibility and stability.
 * The program now writes its core in the kernel RAM next to the UMDEMULATOR core and both
   run when a game or homebrew starts/exits.

- 0.01 beta. March, 14: Initial release, very buggy.


TODO:

- Improve the speed of the decompression/reading when "Allocate tables in RAM" = off

- Correct the annoying bug of sleep mode. It has a HIGH priority now in this list.

- Improve the gui. Currently some words are not very readable with certain backgrounds.

- remove the needing of having an umd. 

- Extend the DAX compression format with more options.


Credits:

 - The first 4 KB of FUSEDCORE.BIN file are the UMDEMULATOR core.bin.
   UMDEMULATOR is written by Humma Kavula.

 - The rest of the program is written by Dark_AleX.

 - Icon and background: cntrctkllr
 
 - DAX ZISO Loader and DAX Creator/DAX Decompressor use the zlib library: http://www.zlib.net