Texture mapping, mipmaps, and transparency support for today. Oh, and the game can now switch between stages.
I'm surprised by how performant these ended up being. Texture mapping roughly doubles the cost of the rasteriser inner loop but nothing else, mipmapping is basically free, and transparency support - after a lot of prodding - compiles down to a single assembly instruction in the inner loop.
That said, none of them are free so the game is gradually slowing down despite my best efforts.