XeLLous v1.0 By Redline99
2010-01-22

Features (compared to mainline Xell):
    New network stack, lwip 1.3.0
    Uses correct MAC address if proper config blocks are in place
    Sets DHCP "hostname" for easy identification in DHCP assignments
    Refactored/new ATA/ATAPI/MMC drivers
    Updated sfcx driver with hardware detection
    Many misc text changes/cleanups
    Many misc code tweaks/fixes
    Many new http features:
        Download full raw NAND backup
        Download decrypted keyvault (if available)
        Download fuses (and DVD key if available) as a text file
        Download RAW keyvault     (equivalent to NANDpro -r switch)
        Download RAW Config Blocks (equivalent to NANDpro -r switch)
        Prominent display of CPU and DVD keys
        Ability to set dvd key from keyvault to DVD drive 
            (possible use: fix bad key flashes to the original drive)
    Advanced NAND flashing:
        Uses "slot" technique from usb as introduced by Flash360
        Write Flash partition from usb (up to 66 MB)
        Write Flash partition from optical media
        Write FULL raw NAND (up to 528 MB) from optical media

USB (FAT/FAT32):
*Place in the root directory of the media.

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 aka spare/ecc bytes)
    Must be the full NAND with exceptions for consoles with a built in Memory Unit.
    This can be up to 66 MB, and supports writing to the flash partition on 256/512MB NAND.

Optical (CD/DVD):
*Place in the root directory of the media.

updflash.bin - NAND Image File  (this must include the metadata aka spare/ecc bytes)
    Must be the full NAND with exceptions for consoles with a built in Memory Unit.
    This can be up to 528 MB, but also supports writing only to the flash partition (66MB) 
    on 256/512MB NAND.

USB Notes:
    For best results of getting the usb device detected, remove the power plug from the console
    after running the MS dashboard. Then reinsert the power plug, insert usb device and then
    boot into XeLLous.
    
    Reading 66MB (updflash.bin) can take a few minutes, be patient while it loads to RAM.

Flash Notes:
    updflash.bin must include the key vault and config blocks if you require them. XeLLous
    WILL OVERWRITE what is on the NAND with what is contained in the updflash.bin  

    Bad Block handling will be invoked if:
        Run from usb
        Only data in the Flash Partition
        File is one of the following: updslot0.bin, updslot1.bin, updpatch.bin
        File is updflash.bin AND NO PRE-REMAPPED blocks are detected in the file.

HTTP Notes:
    The HTTPD is very primitive, we are not running Apache or anything so be kind to it
    and don't open more than one connection. 

    In testing Firefox has been determined to have the best user experience. Internet Explorer
    does work, but seems to have trouble initiating downloads.  Once the download has began
    IE seems to work ok.

    The "Set DVD Key" should only be used by people who fully understand its use. This
    is not a DVD flashing feature and it doesn't fully pair a dvd to the keyvault. It
    simply reads the dvd key from the keyvault and instructs the dvd drive to store
    that key in its firmware. It does not store the dvd's OSIG in the keyvault and it does not 
    Flash the DVD firmware. You probably don't have a use for it.

TFTP Notes:
    Currently hardcoded to "192.168.1.98/tftpboot/xenon"

Order of Operations: (first condition met excludes all the rest)
    USB Media
        updslot0.bin
        updslot1.bin
        updpatch.bin
        updflash.bin
        xenon.elf
        
    Optical Media
        updflash.bin
        vmlinux
    
    Network Init
        DHCP:   Auto Assigned (hostname "XeLLous")
        Static: 192.168.1.99
        
    Network TFTP
        192.168.1.98/tftpboot/xenon
    
    Network HTTPD
        Waits on port 80 of displayed IP Address
    
Files: (Another set of the same for Cygnos compatibility)
    The main difference here is the loading address, various versions have been built
    and used at different times for different setups, I've inclused all that I know of.

    Rename one of these files to "updslot0.bin"

    File Name:           Loading Address:        Example use:
    xell-1f.bin          0x1c000000              original jtag hack, XBReboot_1, XBReboot_2
  * xell-2f.bin          0x1c040000              XBReboot_3, freeboot .1, freeboot .2
    xell-readcd.bin      0x01310000              King Kong exploit
    xell-serial.bin      0x01300000              King Kong exploit
    
    * Most current applications require this one.
    
    
Planned: Who knows when, maybe never, feedback needed/wanted!
    Faster NAND speeds, ie: tripled download speeds from http
    More flashing features/bad block handling
    More HTTP features/tools
    Sata HDD Driver
    Full CPU Speed
    File system driver layer fat/fatx/iso9960/etc ?
    Read some sort of XeLLous.ini file for parameters 
        Such as: Network config, Order of operations, etc.
        
    
Thanks:
To all the gracious people who helped test! These are the ones I can remember:
MODFREAKz, Cr4zi3, Skorchir, Ocelot13, SpkLeader, Tuxuser, Zoneout, Surazal, Jester

Greets:
r0wdy, tiros, MODFREAKz, schtrom, geremia, 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, free60
MS Interactive Entertainment Business Department