For some obscure reason I seem to have gotten onto a LCD kick. My latest endeavor has been interfacing an Embedded Artist's 320 x 240 display to the Maple. This device is made by a swedish company but available from Digikey for about $115. It has a SPI interface, along with parallel. I kept the library functions mostly compatible with my Adafruit version, with some additions to accommodate display features such as PWM controllable backlighting, display inverse etc.
An interesting and challenging addition with this LCD is a touch screen. This is also SPI based but is not compatible with the LCD itself clock speed wise. The LCD runs with a maximum SCLK of 13 MHZ, and won't work at anything slower than 4.5MHZ. The Touch Screen cannot work with anything faster than 2 MHZ. They both share the same MOSI, MISO, and SCLK connections with separate chip selects.
So I have to flip the hardware SPI speed between 1.125MHZ (Touch Screen) and 9 MHZ (LCD) depending on what I'm accessing at the time. Fortunately, the Touch Screen has an option to generate an interrupt when the screen is touched, so I run in LCD by default.
The other issue with Touch Screen is aligning the x,y AD values of a touch with an actual screen coordinate. The defacto industry standard for this calibration is Carlos E. Vidales' "calibrate.c", kindly provided by Embedded Artists even if the sample "howto" is based on some obscure microprocessor and operating system and not very helpful. I have the calibrate function working, in than I can sort of align touches with screen coords, even though my stubby fat fingers and touch screens are basically incompatible. What I haven't figured out yet exactly is how to save off this alignment and matrix transformation info and reuse it in a meaningful application.
So I guess I now have two options for user input/output with my Maples. Cheap - Adafruit 1.8" TFT LCD ($25), IR Sensor/decoder chip ($2.00) and Adafruit Remote Control ($5.00) or expensive - LCD with Touch Screen ($115.00)...and of course I can always use the IR Remote with the bigger LCD instead of/or in addition to the Touch Screen.