I can understand how to scroll vertically by adjusting the frame buffer start by a scanline at a time, but it wasn't clear to me how scrolling horizontally would work without horribly shearing the framebuffer.
Now that I've thought about it a little more, I realised it's like painting a picture on the side of a cylinder. No matter where you draw the left-hand edge of the image, there's always a way to rotate the cylinder (set the CRTC_START and PEL registers) so you can see the whole thing clearly.
> I took the easy solution of when you finally did run to the edge of the screen I accepted a hitch and just copied the whole screen up.
I remember when Keen started up it would usually mention something about "VGA compatibility mode enabled", and I always wondered what that meant.
Now that I've thought about it a little more, I realised it's like painting a picture on the side of a cylinder. No matter where you draw the left-hand edge of the image, there's always a way to rotate the cylinder (set the CRTC_START and PEL registers) so you can see the whole thing clearly.
> I took the easy solution of when you finally did run to the edge of the screen I accepted a hitch and just copied the whole screen up.
I remember when Keen started up it would usually mention something about "VGA compatibility mode enabled", and I always wondered what that meant.