The Muti-tasking Arduino

Bzdurek:
Bulls eye! I had to modify huge parts of the LCD595 library to speed it up.

Most all of the libraries you find out there are written by other hobbyists and some of them are good at it and some are not. If LCD595 does what I think it sounds like it does then I have a suggestion to make it lots lots faster. You can run a 595 shift register off the SPI hardware. Since the LCD isn't going to send any responses back to you, you don't have to worry about receiving. You just need a send buffer and the interrupt off of SPIF in SPSR to keep loading out bytes. It takes a few clock cycles to fetch the next value and load it into SPDR and return. Not only are you talking super fast to the LCD, but the rest of the program isn't being blocked while you do the transmission. I've got a blocking version of a library like that already, let me see if I can mod it to use the SPIF interrupt.