Nice! Especially that you are releasing the sources!
I was just getting in touch with the SPI protocol and today I etched a board for an Atmega8 to use it as an SPI flasher.
It took me a few days to get some stuff that works for sniffing the NandPro protocol... And I'm just able to get the flashconfig. At least sometimes... I think my cables are too long. My own board isn't finished yet, so I hooked up an STK500.
Several things I tried for sniffing:
1) The Logic Analyzer I used for sniffing didn't have a protocol analyzer and counting clock cycles was boring and just sucked
2) Using an AVR to sniff the SPI stuff "on the wires" didn't work out... Perhaps too fast.
3) MS Detours for hooking the DLL calls to DLPortIO didn't work, too.
4) Then I created my own DLPortIO.dll, loaded the real DLPortIO.dll and delegated the calls of NandPro to the real ones and logged everything. That worked finally.
Oh and a whole bunch of diasassembling-fun of NandPro
At least I learned very much doing all this stuff.
I think that the SPI protocol that is used for reading/deleting/writing is the same as in lflash, right? I haven't looked at it, as I'm not yet able to read the flashconfig reliably :-/http://free60.git.sourceforge.net/git/gitweb.cgi?p=free60/tools;a=blob_plain;f=lflash/lflash.c;hb=HEAD
How did you find out the protocol?