Finally after ten clueless days and meandering around the Internet, reading and re-reading the datasheet for the umpteenth time I'm happy to announce that I have written a display driver from scratch. The SSD1306 in particular. Most of my days were filled with doubt and angst but at the end of each day there were slivers of possibilities. Those helped me to get going. Until two days ago, where it felt like I would be stuck on the problem for ever. Turned out to be bad inputs. You can find the driver here, if you are interested.
The crazy thing was that each of those days I made progress when I decided to not to stop. Most times these were the moments I would have stopped and tried again the next day. The only reason I didn't was because I was streaming the whole thing. Some reason I have decided that I will do at least an hour, so that's what I have been doing. Turns out it's also my threshold for figuring things out. Most of the breakthroughs came after the hour mark. The longer streams ended up making the most progress. I might sound stupid saying that but when you I am stuck, I've usually just moved on to other things. This is new for me. I guess that doesn't make it not stupid. But anyhow, I've been having a lot of fun.
Next steps
The closest next thing to do is to control where things are rendered on the screen. I'm going to be switching from horizontal to page rendering and that should be it for the display for now. After that I've got to figure out how to get the display to work. Writing one driver is not convincing so I (might) write a driver for the Wifi module. Some reason it scares me more than the display driver. But I'll get that later, for now I'm going to ride this high all day long.
Also, today I had my first interaction on stream. It's been an awesome fucking day.