Bwhahaha! Another optimisation - I now only call SDL_LockTextures once a frame. There may be further optimisations, for example using paletted textures. But that'll do for now.
L Break Into Program
Sped up the emulator considerably by writing directly to the texture rather than plotting points for pixels. Took a couple of attempts to get right, but happy with the results. Also unrolled some loops. It's running pretty sweet on my old Dell laptop...