Custom Firmware - CASUAL v2 (FIX) by LordSturm
Based on the proof of concept by Dark_AleX

BIG THANKS TO DANZEL FOR COMPILING EVERYTHING FOR ME!!! :P
  |_ And helping me out along the way alot!
  
  Special Thanks to Sakyr for being there all along the way and testing!

	INDIVIDUAL CREDIT BOTTOM OF README.

1. EXTRACT ALL FILES ( Expecially the CASUAL Folder ) TO YOUR MEMORYSTICK! ( Including "dh" )
2. Run the Casual Flasher v2. ( Uninstall previous versions with the supplied UNFLASHER. )
3. Reboot your PSP. ( Configurator pops up, enjoy! )

Now you are done.


Changelog and Bugfixes. ( For CASUAL v2 Fix. ) - Because v2 wasnt out for long.

- BUG FIXED! - Shell Style and ModChip Style now function correctly!
- X-Flash is now loaded using simply "X" and now loads from "ms0:/CASUAL/XFLASH/eboot.pbp"
- In Normal or Shell mode, you can opt to load DevBoot.pbp instead by holding O during that boot.
- "D-Pad DOWN" is now set to totally disable the mod, it acts like theres no config.txt file.
- Uninstaller fixed, now actually removes nameplate, so install again then uninstall if problems occur.

Notes:

 Make sure you have a 150 DevHook Dump, before trying to load "DH Protect Mode" with "DPad UP"
 Make sure you have a "reboot.bin" in 150F before trying to load "DH Enhance Mode" with Triangle.
 Make sure you have the XFLASH Folder ( Remove renaming methods. ) in CASUAL to use X.
 Make sure you ACTUALLY have DevHook before using "DevBoot.pbp" or the ModChip style.
   |_ Note you must configure DevHook to your likings with the latest devhook FIRST.
 Do your self a favor, and remove any nameplate you might have with X-Flash first.
 The included CSO is not ILLEGAL, it contains Zero Byte BIN's and custom PNG's.
   |_ USE THIS CSO TO BYPASS AUTOBOOT IN DEVHOOK, No error screen either!!!
 Index.dat is NO LONGER included as index.dat, ( Still as flash.dat for flashing. )
 
Things to notice...

- After installing mod, turn psp off right away, you will get a config menu first thing!
- You CAN change what Normal mode autoboots when L is pressed, take a visit to config.txt...
- You CAN change what Shell, Shell Mode starts, once again visit config.txt...
- YOU CAN STILL LOAD MODULES, once again visit the config.txt...
   |_ With the above 3, Casual Configurator will retain all details manually insterted.
   
   NOTE: Don't toggle settings true and false, in config.txt they can prove hazardous to your PSP.
- You can put ANY homebrew in the XFLASH folder in CASUAL, so thats X O and L! :P


Whats New? THIS time round!!!

