A collection of resources re: emulation for preservation and access. Maintained by myself for personal and professional reasons, but pull requests welcome!
If you have never contributed to GitLab before, feel free to file a new issue with a link and I'll add it! Or just ping me elsewhere.
There is a related companion repository for disk imaging resources at disk-imaging-resources
- Emulators
- Software Download Sites
- Setup Guides
- Hobby Sites and Computer History Resources
- Emulators Written in JavaScript
- Hardware Emulators
- Bibliography
Organized by target system.
- DOSBox (DOS-based x86 PCs)
- PCem (x86 PCs)
- 86Box (x86 PCs, fork of PCem)
- Bochs (x86 PC emulation)
- Microsoft Virtual PC (x86 PC virtualization)
- VirtualBox (x86 PC virtualization)
- VMware (x86 PC virtualization) - I think Workstation Player is the current free product/version for Windows + Linux, and Fusion for Macs, but good luck sorting that out
- QEMU (x86 PC virtualization)
- Qiwi (QEMU launcher; cross-platform Python app; developed by yours truly, feedback welcome 😄 )
- QEMU Manager (QEMU front-end; Windows-only)
- AQEMU (QEMU front-end, not actively developed and must be compiled from source)
- UTM (QEMU front-end, macOS-only)
- Virtual Machine Manager (can be used as a QEMU front-end but largely targeted at managing modern KVM virtual machines/virtualization rather than emulation)
- qemu-virgil (QEMU build with the Virgil 3D rendering library pre-configured; Linux-only Snap)
- qemu-screamer (QEMU fork with experimental sound support for PowerPC MacOS guests; must build from source)
- Windows95.js (Windows 95 image running in v86 - a JavaScript PC emulator, see JS emulators - packaged as a desktop app)
- OpenEmulator (Apple I and Apple II series, Mac-only)
- microM8 (Apple II)
- AppleWin (Apple II series, for Windows)
- LinApple (AppleWin port for Linux)
- Virtual II (Apple II, for MacOS)
- KEGS (Apple IIgs)
- Crossrunner (Apple IIgs, for Windows)
- LisaEm (Apple Lisa, for macOS + Linux)
- Advanced Mac Substitute (68k Mac emulator w/no need for ROMs or system software)
- Shoebill (Macintosh II, IIx and IIcx emulator that runs A/UX)
- Mini vMac (early 68k Macs)
- µvMac "Micro vMac" (fork of Mini vMac intended for a cleaner code base and user configuration, but doesn't really work yet; worth keeping an eye on)
- Snow (Classic Macs, in dev)
- Basilisk II (later 68k Macs)
- Macintosh.js (MacOS 8 image running in JavaScript port of Basilisk, packaged as a desktop app)
- SheepShaver (PowerPC Macs)
- QEMU (also does PowerPC emulation, OS 9.2.x-OSX)
- DingusPPC (experimental PowerPC Mac emulation; can not yet actually boot MacOS)
- .... and keeping an eye on Spoiled Apples
- CCS64 (Commodore 64, for Windows)
- VICE (Commodore series)
- UAE (Amiga series)
- Amiga Forever (Amiga, commercial product)
- WinFellow (Amiga)
- BeebEm (BBC Micro + Master 128)
- Arculator (Acorn Archimedes)
- ArcEm (Acorn Archimedes)
- RPCEmu (various Acorn + RiscPC machines)
- VirtualRPC (RiscPC, commercial product)
- Wang3300 and Wang2200 (Wang mini/microcomputer series emulators)
- QDAE (Apricot series and Wang Professional Computer)
- ContrAlto (Xerox Alto)
- ContrAlto2 (beta-status rewrite/update of ContrAlto, more actively maintained)
- Salto (Xerox Alto, for Windows)
- Dark Star (Xerox Star 8010)
- Medley Interlisp (not an emulator per se; modern re-write of the Medley Lisp IDE running on a portable VM, but could be used to run Lisp-based code/software in a modern environment)
- Mu
- POSE (Palm OS Emulator) (for Windows)
- CloudpilotEmu (POSE ported to a web app via Emscripten)
- Android Emulator (built-in Android device emulator included in downloads for all systems with Android Studio)
- Android-x86 (not an emulator; but this is a port of the Android operating system to x86 architecture, which allows it to be run as a guest in x86 PC emulators like QEMU or VirtualBox)
- Clock Signal (a variety of common 8- and 16-bit PC systems)
- Hercules (Mainframe sysytems, including: IBM System/370, ESA/390, z/Architecture)
- MAME/MESS (wide variety of arcade/video game machines and vintage CPUs)
- PCE (Atari ST, IBM PC5150, and 68k Mac emulation)
- QEMU (can also do various SPARC, MiPS, ARM, RISC-V, and other machines, see https://wiki.qemu.org/Documentation/Platforms)
- SimH (Multi-system early microprocessor emulator)
- AlmostTI (Texas Instruments Z80-based graphing calculators)
- Blackberry Simulator series (Blackberry mobile devices, for Windows)
- Ersatz-11 (DEC PDP-11)
- KLH10 (DEC PDP-10 series)
- Previous (NeXT machines)
- Ruffle (Flash Player emulator)
- z100 (Zenith Z-100)
I have generally had luck with these sites, but be careful out there. (WinWorld is usually the first stop, then try others)
- ArchiveOS
- Asimov
- BeBytes
- Bitsavers
- Dave's Old Computers
- Hobbes OS/2 Archive
- Internet Archive Software Collection
- The Lost Archives
- Macintosh Garden
- Macintosh Repository
- Mac GUI
- NeXT File Archive
- crawls of Oldapps.com
Note: downloads on the live site at Oldapps.com stopped working some time ago (c. 2017 or 2018), but you can sometimes still snag what you need by going to a Wayback Machine crawl from before that - Old versions of Linux
- OSBoxes
- PalmDB
- PulkoMandy's BeOS software archive
- Retrocomputing Archive
- Software Heritage source code archive
- QEMU Advent Calendars
- The U-M Software Archives
- Vetusware.com
- Windows Update Restored
- WinWorld
ssshhh
- https://github.com/macmade/Macintosh-ROMs
- https://www.macintoshrepository.org/7038-all-macintosh-roms-68k-ppc
- SPARC system ROMs
- RISC OS ROMs
- QEMU QED (Wayback)
- QEMU Wikibooks info/guides (Wayback)
- QEMU Tutorials, Computer History Wiki (Wayback)
- "How to install Windows 1/2 in QEMU"
- QEMU and mouse integration in DOS, Windows 3.x, Windows 95
- "How Linux got to be Linux: Test driving 1993-2003 distros" (includes relevant QEMU configurations and tips for a bunch of older Linux OSes) (Wayback)
- "Build your own SPARC with QEMU and Solaris" (how to set up and configure Solaris with qemu-system-sparc) (Wayback)
- Getting Started with Solaris 2.6 (builds off the previous tutorial, adds instructions for running/using particular programs) (Wayback)
- "Running Dano (BeOS) in Qemu" (Wayback)
- "OS/2 Warp 4 and QEMU" (Wayback)
- "QEMU with OS/2 Warp 3 as Guest" (Wayback)
- "Running Mac OS X as a QEMU/KVM Guest" (Wayback)
- 'How to run Android in QEMU to Play 3D Android Games on Linux
- Socket 3's VirtualBox setup guides:
- Windows 95/98 Guest OSes in VirtualBox (Wayback)
- Running NeXTSTEP in VirtualBox (Wayback)
- Installing NextStep OS (OpenStep) in VirtualBox (Wayback)
- "Build your own BeBox and run BeOS using Virtualbox" (Wayback)
- "OS/2 on Virtualbox Guide" (Wayback)
- A Guide to Legacy Mac Emulators (Wayback)
- E-maculation How-Tos (Wayback)
- Redundant Robot SheepShaver Tutorial (Wayback)
I've received many questions about where I get information about using and configuring old operating systems (and troubleshooting them with various emulation applications). Short answer: wherever search engines take me, even if it's a random forum post from 2004. But there are some vintage computing hobbyist sites and resources that have popped up more often, so a shoutout to those here:
- 4corn Computers
- Amit Singh (kernelthread.com)
- Apple Fandom Wiki
- Awesome Computer History
- Centre for Computing History
- Commodore Computers
- Computer History Museum
- Computer History Wiki
- Computer Hope
- David and Steve's Blog
- E-maculation forum
- Emulation General wiki
- EveryMac.com
- Halt and Catch Fire Syllabus
- Infinite Mac
- Info-Mac
- Interlisp bibliography
- IT History Society
- KnowledgeBase Archive
- kraxel's news
- The Linux Documentation Project
- Low End Mac
- Macintosh Librarian
- Macintosh System Error Codes Explained (PreOSX)
- Microsoft Update Catalog
- NeXT Computers
- Old Computer Museum
- Old-Computers.com
- Oldlinux.org
- The OS Files
- OS/2 Museum
- RetroWeb Vintage Computer Museum
- Siber-Sonic World O' Apple & Macintosh
- Socket 3: Bits & Bytes on Retro Computing
- System 7 Today
- Toasty Tech's GUI Gallery
- TOSEC - The Old School Emulation Center
- The Ultimate Computer Acronyms Archive
- VintageApple.org
- Virtually Fun
- What is the Apple IIGS
I should also mention that the Internet Archive frequently has scanned manuals, magazines and self-help books that you can download or check out from their eBook library!
Many of the emulators listed above and more have been ported to JavaScript, enabling them to be hosted and embedded on web pages and run by a browser. This is, for instance, how Internet Archive does their in-browser console and early PC emulation (e.g. with Em-DOSBox, a JS port of DOSBox, and JSMESS, a JS port of MAME/MESS).
JavaScript emulation has many advantages, especially that it makes emulated computers widely and quickly shareable. However, it passes much of the computing load on to client browsers - the entire emulator application, plus whatever operating system and applications or files the user wants to view, have to get downloaded into the user's browser. So it makes a lot of sense for early systems that barely take up much storage space or computing power by modern standards, but trying to run anything from ~2000 on (e.g. Windows XP and up) or the size of a CD-ROM runs the risk of unexpected/slow behavior, crashing the browser or client system, etc.
There are A LOT of emulators written in JavaScript, and I have found an already-existing list organized very similar to my own, so instead of recreating that work I will just link it here:
- Emulators written in Javascript, by @fcampbus on GitHub
Hardware emulation refers to the process of imitating one piece of hardware with another piece of hardware. Its utility is a little unclear in preservation and archiving use cases - part of the advantage of software emulation is the portability and flexibility of working in virtual environments.
Hardware emulation projects are frequently pushed forward by retro-computing and gaming hobbyists who want, for example, to maintain and use legacy computers without relying on fragile and no-longer-produced digital media (i.e. floppy disks, CD-ROMs) or parts.
They're pretty neat though, so I thought I'd include them here.
For some time, I maintained a bilbiography here of published resources related to emulation and software/digital preservation, including blog posts, journal articles, use cases, discussions of copyright consideration, training modules, and more. It ultimately grew to a point that GitLab/markdown was not a great place to keep adding to it.
I have instead moved those citations and resources to a collection on my Zotero account. Going forward, I will add new resources I find there - do check it out, as that page now has everything I previously linked in this repo and more. (This bibliography has also been copied/mirrored to the Software Preservation Network's public Zotero); much thanks to the SPN Training & Education working group for accepting my contribution!)
To the extent possible under law,
https://github.com/EG-tech/emulation-resources
has waived all copyright and related or neighboring rights to
emulation-resources.