Skip to content
Techniques & Technology

Emulation Techniques

Software becoming hardware

Emulation techniques translate one computer architecture to another, preserving playable software when original hardware becomes scarce.

cross-platform emulationpreservationtechnical 1962–present

Overview

One computer pretending to be another. Emulation runs software written for one machine on a different machine by intercepting machine instructions and translating them to the host system. Approaches range from interpretation (decode each instruction one by one — accurate but slow) through dynamic recompilation (translate blocks of guest code to native host code — fast but complex) to high-level emulation (replace whole subsystems with native equivalents — fastest, least accurate). Emulation preserves gaming history as original hardware ages, and powers the vintage-computing community from MAME arcade preservation through MiSTer FPGA cores to commercial mini-consoles.

The first widely-cited emulator dates to 1962 (IBM 7070 simulating IBM 1401 software for migration). Gaming emulation reached the public in the late 1990s with Nesticle (1997), ZSNES (1997), VICE (Commodore 64, 1993+), and MAME (1997).

Fast facts

  • Origin (computing): IBM emulation, 1962 — pre-dates microprocessors.
  • Gaming popularisation: Late 1990s — Nesticle, ZSNES, MAME, VICE.
  • Modern landscape: Software emulators, FPGA recreations, mini-console hardware.
  • Legal status: Emulators legal in most jurisdictions (Sony v. Connectix / Bleem precedents); ROM distribution mostly not legal without rights.
  • Preservation role: Frontline of digital-game preservation alongside ROM dumping and hardware archives.

Technical approaches

ApproachHow it worksStrengthsWeaknesses
Pure interpretationDecode and execute one instruction at a timeSimple, portable, easy to debugSlow — typically 5-20× native overhead
Threaded interpretationPre-decoded instruction streamFaster than pure interpretationMore memory, more complex
Static recompilationTranslate ROM to native code ahead-of-timeVery fast at runtimeSelf-modifying code breaks it
Dynamic recompilation (JIT)Translate code blocks at runtime, cacheNear-native speed, handles SMCComplex; large memory footprint
High-level emulation (HLE)Replace OS calls / GPU calls with native equivalentsVery fastGame-specific bugs; less accurate
Cycle accuracyModel timing at single-cycle (or sub-cycle) resolutionReproduces hardware quirks games rely onFar slower than HLE
FPGA reimplementationRecreate hardware in programmable logic chipHardware-level accuracy, deterministic timingHardware cost; per-system development

Accuracy spectrum

Different emulators target different points on the accuracy / speed curve:

GoalExample emulators
Fast and playableNesticle (1997), ZSNES (1997), Project64 (early), Dolphin (HLE mode)
Compatibility-focusedMAME (running thousands of arcades), RetroArch frontend
Cycle-accuratebsnes / higan (SNES, by byuu), Mesen (NES), Ares, FCEUX (recent)
Hardware-accurate (FPGA)MiSTer cores, Analogue Pocket / Super NT / Mega SG
HybridDolphin (GameCube/Wii) — HLE GPU, cycle-ish CPU

Notable emulators by platform

PlatformEmulators of note
ArcadeMAME (1997+) — preserves thousands of boards
NESNesticle (1997), FCEUX, Mesen, Nestopia
SNESZSNES (1997), SNES9x, bsnes / higan, Mesen-S
Mega Drive / GenesisGens, Kega Fusion, BlastEm, Genesis Plus GX
C64VICE (1993+), Hoxs64, Denise
ZX SpectrumFuse, Spectaculator, Speccy, Sinclair Bench
AmigaWinUAE / FS-UAE — both emulators of the AmigaOS/hardware
PlayStationePSXe, PCSX, PCSX2 (PS2), Duckstation, RPCS3 (PS3)
Nintendo 64Project64, Mupen64Plus, Ares, simple64
GameCube/WiiDolphin (one of the most accurate of any console emulator)
DSDeSmuMe, melonDS
PSPPPSSPP
SwitchYuzu (until 2024 settlement), Ryujinx (until 2024 cessation)
FrontendsRetroArch, OpenEmu (macOS), Launchbox

FPGA emulation

A different category — instead of running software that mimics hardware, FPGAs (Field Programmable Gate Arrays) reconfigure their physical logic to become the original hardware:

ProjectScope
MiSTerOpen-source FPGA platform; cores for arcade boards, NES, SNES, Genesis, Amiga, ST, C64, etc.
Analogue PocketHandheld FPGA — Game Boy / GBC / GBA accuracy; openFPGA cores extend to NES, SNES, more
Analogue Super NTSNES FPGA console
Analogue Mega SGMega Drive / Genesis FPGA
Analogue DuoPC Engine / TG-16 FPGA

FPGAs offer sub-pixel sub-microsecond timing fidelity that software emulation struggles with. They cost more, but for hardware purists they're the closest non-original option.

Mini-consoles and commercial emulation

Console-style emulation reached mainstream consumers via "mini" hardware:

ProductYearPlatform emulated
NES Classic Mini2016NES (30 games)
SNES Classic Mini2017SNES (21 games)
PlayStation Classic2018PS1 (20 games) — emulator quality criticised
Mega Drive Mini2019Mega Drive — well-received emulation by M2
C64 Mini / Maxi2018-19C64 — VICE-derived
TheA500 Mini2022Amiga — using FS-UAE
TheC642019+C64 / Vic-20

These shipped emulator-on-ARM-board hardware to millions; legitimised emulation as a commercial product.

IssueStatus
Emulator code itselfGenerally legal (Sony v. Connectix, Sony v. Bleem precedents in US)
BIOS / firmwareUsually copyrighted; redistribution illegal; reverse-engineered clones exist
ROM filesCopyrighted; distribution generally illegal regardless of "abandonware" claims
Personal backupsMurky — depends on jurisdiction; not a clear safe harbour
Yuzu (Switch emu) settlement2024 — Nintendo settled $2.4M with Yuzu team; chilled active console-emulator development
Ryujinx2024 — main developer entered agreement with Nintendo; project effectively halted

The legal pressure on active-generation console emulation has intensified since 2024. Older hardware emulation faces less direct pressure.

Preservation value

ReasonDetail
Hardware scarcityOriginal CRTs, cartridges, disks, tape decks failing
Media degradationMagnetic media (tapes, floppies) deteriorate; optical discs rot; battery saves die
Capacitor failure1980s/90s electronics need recapping or fail
Format obsolescenceEven working hardware needs working media to play
DocumentationImplementing an emulator forces deep understanding
AccessibilityAnyone with a modern device can experience the games
Modding / hackingSave states, debugger UIs, fan-translation patches, speedrun tools

Major archives (the Internet Archive, Pouet, Hall of Light, GameBase, NESdev) and emulator authors collectively form the gaming-preservation infrastructure. Commercial preservation (Nintendo Switch Online, PlayStation Plus Premium, Antstream Arcade, Atari 50) relies on emulation tech that the hobby invented.

See also