One of my oldest ambitions was to design my own processor.
This later combined with the desire of doing something that would fight off Java (I used to hate it, now I came to better terms with it).
At that time the Java VM was really slow, (the JIT-compilers appeared later) and by comparison Spectrum games worked well in an emulator. Well, now they run well in an emulator written in Java, but that's another story.
The idea I had was to implement a simple processor that could be easily emulated. I wrote a specification and I started working on software emulation. I went through a couple of iterations as I discovered that some of the features I wanted caused a performance loss. Work went quite well and a while later I had an emulator working. The core of the is written in x86 assembler and wrapped in a Delphi program.
Unfortunately the only way to program it remained machine code, though I got around to at least write a basic assembler for it.