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-platformemulationpreservationtechnical1962–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

Approach How it works Strengths Weaknesses
Pure interpretation Decode and execute one instruction at a time Simple, portable, easy to debug Slow — typically 5-20× native overhead
Threaded interpretation Pre-decoded instruction stream Faster than pure interpretation More memory, more complex
Static recompilation Translate ROM to native code ahead-of-time Very fast at runtime Self-modifying code breaks it
Dynamic recompilation (JIT) Translate code blocks at runtime, cache Near-native speed, handles SMC Complex; large memory footprint
High-level emulation (HLE) Replace OS calls / GPU calls with native equivalents Very fast Game-specific bugs; less accurate
Cycle accuracy Model timing at single-cycle (or sub-cycle) resolution Reproduces hardware quirks games rely on Far slower than HLE
FPGA reimplementation Recreate hardware in programmable logic chip Hardware-level accuracy, deterministic timing Hardware cost; per-system development

Accuracy spectrum

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

Goal Example emulators
Fast and playable Nesticle (1997), ZSNES (1997), Project64 (early), Dolphin (HLE mode)
Compatibility-focused MAME (running thousands of arcades), RetroArch frontend
Cycle-accurate bsnes / higan (SNES, by byuu), Mesen (NES), Ares, FCEUX (recent)
Hardware-accurate (FPGA) MiSTer cores, Analogue Pocket / Super NT / Mega SG
Hybrid Dolphin (GameCube/Wii) — HLE GPU, cycle-ish CPU

Notable emulators by platform

Platform Emulators of note
Arcade MAME (1997+) — preserves thousands of boards
NES Nesticle (1997), FCEUX, Mesen, Nestopia
SNES ZSNES (1997), SNES9x, bsnes / higan, Mesen-S
Mega Drive / Genesis Gens, Kega Fusion, BlastEm, Genesis Plus GX
C64 VICE (1993+), Hoxs64, Denise
ZX Spectrum Fuse, Spectaculator, Speccy, Sinclair Bench
Amiga WinUAE / FS-UAE — both emulators of the AmigaOS/hardware
PlayStation ePSXe, PCSX, PCSX2 (PS2), Duckstation, RPCS3 (PS3)
Nintendo 64 Project64, Mupen64Plus, Ares, simple64
GameCube/Wii Dolphin (one of the most accurate of any console emulator)
DS DeSmuMe, melonDS
PSP PPSSPP
Switch Yuzu (until 2024 settlement), Ryujinx (until 2024 cessation)
Frontends RetroArch, 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:

Project Scope
MiSTer Open-source FPGA platform; cores for arcade boards, NES, SNES, Genesis, Amiga, ST, C64, etc.
Analogue Pocket Handheld FPGA — Game Boy / GBC / GBA accuracy; openFPGA cores extend to NES, SNES, more
Analogue Super NT SNES FPGA console
Analogue Mega SG Mega Drive / Genesis FPGA
Analogue Duo PC 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:

Product Year Platform emulated
NES Classic Mini 2016 NES (30 games)
SNES Classic Mini 2017 SNES (21 games)
PlayStation Classic 2018 PS1 (20 games) — emulator quality criticised
Mega Drive Mini 2019 Mega Drive — well-received emulation by M2
C64 Mini / Maxi 2018-19 C64 — VICE-derived
TheA500 Mini 2022 Amiga — using FS-UAE
TheC64 2019+ C64 / Vic-20

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

Issue Status
Emulator code itself Generally legal (Sony v. Connectix, Sony v. Bleem precedents in US)
BIOS / firmware Usually copyrighted; redistribution illegal; reverse-engineered clones exist
ROM files Copyrighted; distribution generally illegal regardless of “abandonware” claims
Personal backups Murky — depends on jurisdiction; not a clear safe harbour
Yuzu (Switch emu) settlement 2024 — Nintendo settled $2.4M with Yuzu team; chilled active console-emulator development
Ryujinx 2024 — 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

Reason Detail
Hardware scarcity Original CRTs, cartridges, disks, tape decks failing
Media degradation Magnetic media (tapes, floppies) deteriorate; optical discs rot; battery saves die
Capacitor failure 1980s/90s electronics need recapping or fail
Format obsolescence Even working hardware needs working media to play
Documentation Implementing an emulator forces deep understanding
Accessibility Anyone with a modern device can experience the games
Modding / hacking Save 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