EvoX dashboard patcher for Drive G/partition7 support
by Paul Bartholomew (oz_paulb) 030904

WARNING: This patch only works on EvoX dashboard v1.8.3752.  If you attempt to apply this 
         patch to a different EvoX dashboard version, it will most likely result in a crash
         and/or data loss!

WARNING: As with any 'patch', I make no claims as to whether/not this will work on your 
         Xbox.  Please make sure you have a backup, and can survive possibly deleting 
         data on your Xbox.

I'm releasing 'Drive G/partition7' support for EvoX as a 'patch', rather than releasing a
new dashboard ".xbe" file.  This is because I assume that the EvoX dashboard contains 
Microsoft-copyrighted code (from the XDK), and I don't want to get into trouble for
distributing any MS code.  I assume that everyone can find the current EvoX dashboard
".xbe" in 'the usual places'.  Starting with that, and with the included patch code,
you'll end up with a new EvoX .xbe file that supports Drive G/partition7.

The EvoX dashboard .xbe is a ~680Kbyte file.  This is actually just a 'loader/decompressor'
program that decompresses the 'real' EvoX dashboard .xbe (stored inside the 680Kbyte EvoX
dashboard .xbe).  The 'real' EvoX dashboard is about 3.7Mbytes.  When you are finished with
the patching process, your EvoX dashboard will be 3.7Mbytes (instead of 680Kbytes), since I
didn't bother trying to figure out how to re-compress the .xbe.

The process to apply the patches will require multiple steps:

      1. Start with original EvoX .xbe

      2. Apply a small patch that causes EvoX .xbe to write the "decompressed" version of
         itself to "e:\evoxdump.bin"

      3. Transfer this patched EvoX .xbe to your Xbox, and execute it.  This will give you
         the "e:\evoxdump.bin" file.

      4. Transfer the "e:\evoxdump.bin" file to your PC

      5. Apply patches to "evoxdump.bin", which will result in a new "default.xbe"

      6. Transfer new "default.xbe" to Xbox - this new .xbe is EvoX dash with drive G: support

If the steps look too complicated, then you may want to hold-off and wait for someone else
to do them.  I assume the final/patched .xbe will make its way onto 'the usual places' sometime
shortly after my patches are released.

Here's the detailed step-by-step instructions:

1. Decompress .zip into a working directory on your PC (example: "C:\evox_patcher").  Inside that
   directory, you'll find 3 sub-directories:

        bin - utilities used by the patching process
        evox_gen_xbe - Where patches are applied to original EvoX .xbe to create the "dumper" 
                       version (what generates "e:\evoxdump.bin")
        evox_patched - Where patches are applied to "evoxdump.bin" to generate new "default.xbe"
                       (new EvoX dashboard with Drive G: support)

2. Copy an original EvoX dashboard .xbe into the "evox_gen_xbe" directory, calling the file

3. From a command prompt, "cd" into "evox_gen_xbe", and type "doit" (no quotes).  This will
   apply patches to the EvoX dashboard, creating a new "default.xbe".  This new "default.xbe"
   will function like a normal EvoX dashboard, except that it will create "e:\evoxdump.bin" every
   time it starts up.

4. Transfer the "evox_gen_xbe\default.xbe" to your Xbox.  I *strongly* suggest you don't replace your
   original dashboard executable with this, in case there are problems.  It would be best to create
   a temporary directory, and place this default.xbe into the temp directory.

5. Run/execute the "default.xbe" on your Xbox.  This will generate an "e:\evoxdump.bin", and then will
   start up into EvoX (with 'default' skin if you just dropped the default.xbe into a temp directory
   by iteself)

6. Reboot your Xbox (going back to normal dashboard), and transfer "e:\evoxdump.bin" back to your PC

7. Copy "evoxdump.bin" into the "evox_patched" sub-directory

8. From a command prompt, "cd" to the "evox_patched" directory, and type "doit" (no quotes).  This
   will apply patches to the EvoX dasboard, creating a new "default.xbe".  This new "default.xbe"
   (inside "evox_patched") is the new EvoX dashboard with Drive G:/partition7 support.

At this point, I *strongly* suggest that you transfer the new "default.xbe" to a temp directory on your
Xbox, and run it from there.  Verify that things are working correctly before making this your default
dashboard (before replacing "c:\evoxdash.xbe" with this new "default.xbe").

Here's what my patches add to EvoX:

1. Drive "G:" is created at startup (along with all the other drives).  This means other commands
   in EvoX.ini (like AutoAddItem) can specify G: in the path string.

2. Evox.ini "Format" command now supports "Format g:"

3. FTP commands formatpath/formatdrive now support "partition7" (drive G:)

4. When starting FTP, drive G is listed in the 'root' along with all the other drives

5. Added variable "SpaceG" (just like "SpaceF", but for G:).  This allows skins to display
   free space on drive G:.

6. FTP 'hddinfo' command now supports G:

NOTE: In some of the places where I added G: support, I rode on top of existing code for F:.  This means
      that the Evox.ini "UseFDrive" should be set to "Yes" in order for drive G: to work.