Another direction you might want to explore is to learn VHDL or Verilog and implement the CPU on an FPGA board.
You can get a prototype board for around $100 and should be able to build something to cover most of, say, the MIPS instruction set.
This would be a more engineering oriented project; I would follow along an 'introduction to computer organization' style course from a university (just google and you can determine the required textbook, exercises etc).
It's exciting to write some C code, compile it to mips instruction set with gcc (I had to do some fudging here because my cpu didn't implement the entire instruction set) -- and then run it on the fpga and get the right numbers.