Arnold is a CPC Emulator original written and maintained by Kevin Thacker.
Arnold aims for maximum emulation accuracy across the whole CPC and CPC+ range, as well as the KC Compact. Different CRTC types can be selected as well as various other aspects of the emulated machine.
While early versions of Arnold where written using x86 assembly, more recent versions are written in portable C. This resulted in ports for MacOS, MacOS X, Linux, Unix and other platforms. While every port of Arnold has is own native user interface, the emulation core remains the same accross the different versions.
Arnold/Windows: http://arnold.emuunlim.com/, currently offline