Does this look like a hardware problem or is it something I've broken?
Most likely a hardware problem. In theory it could be a bad driver
that corrupts memory, but if it worked fine before that's unlikely.
You could test with memtest86 at least.
-Andi