Skip to content

A collection of resources re: emulation for preservation and access

Notifications You must be signed in to change notification settings

EG-tech/emulation-resources

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 

Repository files navigation

emulation-resources

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

Contents


Emulators

Organized by target system.

x86 PCs

  • 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)

Apple

  • OpenEmulator (Apple I and Apple II series, Mac-only)
  • microM8 (Apple II)
  • AppleWin (Apple II series, for Windows)
  • Virtual II (Apple II, for MacOS)
  • KEGS (Apple IIgs)
    • GSPlus (Apple IIgs, based on KEGS, nice interface)
    • GSport (Apple IIgs, based on KEGS, ethernet and printing cabaility)
  • 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)
  • 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

Commodore

Acorn

Atari

  • Hatari (Atari ST/STE/TT/Falcon)
  • Steem SSE (Atari ST, for Windows + Linux)

Wang

  • Wang3300 and Wang2200 (Wang mini/microcomputer series emulators)
  • QDAE (Apricot series and Wang Professional Computer)

Xerox

  • ContrAlto (Xerox Alto)
  • 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)

PalmOS

Android

  • 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)

Multi-System

Other

Software Download Sites

I have generally had luck with these sites, but be careful out there. (WinWorld is usually the first stop, then try others)

ROMS

ssshhh

Drivers

Setup Guides

QEMU

VirtualBox

Macs

Other

Hobby Sites and Computer History Resources

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:

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!

Emulators Written in JavaScript

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:

Hardware Emulators

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.

Floppy Drive Emulators

FPGAs

Bibliography

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!)

Repository Copyright

CC0
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.

About

A collection of resources re: emulation for preservation and access

Resources

Stars

Watchers

Forks