Well, I decided to go back to the original HC design to see if I could get that working. Im not gonna give up, even if the Spi2par is much more sophisticated and fully plug-and-play...so...
Over the past day or so, I had been thinking of what could possibly fix the timing issue that was happening with the original HC version. Well I sort of knew long time ago, but wasnt sure on how to fix it. Well A few months back I had gotten some information from Xodus on how to access the SPI port directly (what I mean is how to control the actual Pins directly, avoiding the Software SPI layer).
Well recently I started to think of how to use that to my advantage, and so over the last day I came up with a simple, but good design of connecting the HC IC to the Xenium in such a form that there is NO timing problems.
Backtrack somewhat, the timing problem came from the fact that the HC595 chip is a serial -> parallel shifter IC, but it requires a signal to go High once all the bits have been shifted in. Since you have no means of doing this with the Xenium SPI port inherently as part of the Software SPI port then I left it at that.
But once you have full control over the I/O Pin's you can make the software control anything in whatever way you want. So I went about connecting the HC ic's serial in and clock to the normal SPI0 and CLK lines of the Xenium, and using the Software SPI port to send the data to the shifter, then connected the SPI1 Output line to the HC IC's "put out" line. So that in software I sent the shifter the data via the Software SPI port then manually took high SPI1 Output line and the data would appear on the d0-d7 lines, then bring the SPI1 low again.
This was easy to encapsulate into a function that could then be really easy to integrate into XBMC (simply replace the Outb function with my own).
So the results.... I have left XBMC running now for well over 3 hours, and still not a single glitch.
The only side problem, is that Contrast and Backlight arent software controllable, so you may need to use a POT or resistors to permanently set those. But then again, once you have them set, not likely you will change them again.
The other downside is that you will need to use a Custom build of XBMC. I will try and contact the Dev's once again to see about adding this into the official CVS, but as some of you remeber from the last time (adding contrast for Xenium) it took well over a month to get them to even notice the code. So I dont expect to see these changes in an official build for some time.
I will be posting soon on my website
http://spi2par.info under 'HC Ver' (may not exist the link yet) the schematics and information on how to build the thing yourself. All for under $1 !!!! And works with ANY parallel LCD.