See http://www.worldofspectrum.org/ for information about the ZX Spectrum, its emulators, snapshots, and tools.
Z80 assembly source for ZXZVM version 1.12, by John Elliott
ZXZVM version 1.12, a Z-machine interpreter for the Spectrum +3, Spectrum with ResiDOS, Amstrad PCW8000/9000/10 and Amstrad PCW16, written by John Elliott. The archive contains a .TAP file for emulators, binary files for real Spectrums and 'classic' PCWs, a disc image for PCW16s, and documentation.