Emulator

An emulator duplicates (provides an emulation of) the functions of one system using a different system, so that the second system behaves like (and appears to be) the first system. This focus on exact reproduction of external behavior is in contrast to some other forms of computer simulation, which can concern an abstract model of the system being simulated.

It has recently become common to use the word "emulate" in the context of software. However, before 1980, "emulation" referred only to hardware emulation, while "simulation" referred to software emulation.