z80emu is an emulator for the Zilog Z80 microprocessor. This was started as an experiment/hobby project to write an emulator for a CISC machine, after I had just written a MIPS simulator for my Advanced Architecture class. Additionally, I wanted a chance to mess with some of the fancy C++ features I'd never been allowed to use for class projects.
z80emu is licensed under the terms of the GPLv3 or later.
Resources used in creating this emulator include:
The Undocumented Z80 Documented (PDF)
An excellent writeup of the Z80 by Sean Young.
Official Zilog User's Manual (PDF)
The official user's manual from Zilog. While it contains several errors but is still a decent reference when combined with additional sources.
An excellent, interactive table of Z80 opcodes.
Wikipedia's article on the Z80, which gives a decent high-level overview of the chip and its features.
A nice, brief overview of the Z80 and some of it's undocumented behavior.