Software - My CPU - About
A while back, Notch (the creator of Minecraft) was playing around with the idea of a game that would have you flying around space in ships piloted by 80's era computers. Nothing much ever came of the idea, but while it was in development he released a spec for a 16-bit CPU that would be fully emulated in the game. It went through a couple revisions and people wrote compilers for it and had all sorts of pointless, esoteric fun. But that was a long time ago.
A year or so later, something made me think of that CPU and I looked up all the old specs and read through them. And they stuck in my head because I kept thinking, "Hmm, I wouldn't have done that part like that. And that other thing could be done differently. And you could improve it by adding this." So eventually I set out to design my own whole CPU. I basically started from Notch's memory layout and went from there.
Once I had it all sorted out in my head I wrote it all up in a nice little document. But that's really not enough for a project like this, so eventually I cobbled together this emulator and an assembler to build things for it.
And once I had started down the path of esoteric CPU design, I took it even farther and tried to develop one that crams everything into 8 bits and 256 bytes of memory.