- Recovery mode is now R again...
- In recovery mode, you can press L+R+Start to start auto format. ( Auto re-install 1.50. )
- Holding X+DpadDown will execute XFlasher, just incase you messed up with it... ( WON'T repair. )
- Intergrated PROTECTED mode, and DEVHOOK modes, require "reboot.bin" and "Dumps" on MS.
- NEW BOOT STLYES! Normal, Shell and Modchip
   - Normal boots 1.50 unless L is held, then assigned homebrew loads.
   - Shell loads assigned Shell always, with no conditions, allows Xflash/Recovery...
   - Modchip loads latest devhook configuration, unless interupted with L.
- For saftey reasons, you may not enter PROTECTED/DEVHOOK versions of 1.50 by DEFAULT yet.
   |_ It is required to hold down UP, or Triangle, respectivly...
- 2 Devhook config files included, required for protected and devhook modes.
- The Configuration menu can now be brought up by pressing SELECT, and loads by default once.
- vshmain_bak.prx is no longer created, nor used. ( Useless feature. )
- Holding DOWN will revoke ALL modifications, ie. KXPLOIT etc. but allow Autoboot...
- Hold UP for protected mode, and Triangle for Devhook enhancement mode.
- Holding L will only skip autoboot, mods will load. ( Vary's upon styles. )
- Holding Triangle or UP bypasses all other autoboot's, but all mods are loaded.
- NAMEPLATE Appears in About, refrence for instructions etc.
- Unflasher intergrated into Configrator, will close confiurator.

NOTE: When using Configurator, restart the PSP after the configurator writes to use new settings.

 ~~~~


Whats New? - Last time round?

- Recovery mode is now accessed via L+R.
- L is required to peform recovery options.
- 1.00 index.dat now supplied, in PSP/SYSTEM. ( custom, not from sony. )
	|_ Do not move the index.dat, as it no longer looks at root.
- L will bypass all autoboot functions, and will deter plugin's, this is SAFE MODE.
- vshmain.prx is now backed as well as copied once, press L+Triangle to switch to the backup.
	|_ Note the backup is automaticly accessed if the vshmain_real.prx is missing.
- Recovery mode has a new look, and borders are drawn. ( Too sexy for recovery, too... forget it. )
- You can now assign up to 100 prx's to load!!!
	|_ As a note, this dosn't mean 100 prx's can be handled by the PSP, it just removes a limit.

Disclaimer as quoted by Dark_AleX... ( Note he is refering to HIS mod. )
"This program has ben tested on my psp. However, as all programs that write to the flash, there is 
always some risk of bricking the psp. Use it at your own risk.
IMPORTANT (to avoid confusion): the program includes a file called vshmain.prx. This file is
NOT of Sony, it comes from me, the source of everything is released."

Previous Features ( Still implemented. ) as quoted by Dark_Alex...
"The features of this custom firmware - proof of concept are:

- Execution of normal pbp's (1.00 ones, no-kxploited)
- Posibility of hiding corrupt icons. (note: by default it's not enabled, look at the file 
/PSP/SYSTEM/config.txt to see how to enable it)
- Posibility of skipping the SCE logo at the startup. (and in this way avoid the annoying auto-execution
of the UMD). Like the previous one, this is not enabled by default.
- "Recovery mode:". If you keep R pressed while starting the psp, it will enter in "Recovery mode".
Recovery mode is not more than a simple application that will let you to use the usb, and execute a 
program under ms0:/PSP/GAME/UPDATE/EBOOT.PBP, that could be, for example, a sony updater or the
1.50 -> 1.00 downdater.

This would allow to recover potential bricks caused by the writing of bad fonts/videos/sounds... to 
the flash.
(Note that this wouldn't allow to recover critical things like the overwriting of critical prx's)

- Autoexecution of a program at the startup. See the configuration file at /PSP/SYSTEM/config.txt
  to see how to use it."

Technical Details as quoted by Dark_AleX...
"Technical Details for Developers - Why and how this work.

Consider vshmain.prx like the executable of the firmware. 
You should know that either in 1.00 or 1.50 we CANNOT execute our own prx's.
However, you should know that we can execute our own elf's :)

Just creating an elf, renaming it to vshmain.prx and flashing the file does the job :)

However, notice a VERY IMPORTANT thing. By default, static elf's created by the pspsdk are 
linked to the address 0x08900000. This address is already taken by a prx of those that are loaded
before vshmain.prx.
It's necesary to relocate the elf to a different address not already taken.
This proof of concept use the address 0x09CD3000."


	CREDIT WHERE ITS DUE.

ORIGINAL CUSTOMFIRMWARE PROOF OF CONCEPT BY Dark_AleX <-- Yer dat right, not me.
This MODIFICATION of Dark_AleX's work, is by LordSturm. ( Along with all the new features. )
My buddy DANZEL for compiling everything for me and helping me code.
  |_ I did all the modifying turning to danzel for sytax help. :P
Included "DEVBOOT.PBP"/"MODNORM.PBP"/"SAFEMOD.PBP" are modified DevHook modules.
  |_ DEVHOOK is by Booster, Devhook is NOT included.
Included MODIFIED UNDO Flasher, by Slasher. ( Modified to work in CASUAL v2 )
Incldued Name_Plate.png mod, thanks to Art, Fluff and FreePlay for the info.
Thanks to Sakyr for testing. Thanks to Piny for the original name.