Flash360 v1.0 By Redline99
2010-01-15

Place in the root dir of a usb drive:
updslot0.bin - Xell             (Address 0x0C0000 max length 0x040000 bytes, no metadata)
updslot1.bin - Rebooter         (Address 0x100000 max length 0x140000 bytes, no metadata)
updpatch.bin - Rebooter Patches (Address 0x194000 max length 0x004000 bytes, no metadata)

updflash.bin - Nand Image File  (this must include the metadata or aka spare/ecc bytes)
    Must be the full nand with exceptions for consoles with a built in Memory Unit.
    
    Flash360 will scan the bad block reservation area of the file to be flashed.
    If it finds blocks that have been remapped then it sets the writing mode
    to write the file as-is.  If it determines that no blocks have been remapped
    then it sets its write mode to relocate any blocks as it goes along.
    
    The block relocator logic will only apply to the Flash partition. This means that it
    will not try to relocate any block from the built in Memory Unit (if available). 

    A simple check of the KV will be done if the choice to not copy it from the current
    nand is selected.  Flash360 cannot currently get the CPU key to completely verify
    the KV before writing. If it detects a difference in the first page it will
    warn you before proceeding.
    

If Flash360 is ran from a HDD, USB or MU, saving the current nand image will be available.
The raw dumped nand file will be saved to "D:\flashdmp.bin". (same dir as xex)

For consoles with built in MU:
You can select to save the entire nand or only the Flash partition (66 MiB).
This also means you can write just Flash partition (66 MiB) to the nand.

When writing the Flash you can select to keep the current Keyvault and Config blocks. 
This is the recommended way to flash XBRebooter, straight from the release package.

If any writing to the nand is done do not return to the dash or bring up the guide.
An auto shutdown mechanism is in place by backing out of the main menu.  

The power plug should be removed to allow for a complete reinitialization of console.

Notes:
It is up to the user to verify the validity of the file(s) to be flashed.

Flashing the nand is risky, I hope it works well for everyone, if problems arise
I will do my best to address them.  There are still many items I would like
to do/add to this app, so it will be a work in progress.

When using this app do not do anything that will interrupt it. Do not use the 
big center guide button on the controller. Do not have the dash doing anything in 
the background. Remember what this application is doing is replacing the contents on 
the nand without the rest of the system knowing about it.

There is also a new Xell I have created with many of these features plus some new
ones that should be nice.  Time didnt permit releasing it though.

Thanks:
To kreet and angerwound for looking over my code and fixing many noob mistakes. :)
And especially to all the gracious people who helped test!

Greets:
r0wdy, tiros, MODFREAKz, schtrom, xorloser, tmbinc, seventhson, angerwound, kreet, lantus,
Skorchir, D-BlooD, momdad, skitzo, Cr4zi3, Sonic-Iso, stk50, Yoshihiro, Arakon and Alley. 

Team Greets:
XBRebooter, XeDev, Jungle, HyperX, Avalaunch, Xecuter, 
MS Interactive Entertainment Business Department