ep128emu is an open source, portable emulator of the Enterprise 128, ZX Spectrum 48/128, and Amstrad CPC 464/664/6128 computers, written in C++, and supporting Windows and POSIX platforms (32 bit Windows, 32 and 64 bit Linux, and MacOS X have been tested). It implements accurate, high quality hardware emulation...
ep128em is not the most straightforward emulator to setup or use. I would highly recommend reading the manual and/or the included readme BEFORE running.
The video tutorial below will help give you a good idea how to load and run *.com, *.prg, *.trn, and *.128 files. The second video explains how to load and run *.img files.
The only way I found to load the ZX Spectrum and Amstrad CPC emulators was from the command line:
"ep128emu.exe -zx" loads ZX Spectrum
"ep128emu.exe -cpc" loads Amstrad CPC