============================================================
postLoader 2.37.7 (updated 25 October 2011)
============================================================

========================================
What postLoader is:
========================================

postLoader is intended to be an extension to priiloader autoboot feature. It aims to replace Forwarders, HB Channel and the Wii System Channel with emulated NAND support.


========================================
Features:
========================================
* If started from priiloader it gains AHPBROT and spawn full hardware rights to homebrew applications
* Autoboot your default application/channel: If you don't press (A) in time to enter in interactive mode, postLoader will launch the predefined app (if enabled)
* Wii System Channel replacemente: Can browse and run Channels, WiiWare and VC.
* HB Channel replacement: It can be used to browse homebrew application, with it own interface. 
* Can run Titles from real and emulated NAND on SD or USB with folder support
* microsneek technology for maximum channel compatibilty
* Titles can be voted and/or hiddened
* Homebrews can be hidden
* Sort titles by vote/name
* Titles filters (System channels/wiiware/neogeo/c64... etc)
* Fast titles search
* Download title icons from wiitdb
* Support interactive application sorting
* Full support for meta.xml arguments and all other tags.
* It support subfolders for homebrew (see notes)
* Can browse SD and USB device (FAT32 on first/active partition)
* Support costom splash screen (only from SD device)
* Direct access to BOOTMII
* Full support for UNEEK environment. May work under SNEEK
* Support for Wiimote and GC controllers
* Alternat nand folder support (other that classic root)
* Intergrated UNEEK nand switcher
* WiiLoad support

========================================
Installation:
========================================

(A) Real Wii: priiloader extension (ios 249 required)

PRO: Do not require an SD always inserted
CON: Upgrades are less easy. Auto update function can't work

1) Copy to your SD root postLoader.dol. 
2) Enter in priiloader pressing "reset" when you turn on your wii.
3) Select "Load/Install file" from priiloader menu'
4) Select postLoader.dol
5) Go back to main menu'
6) Select settings -> Autoboot: Installed File
7) Select settings -> Return to: Autoboot
8) If you wish, you can remove postLoader.dol from the SD


(B) Real Wii: priiloader extension via priibooter (ios 249 required)

PRO: Easy to upgrade. Just replace postLoader.dol on the root of your SD with newer one. When autoupadte will be available, it will works
CON: SD is always needed in the Wii

1) Copy to your SD root postLoader.dol. 
2) Copy to your SD root priibooter.dol. 
3) Enter in priiloader pressing "reset" when you turn on your wii.
4) Select "Load/Install file" from priiloader menu'
5) Select priibooter.dol
6) Go back to main menu'
7) Select settings -> Autoboot: Installed File
8) Select settings -> Return to: Autoboot
9) If you wish, you can remove priibooter.dol from the SD
10) postLoader MUST exist on the root of SD, and SD must be inside the Wii


(C) UNEEK: priiloader extension via priibooter (ios 249 NOT required)

1) Copy to your SD root postLoader.dol. 
2) Copy to your SD root neekbooter.dol. 
3) Run your NEEK environment pressing "reset" to enter in neek priiloader.
4) Select "Load/Install file" from priiloader menu'
5) Select neekbooter.dol
6) Go back to main menu'
7) Select settings -> Autoboot: Installed File
8) Select settings -> Return to: Autoboot
9) If you wish, you can remove neekbooter.dol from the SD
10) postLoader MUST exist on the root of SD, and SD must be inside the Wii
11) The first time you enter in postLoader, press (H) to enter in the menu -> Options -> select "Disable boot time USB initialization"

(D) SNEEK: Actually not supperted nor tested. You can try solution (A) also for this. (ios 249 required on neek)


========================================
Usage:
========================================

Keys (during initialization - time depends on the speed of usb init + 2 sec)

(A) Enter in interactive mode (show user interface)
(B) Skip USB initialization

Keys (interactive mode)

