Home

Emulator

An emulator is software or hardware that allows a computer system to imitate another system. Emulation enables software or digital devices designed for one hardware or software platform to run on a different platform. It differs from virtualization in that emulation reproduces the original hardware’s behavior, including a different instruction set, timing, and peripherals, whereas virtualization typically runs guest software on hardware with a compatible instruction set through a hypervisor.

Emulation works by translating the guest system’s instructions and hardware interactions into actions on the host

Uses and examples include software preservation, where emulation helps run legacy applications and games on modern

system.
This
can
be
done
by
interpretation,
where
each
instruction
is
translated
on
the
fly,
or
by
dynamic
recompilation,
where
blocks
of
guest
code
are
translated
into
host
code
for
faster
execution.
An
emulator
must
model
the
guest’s
central
processor,
memory
layout,
input/output
devices,
graphics,
audio,
and
timing
behavior.
Accurate
emulation
aims
to
reproduce
results
and
behavior
as
if
the
original
hardware
were
present,
while
performance
depends
on
host
capabilities
and
the
efficiency
of
the
translation
layer.
Legal
considerations
may
apply,
as
many
emulation
projects
rely
on
firmware,
BIOS
images,
or
ROM
dumps
that
are
subject
to
copyright.
hardware;
cross-platform
development
and
testing;
and
educational
demonstrations
of
how
different
architectures
operate.
Notable
emulators
include
MAME
for
arcade
hardware,
Dolphin
for
GameCube
and
Wii,
PCSX2
for
PlayStation
2,
PPSSPP
for
PlayStation
Portable,
and
QEMU,
which
supports
multiple
architectures
and
modes
including
virtualization.
Emulation
can
offer
features
such
as
save
states
and
graphical
upscaling,
but
may
also
introduce
compatibility
gaps
and
input
lag.