Easy80 is an instruction accurate Z80 CPU emulator, at least it will be when it's finished. This is a learning project for me more than anything. After working my way through two other emulators for toy computer systems (CHIP-8 and Hack), moving on to a real, but simple, CPU seemed like the next step. The jump in complexity was significant.
I've been interested in the Z80 CPU for some time now, going as far as buying up some old stock online and putting together a primitive single-board computer based on the historic CPU. I plan to revisit that project at some point. The experience of writing an emulator will certainly be enlightening even when it comes to building and programming a real system.
Code for this emulator is available on GitHub. I am about 85% of the way through implementing opcodes. I will need to develop or find some testing tools to validate the accuracy of my emulation before I go much further. Once I have a working CPU core, I think I'll use it to create a full system simulator. I've got my eye on the ZX Spectrum and the Sega Master System.