re: (* Seriously. Been there, done that. 6809 circa 1980.)
I've done something like that. 6809 on a Tandy CoCo3, early 1990s. I had bought an assembly-language tutorial book at Radio Shack, but was unable to get EDTASM, which it was written for. Luckily, the book had a table of opcodes, as well as object code printouts in all its code examples, so I taught myself how to hand-assemble.
I did all that to try to get some resemblance of speed out of the CoCo3's "hi-res" graphics modes (a whopping 320x200 in 16 colors). The stock HGET and HPUT blitter commands were way too slow (which is what happens when the original programmers' properly "structured" program calls 3 subroutines for each byte it's copying to the frame buffer). I also added transparency and horizontal & vertical flipping. And tile-based backgrounds. And double-buffering. I never actually did built the game I wanted to make; I had more fun building the tools. (for certain definitions of "fun".)