(A) Start selected homebrew
(B) Show selected application menu, also act as cancel on popup menu
(-)(+) Change page
(Home) Show postLoader options menu
(1)(GCX) Switch from homebrew to channels..
(2)(GCY) (only in channel mode) Show Filter menu


========================================
CUSTOM SPLASH SCREEN
========================================

Copy your png named "ploader.png" on the root of SD card. 640x480 is suggested.
Using a custom splash screen will slow a bit postLoader startup.


========================================
SUBFOLDER:
========================================
Since version 1.0b2, subfolders are supported. About any depth can be used, but keep in mind that actually postLoader support filenames long up to 255 chars.
To enable subfolder, only meta.xml MUST be present on parent folder. In meta.xml you can (should) edit <name></name> tag to give a description to that folder. An icon.png can be present, otherwise a standard folder icon is shown.

example:

APPS
  |
  |-- HB1 (folder)
  |   |-- boot.dol
  |   |-- meta.xml
  |   |-- icon.xml
  |
  |---- HB2 (folder)
  |   |-- boot.dol
  |   |-- meta.xml
  |   |-- icon.xml
  |
  |---- FOLDER	
        |
        |-- meta.xml (MUST EXIST)
        |-- icon.png (optional)
        |
        |-- HB3
        |   |-- boot.dol
        |   |-- meta.xml
        |   |-- icon.xml
        |
        |-- HB4
            |-- boot.dol
            |-- meta.xml
            |-- icon.xml
		

========================================
NOTES:
========================================

* Screenshots are from dolphin... 
* b after the version is the build number :P

priibooter.dol:

Priibooter is a little forwarder to be installed in priiloader. It required to make uneek folder switch working. Latest versions (since b35) allow to configure it to run postLoader, neek, system menu or hbc, and saves last settings.

neekbooter.dol:

To be installed in priiloader under neek. It will run postloader.dol from sd and inform it that it is running under neek.

NAND Folders:

Alternate nand folders are supported only on SD and USB on first partition (active)


========================================
Files you will find after running postLoader:
========================================

SD://ploader.png: custom splashcreen (added by you)
SD://ploader.sd: if it is present, usb will not be used
SD://nand.dat: cache file of nand image on sd
USB://nand.dat: cache file of nand image on usb device
dev://ploader/channels.png/: icon of installed channels (dev is the one selected the first time)
dev://ploader/channels.cfg/: configuration data for channels/titles
dev://ploader/channels.txt: dump of the last nand scan

dev://ploader/channels.txt: dump of the last nand scan
dev://ploader/ploader.cfg: postloader configuration file
SD://ploader/pldneek.cfg: neek - postloader configuration file
SD://ploader/sdonly.nek: neek - if it is present, usb will not be used


========================================
THEMES:
========================================

Since build b16, postLoader support themes. Actually only one theme at time can be used. 

Themes must be copied to dev://ploader/theme and are composed of the following files

* window.png: window elements. On load, it will be tiled 3x3 to draw corners, top, bottom, left rigth, and center of the window (if windowbk it is not present)
* windowbk.png: (optional) this is the window background. It is actually used for menues. Dimensions should be multiple of 8.
* button.png: 3x3 tile for drawing button (suggested size 24x24 px)
* button_sel.png: 3x3 tile for drawing selected button (suggested size 24x24 px)
* bkg.png: is the 640x480 background png
* frame_back.png: is the background of empty icon. This can be transparent or partially transparent
* frame_mask.png: an icon is drawn on top of this. This shouldn't be transparent
* frame.png: is the standard frame for icons
* frame_sel.png: when an icon is selected, this frame will be drawn

