“This library only functions with the Arduino Mega or Mega 2560 due to memory constraints!
This is a free, open source project which comprises light modification of Marat Fayzullin’s brilliant Z80 emulator in C in order to make it compatible with the Arduino Mega (other Arduinos do not have the memory to run it). You can view his download page for the original code here. This library is based off of Z80-081707.zip.
Reading over Z80.h is strongly encouraged to get a feel for the bitfields and core CPU structs, as well as the functions you must implement (see Usage below) and optional ones you can enable with by #defineing flags (such as running until HALT or running n cycles at a time as opposed to one opcode at a time, which is the default behavior).”