Arnold is a CPC emulator originally 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 were 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 its own native user interface, the emulation core remains the same across the different versions.