Emulation, at a basic level, refers to “re-creating” hardware systems in software, effectively allowing us to use programs and software specific to one computer system on another. Video game emulation is usually what people refer to — emulating video game console systems on our own computers.
Emulator developers have to contend with a fundamental question:
- Do they prioritise performance, and hence allow the most amount of people to emulate hardware?
- Or accuracy, where they accurately re-create a hardware system in software, at the expense of heavy computational requirements?
- higan is an example of a legendary emulator for the SNES in terms of accuracy.
Emulation is also a question of digital preservation. As hardware becomes increasingly dated, we lose an enormous amount of information and knowledge about how the system once ran, the kinds of decisions the hardware engineers made, and the software itself that is specific to those systems. This is an enormously unfortunate worst-case scenario — because old consoles, hardware, and software are culturally significant and worthy of preservation.
Engineering history is notoriously present-focused. We stand on the shoulders of giants but don’t know what they even did.
A few excellent articles: