So, I've done a bit of hacking at the SSD1306 library, but so far haven't had any improvement (or even change) in results. The screen is still filled primarily (about 80% of it) with junk.
The main thing I tried was expanding buffer[] to 1056 elements from 1024 elements (that's 132 * 64 / 8, rather than 128 * 64 / 8 ). From there, I tried different combinations of changing SSD1306_LCDWIDTH to 132, keeping it the same but making the for loops in display() and clearDisplay() loop through 1056 times rather than 1024 times, as in the lines that say:
for (uint16_t i=0; i<(SSD1306LCDWIDTH*SSD1306_LCDHEIGHT/8); i++) {
However, I completely forgot to mess with the command() calls at the top of display(). Whoops! I'll do that as well once I get home this evening - trying command(0) and command(131), as opposed to command(127), would make sense, no?
I'm still in the process of studying the library/learning how it all works, so forgive me if I sound like a complete newbie. Is there anything else/any other areas of the code that I should play around with?