Let's agree to disagree. Something being done before is hardly relevant when you're using a project to learn. "Optimized to hell" I don't know about; it's a CPU emulator, there isn't that much you should be doing with it anyway. If you're doing accurate emulation speed doesn't seem like your primary factor as long as you're not implementing it in something ridiculous that will involve a GC.
Also, I don't get the point about research: It's a learning project... Doing research and learning is the actual point. Sure, maybe you slice off one part right now if you're not interested in learning how the CPU works, but to say that you'd be foolish to not use someone else's implementation seems to me to be missing the point by quite a margin.