Please notify me on PM if I'm breaking some rules - especially on the Bus Pirate.
Over this weekend I cobbled up a breadboard version of Bus Pirate with the extra stuff I have from the drawer (the main chip PIC24FJ64GA002 is there too), dumped the bootloader and dumped the rest of the firmware with a dirt cheap USB->UART converter I have. It looked ghetto, but it worked on a Serial HD44780 LCD.
So, I have an idea. I have the ST7920 GLCD which I have a grudge on. It's a fussy thing and it is pretty slow. Wrong command, you see garbled mess and garbage on screen. The serial was the worst - it couldn't catch commands properly if you are unsure of its serial specifications. Since I have that franken-Bus Pirate, why not experiment on it?
On the terminal, I experimented with what would the screen look like if I have to set a certain SPI speed, or set a certain response on the SPI bus. It took some while before the screen would spit out the correct output in a consistent manner instead of terrible garbage. In the end, I wrote a script in Python, and at the least, it showed some (meaningful) text.
Here's the pic, and all these scripts are commented on important sections. Have fun.