Unofficial HDL Dump server v0.8.7 README file	-	2011/06/23
------------------------------------------------------------------

HDL Dump server v0.8.7 is a modified version of HDL Dump server v0.8.6 with the server, protocol stack and PS2HDD driver from OPL.

It uses my own optimized version of PS2SMAP that has full (For transmission and receival) 128-byte block DMA transfers. Redundant code was stripped out, and less important checks were removed.
Right now, it can attain speeds of roughly 1.60MB/s with my SCPH-39006 Playstation 2 console and my PC (About 60% faster than the SMAP driver shipped with OPL).

I can see more ways for improvement though:

1. Port the DMA-support code to EEUG's SMAP driver (Found in OPL or SMS). His driver contains optimizations in MIPS assembly.
	However, OPL's SMAP driver totally lacks DMA support and the SMAP driver of SMS only supports DMA transfers during data receival (Only one way).
2. Replace the PS2IP (LWIP) protocol stack with another stack that has less overhead or port the protocol stack to run on the EE instead.
3. Stick the DMA-support code into another SMAP driver; The system used by pktdrv seems good - on my systems, it can push data around at over 2MB/s - without DMA!

I could have ported my driver for use within OPL, but OPL cannot be compiled on my computers at the moment as my PS2SDK is a little too outdated (I have to stick with r1689 or I'll break some of my other homebrew).
Plus I'll like to spend some time on my other interests, my family and my school work (I need to maintain my grades) before I graduate and get comscripted into Singapore's army as part of my compulsary National Service (NS). D:

Additional Notes:
-----------------
1. I have tested the SMAP driver on my SCPH-39006, but not on my SCPH-10000 console. Compatibility cannot be guaranteed with the older console then, especially since I remember that an older version of my DMA-enabled SMAP driver didn't work well on that console.
2. I didn't do any tests on my SCPH-77006 console this time, but I'm sure that it'll work great with it. :)
3. The loader of this HDL dump server won't be compiled automatically at compile time as I had disabled that in it's makefile.
4. CopyToFIFO() assumes that the number of bytes to copy has been rounded up to the nearest 128 bytes (And that is done in it's calling function).
5. I didn't test the other functionality of the HDL dump server other than installing games. D:
6. Sometimes, HDL Dumb will cease functioning properly on me (Usually when I don't give it priority on my computer). :(

Good luck and have fun!
-SP193