Dropping in here, I'm the person behind
http://dawnmist.dreamwidth.org/ ... and I'm not a guy
.
I've uploaded the library I was using to that post when Qumefox contacted me, so for anyone else interested in it it's available (with some details on what I'd done) here:
http://dawnmist.dreamwidth.org/549.html?thread=1573#cmt1573. For the garbled display - have you tried doing a plain "set to one colour" type test first? My first step in getting it working was to get a simple "colour the screen and draw a box" sketch working, then progress from there (since that proved the screen itself was working). I haven't had a chance to do any further work on it since mid-November, but the last state I had it in was
http://youtu.be/ElWEnGebk7I
You're obviously getting something through - otherwise there wouldn't be readable words, etc on the display. However, I was suspicious about timing issues in the screen write - I noticed myself that I'll get smeared bitmaps occasionally, and they tended to vanish if I added some delays to the write process (i.e. teensy was operating too fast for the screen to keep up - which was part of why I hadn't worried too much about using digitalWriteFast() yet). I haven't spent very much time yet looking into that (because I got sidetracked by a new NAS and putting my stuff into git and playing the computer game this was all intended to support instead *grins*) - but what I suspected was happening was the screen was still updating when the next write command got sent, resulting in overwriting/corruption of the on-board screen's RAM data before it had finished writing out to the tft and garbage being drawn on the screen. Given that bitmaps are written from the bottom row up the screen, that might account for the bottom section being readable with greater issues appearing higher up.
You also said earlier you were using an 8-bit data bus...which pins on the teensy/library did you end up using? Since I'd been using the 16-bit interface, I can't guarantee that the 8-bit one worked solo (though I knew it could work since it's part of the 16-bit one, and I'd followed the addressing standard used in the arduino pin examples so I thought it should work "in theory").
Those issues were why I hadn't submitted any changes upstream yet - it was still in very much an "experimental, mainly works for me" type state.