A couple of interesting projects from Donn Stewart:
and ten years later, another one:
My Home-Built 8-bit TTL Computer Processor (CPU)
The original processor had a single instruction format (4-bit opcode, 12-bit operand), and a 16-bit memory width so I could fetch instructions in one step from a 16-bit wide memory. It had only a 12-bit memory space (4K words). The ALU was 12-bits wide, but because of that I was unable to load instructions over a serial interface as two 8-bit words – the processor could not assemble a 16-bit instruction from two 8-bit input bytes! I cobbled together a port that that would shift the first of two input bytes into the high-order byte of a 16-bit word, but it was a kludge. The processor worked, but it was far from elegant. It had a very small memory space, and an ALU that did not do subtract-with-borrow correctly.
(As posted just now over on anycpu)
via Huntrod’s blog