A piece of hardware (or software) that when attached to a computer makes it behave as if it was another type of computer. Thus programs prepared for one range of computers can, with the aid of an emulator, be run on another range of computers. The term ‘virtual machine’ is now also in common usage.