Emulation software is used to emulate different hardware of software environments. Emulation software can be used to run programs that may otherwise be incompatible with certain hardware or software configuration. Emulation software also provides a virtual environment for applications to run if needed.