* theme.cfg: it is an ascii configuration containing some customizabile values:
  > grlibSettings.theme.windowMagX: how a window (for example menu) is enlarged in X axes
  > grlibSettings.theme.windowMagY: Y axes
  > grlibSettings.theme.buttonMagX: how a button is enlarged when mouseover... X
  > grlibSettings.theme.buttonMagY: Y
  > grlibSettings.theme.buttonsTextOffsetY: vertical text offset for buttons
  > grlibSettings.fontBMF_reverse = 1: font color is reversed (if 1 text is black)
  > theme.hb_line1Y: hb name
  > theme.hb_line3Y: hb path and args info. If 0 it isn' displayed (like wii theme)
  > theme.hb_line2Y: hb short description 
  > theme.ch_line1Y: title name
  > theme.ch_line2Y: title info
NOTE: actually cfg file do not accept comments (like # or ; as first character of a line)


========================================
UNEEK Nand switcher notes:
========================================

Requirements:
* Newest priibooter.dol (dist. from b34 or above) installed in priiloader
* an sd inside the wii with uneek configured
* the folder usb://nands containing up to 16 uneek nand subfolders

How it works:
When wii boot priibooter will create a list of available nands. Look at message that show the boot mode and press a key on wiimote o gc controller accordly.
If you are in "UNEEK mode" and a nand image is on the root of usb, uneek is started.
The nand can be switched both in real and emulated mode. In postLoader just select [home]->Options->Change UNEEK nand and choose your nand. The wii will reboot and nand changed

NAND tracking:
If you have a uneek nand on the root of usb, you should have also an empty folder under usb://nands. plneek will search an empty folder to store back current nand before copying new one. This is done automatically, but the first time you will try plneek maybe you forget it. So current nand will be backed up in "usb://nands/backup<random number>" folder


========================================
Microsneek usage guide
========================================

What is microsneek ?
Yes, I love fancy names. Microsneek is just a minimalist sneek installation. 
It is controlled and configured by postloader running on real nand. 
Titles enabled to boot in microsneek mode (the option is in "IOS: microsneek") will be copied to sd in the appropriate folder and than booted via sneek. 
When return to menu from sneek the wii will return to real nand automatically, title's savegames are copied back to keep it in sync. This is done also if you shut down the wii, the next time postLoader on real nand is executed.

Configuration (do not skip any point):
* Use modmii to create a sneek with System Menu 4.3(non +di) without installing any options, like priiloader, cios rev14, default channels.
* if you have uneek kernel on the sd rename related kernel.bin to kernel.unk.
* copy your created sneek to sd and boot it. Configure your emulated sneek wii as usual. 
* rename sneek kernel.bin to kernel.msn
* copy kernel.unk to kernel.bin. Copy, not rename. This will restore (and preserve) your uneek kernel
USA system menu:
* rename sd://title/00000001/00000002/content/00000098.app to 00000098.bak
* copy microsneek.app (from distribution) to sd://title/00000001/00000002/content/00000098.app. 
PAL system menu:
* rename sd://title/00000001/00000002/content/0000009b.app to 0000009b.bak
* copy microsneek.app (from distribution) to sd://title/00000001/00000002/content/0000009b.app. 
OTHER system menu:
* I don't know :P

NOTE: 
* microsneek.app is the title loader that replace system menu on sneek emulated nand.
* this is a test release. Copying to sd is a slow process. If feedback are positive, caching will be implemented, so titles will be copied once, and keeped on sneek untile space is available.
* a microuneek can be developed.



CREDITS:
----------------------------------------

* GRRLIB (I've removed ttf support to have much smaller application)
* USB Loader GX, I've used it's app_booter.dol... it seems to give the best compatibility
* Priiloader
* CFG Usb loader (for let me understand how priiload magic words should be used)
* TriiForce: It was integrated in postLoader. I've tried to minimize the impact, so I can update postLoader as triiforce is updated.
* oggzee for helping me to solve homebrew boot problems (wiimc & cfg72)
* Dolphin: great help in testing
* GBATemp community
* davebaol for d2x and path code for ahbprot
* FIX94 video init code


SOURCEs:
----------------------------------------

Last pubblic sources can be downloaded from 

http://alturl.com/ux9vg

Please do not create a postLoader MOD. If you have ideas, if you want add code, please contribute to it.