mcicolella / awesome-emulators-simulators

A curated list of software emulators and simulators of PCs, home computers, mainframes, consoles, robots and much more...
https://www.emmecilab.net
181 stars 28 forks source link
amiga awesome awesome-list commodore commodore-64 commodore64 emulation emulator hacktoberfest mainframe mainframes mini-computer mini-computers robotics simulation simulations simulator vic20

Awesome Emulators & Simulators

A curated list of software emulators and simulators of PCs, home computers, mainframes, consoles, robots and much more. **Check out my [Twitter account](https://twitter.com/emmecilab) or [blog](https://www.emmecilab.net/blog) and subscribe my [YouTube channel](https://youtube.com/c/emmecilab)**. ## Contents - [Contents](#contents) - [PCs](#pcs) - [Mini Computers](#mini-computers) - [Home Computers](#home-computers) - [Mainframes](#mainframes) - [Consoles](#consoles) - [CPUs](#cpus) - [Microcontrollers](#microcontrollers) - [Robotics](#robotics) - [Internet of Things](#internet-of-things) - [Networks](#networks) - [Various](#various) - [Resources](#resources) - [License](#license) - [Contributing](#contributing) ## PCs |Name|Description|Category|Latest version|Emulated system(s)|Running platform(s)|Written in|Licence|Source code| |----|-----------|--------|--------------|------------------|-------------------|----------|-------|-----------| [DOSBox](https://www.dosbox.com/)|DOSBox is a DOS-emulator that uses the SDL-library|Emulator|0.74-3|CPU 286/386 realmode/protected mode|Windows, BeOS, Linux, MacOS X|C++||[Source](http://source.dosbox.com/dosboxsvn.tgz)| [Fake86](https://sourceforge.net/projects/fake86/)|It is a portable, open-source 8086/80186 PC emulator|Emulator|0.13.9.16|IBM PC/XT, Intel 80186|Cross platform|C|GNU GPLv2|[Sourceforge](https://sourceforge.net/p/fake86/code/ci/master/tree/) [PCx86](https://www.pcjs.org/docs/pcx86/)|IBM PC and PC-compatible emulator|Emulator||A variety of XT and AT class machines, with processors ranging from the 8088 through the 80386|All platforms|Javascript|GNU GPLv3|[GitHub](https://github.com/jeffpar/pcjs) [P101Simulator](http://www.marcogaleotti.com/P101Simulator.html)|Olivetti Programma 101 simulator|Simulator||Olivetti Programma 101|Windows|||N/A [Programma 101](http://web.tiscali.it/claudiolarini/emul2.htm)|Olivetti Programma 101 emulator|Emulator|2008.07.23|Olivetti Programma 101|Windows|Quick Basic||N/A [P101](http://p101.unicas.it/p101/)|Olivetti Programma 101 simulator|Simulator|1.0|Olivetti Programma 101|Any browser|Javascript||N/A [XTulator](https://github.com/mikechambers84/XTulator)|x86 PC emulator up to Intel 80186|Emulator|0.20.7.15 pre-alpha|Intel 8086 and 80186|Cross platform|C||https://github.com/mikechambers84/XTulator ## Mini Computers |Name|Description|Category|Latest version|Emulated system(s)|Running platform(s)|Written in|Licence|Source code| |----|-----------|--------|--------------|------------------|-------------------|----------|-------|-----------| |[PDP-8/E](http://www.bernhard-baehr.de/pdp8e/pdp8e.html)|An emulator for the Digital Equipment PDP-8/E minicomputer|Emulator|2.0.2|PDP-8/E|PowerPC or Intel Mac with Mac OS X 10.4+||GNU GPL|[Download](http://www.bernhard-baehr.de/pdp8e/resources/pdp8e_simulator_2.0.2.dmg) ## Home Computers |Name|Description|Category|Latest version|Emulated system(s)|Running platform(s)|Written in|Licence|Source code| |----|-----------|--------|--------------|------------------|-------------------|----------|-------|-----------| [Altair 8800](http://classiccmp.org/cpmarchives/cpm/mirrors/www.schorn.ch/cpm/intro.php)|It is part of the SIMH family of simulators|Simulator|3.8.1||Cross-platform|C||[Source](http://classiccmp.org/cpmarchives/cpm/mirrors/www.schorn.ch/cpm/zip/altairz80source.zip) [Apple I](http://pom1.sourceforge.net/)|Apple I emulator|Emulator|1.0.0 |Apple I |Windows|Java|GNU GPL|[Sourceforge](https://sourceforge.net/p/pom1/code/HEAD/tree/trunk/) [Apple II](https://github.com/AppleWin/AppleWin/)|Apple II emulator|Emulator|1.25.04 |Apple II | Windows|C++|GNU GPL [Atari 800](https://atari800.github.io/)|Atari 800 emulator|Emulator|4.2.0 |Atari 8-bit computer systems and 5200 game console |Unix, Linux, Amiga, MS-DOS, Atari TT/Falcon, MS-Windows, MS WinCE, Sega Dreamcast, Android and other systems supported by the SDL library|C|GNU GPLv2|[GitHub](https://github.com/atari800/atari800) [vAmiga](https://dirkwhoffmann.github.io/vAmiga/)|Commodore Amiga 500, 1000 and 2000 emulator|Emulator|1.1beta3|Commodore Amiga 500, 1000 and 2000 |Only macOS|C++|GNU GPLv3|[GitHub](https://github.com/dirkwhoffmann/vAmiga) [VICE](http://vice-emu.sourceforge.net/)|VersatIle Commodore Emulator is a free and cross-platform emulator for Commodore's 8-bit computers|Emulator|3.5|Commodore 64, C128, VIC-20, Plus/4, C64 Direct-to-TV (with its additional video modes), all the PET models including the CBM-II |Microsoft Windows, OS X, Linux, MS-DOS, RISC OS, BeOS, QNX, OS/2, Solaris, SunOS, OpenServer, AmigaOS, Dingoo, Syllable Desktop, MiNT, MINIX 3|C|GNU GPLv2|[SourceForge](https://sourceforge.net/p/vice-emu/code/HEAD/tree/) [WinUAE](http://www.winuae.net/)|Windows porting of the UAE Amiga Emulator|Emulator| |Commodore Amiga| Windows|C++||[GitHub](http://github.com/tonioni/WinUAE) ## Mainframes |Name|Description|Category|Latest version|Emulated system(s)|Running platform(s)|Written in|Licence|Source code| |----|-----------|--------|--------------|------------------|-------------------|----------|-------|-----------| [EDSAC](http://www.dcs.warwick.ac.uk/~edsac/)|EDSAC simulator|Simulator|7.0.2|EDSAC|Windows XP+||| [Hercules](http://www.hercules-390.eu/)|An open source software implementation of the mainframe System/370 and ESA/390 architectures, in addition to the latest 64-bit z/Architecture||3.12|System/370, ESA/390, z/Architecture|Cross-platform||QPL|[GitHub](https://github.com/rbowler/spinhawk)| [z390 ASM](http://www.z390.org/)|The z390 portable mainframe macro assembler and emulator project|Emulator|1.5.06||Windows, Linux|Java||| ## Consoles |Name|Description|Category|Latest version|Emulated system(s)|Running platform(s)|Written in|Licence|Source code| |----|-----------|--------|--------------|------------------|-------------------|----------|-------|-----------| [Dolphin](https://dolphin-emu.org/)|Currently it is the only emulator that can emulate a console of the 7th generation|Emulator|5.0|Gamecube, Wii|Windows, Mac OS X, Linux, Android|C++|GPLv2+|[Github](https://github.com/dolphin-emu/dolphin/) [OpenEmu](http://openemu.org/)|Partially based on Retroarch but with the aim of providing a Mac-like experience.|Emulator|2.0.3|Atari, Nes, Famicom, SNES, N64, GB / GBA, Mega Drive / Genesis, PS1 etc.|Mac OS X|Objective-C|BSD-3-Clause|[Github](https://github.com/OpenEmu/OpenEmu) [PCSX2](http://www.libretro.com/)|Playstation 2 emulator|Emulator|1.4.0|Playstation 2|Windows, Linux|C++|GNU GPL|[Github](https://github.com/PCSX2/pcsx2) [Project64](http://www.pj64-emu.com/)|N64 emulator|Emulator|2.3.2-202|Nintendo 64|Windows|C, C++|GPL GNUv2|[GitHub](https://github.com/project64/project64) [RetroArch](http://www.libretro.com/)|An all-in-one emulator that is able to run games from pretty much every retro console out there|Emulator|1.3.6|Atari, Nes, Famicom, SNES, N64, GB / GBA, Mega Drive / Genesis, PS1 etc.|Windows, Mac OS X, Linux, mobile devices, RPI|C|GPLv3|[Github](https://github.com/libretro/RetroArch) ## CPUs |Name|Description|Category|Latest version|Emulated CPU(s)|Running platform(s)|Written in|Licence|Source code| |----|-----------|--------|--------------|---------------|-------------------|----------|-------|-----------| [ARM-js](http://biged.github.io/arm-js/arm-js.html)|An ARM emulator|Emulator||ARMv7-A|Chrome, Firefox|Javascript||[GitHub](https://github.com/ozaki-r/arm-js) [Intel 4004](http://e4004.szyc.org/)|Intel 4004 emulator with assembler e disassembler|Emulator||Intel 4004|All platforms|Javascript|| [Unicorn](https://www.unicorn-engine.org/)|Lightweight multi-platform, multi-architecture CPU emulator framework|Emulator|1.0.1|Arm, Arm64 (Armv8), M68K, Mips, Sparc, & X86 (include X86_64)|Windows, Mac OSX, Linux, BSD, Solaris|Pure C language with bindings for Crystal, Clojure, Visual Basic, Perl, Rust, Haskell, Ruby, Python, Java, Go, .NET, Delphi/Pascal & MSVC|GPL v2|[GitHub](https://github.com/unicorn-engine/unicorn) ## Microcontrollers |Name|Description|Category|Latest version|Emulated Micro(s)|Running platform(s)|Written in|Licence|Source code| |----|-----------|--------|--------------|-----------------|-------------------|----------|-------|-----------| |[simavr](https://github.com/buserror/simavr)|A lean and mean Atmel AVR simulator|Simulator||Different type of ATMega and ATTIny|Linux, Mac OSX|C|GNU GPL|[GitHub](https://github.com/buserror/simavr) ## Robotics |Name|Description|Category|Latest version|Emulated system(s)|Running platform(s)|Written in|Licence|Source code| |----|-----------|--------|--------------|------------------|-------------------|----------|-------|-----------| [Gazebo](http://gazebosim.org/)|Gazebo simulates multiple robots in a 3D environment, with extensive dynamic interaction between objects|Simulator|7.1.0|Custom|Ubuntu|C++|Apache 2.0|[Bitbucket](https://bitbucket.org/osrf/gazebo)| [Robocode](http://robocode.sourceforge.net/)|Robocode is a programming game, where the goal is to develop a robot battle tank to battle against other tanks in Java or .NET. The robot battles are running in real-time and on-screen.|Simulator|1.9.3.2||All platforms|Java, .NET|Eclipse Public License v1.0|[GitHub](https://github.com/robo-code/robocode)| [V-REP](http://www.coppeliarobotics.com/)|The robot simulator V-REP, is based on a distributed control architecture: each object/model can be individually controlled via an embedded script, a plugin, a ROS or BlueZero node, a remote API client, or a custom solution|Simulator|3.6.2||All platforms|C & Lua|Custom License|[Copellia Robotics web page](http://www.coppeliarobotics.com/downloads.html)| [YARP]()|YARP stands for Yet Another Robot Platform. What is it? If data is the bloodstream of your robot, then YARP is the circulatory system.|Collection of robotics programs|3.2.1||All platforms|C++| BSD-3-Clause license|[GitHub](https://github.com/robotology/yarp)| [webots](https://cyberbotics.com/)|Webots is an open source robot simulator that provides a complete development environment to model, program and simulate robots.|Simulator|R2020b-rev1||All platforms|C++| Apache 2.0 license|[GitHub](https://github.com/cyberbotics/webots)| ## Internet of Things |Name|Description|Category|Latest version|Emulated system(s)|Running platform(s)|Written in|Licence|Source code| |----|-----------|--------|--------------|------------------|-------------------|----------|-------|-----------| [Arm Mbed OS simulator](https://github.com/janjongboom/mbed-simulator)|Experimental simulator for Mbed OS 5 applications|Simulator||Mbed OS 5|All browsers|C++, Javascript||[GitHub](https://github.com/janjongboom/mbed-simulator) [Hue-Emulator](https://github.com/SteveyO/Hue-Emulator)|The Hue Emulator is a Bridge Emulator for the Philips Hue - Personal Wireless System|Emulator|0.8|Philips Hue bridge and light bulbs|All platforms|Java||[GitHub](https://github.com/SteveyO/Hue-Emulator)| [Sense HAT](https://trinket.io/sense-hat)|Raspberry Pi Sense HAT emulator to program in Python|Emulator|||Web browser||N/A|N/A [Sense HAT](https://github.com/waveform80/python-sense-hat)|Raspberry Pi Sense HAT emulator based on Sense HAT Python library|Emulator|2.1.0|Rpi Sensor HAT|Web browser|Python|BSD-3-Clause|[GitHub](https://github.com/waveform80/python-sense-hat) [AWS IoT device simulator](https://aws.amazon.com/answers/iot/iot-device-simulator)|IoT device simulator in AWS|Simulator|v1.0.1|All browsers|AWS cloud, Docker|Javascript|ASL (Amazon Software License)|[GitHub](https://github.com/awslabs/iot-device-simulator) ## Networks |Name|Description|Category|Latest version|Emulated system(s)|Running platform(s)|Written in|Licence|Source code| |----|-----------|--------|--------------|------------------|-------------------|----------|-------|-----------| [Cloonix](http://clownix.net/)|The Cloonix network simulator provides a relatively easy-to-use graphical user interface.|Simulator|[cloonix-v42-07](http://clownix.net/doc_stored/build-42-07/html/index.html)|Variety of pre-build filesystems using QEMU/KVM|Linux (Fedora, CentOS, openSUSE, Debian, etc)|C, Shell|AGPLv3|[GitHub](https://github.com/clownix/cloonix) ## Various |Name|Description|Category|Latest version|Emulated system(s)|Running platform(s)|Written in|Licence|Source code| |----|-----------|--------|--------------|------------------|-------------------|----------|-------|-----------| [Cardpunch](http://www.kloth.net/services/cardpunch.php)|Cardpunch emulator to create a PNG or JPEG image of a punched card|Emulator|||Web browser|PHP|N/A|N/A [Enigma Machine Emulator](http://enigma.louisedade.co.uk/)|Emulating Navy M3 and M4 Enigma Machines.|Emulator|||Web browser|Javascript|N/A|[Source code](http://enigma.louisedade.co.uk/jssource.html) [MovSim](http://www.movsim.org)|Multi-model open-source vehicular-traffic simulator|Simulator|1.6.0||All platforms|Java|GPL v3|[GitHub](https://github.com/movsim/movsim) [Traffic Simulator](http://www.traffic-simulation.de/)|Traffic simulator|Simulator|||All browsers|HTML5|GPL v3|[GitHub](https://github.com/movsim/traffic-simulation-de) [Turing Machine Simulator](http://morphett.info/turing/turing.html)|Turing machine simulator|Simulator|||All browsers|Javascript, Jquery||[GitHub](https://github.com/awmorp/jsturing) [Universal Enigma Machine Simulator](https://summersidemakerspace.ca/projects/enigma-machine/)|Enigma machine simulator|Simulator|||Web browser||| [Web Enigma Machine Emulator](https://www.101computing.net/enigma-machine-emulator/)|A web emulator for M3 Enigma Machine.|Emulator|||Web browser||| [Enigma Machine Emulator](https://github.com/mirkoperillo/enigma)|A command line application to emulate the M3 Enigma machine.|Emulator|||All platforms|Go|CC0|[Github](https://github.com/mirkoperillo/enigma) [Virtual Apollo Guidance Computer](http://www.ibiblio.org/apollo/)|Apollo Guidance Computer simulator|Simulator|||All platforms|C++|GPL|[GitHub](https://github.com/virtualagc/virtualagc) ## Resources * [Arduino Enigma Machine Simulator](http://arduinoenigma.blogspot.com/) * [Preserving Computing's Past: Restoration and Simulation](http://simh.trailing-edge.com/docs/dtjn02pf.pdf) * [Punched card codes](http://homepage.cs.uiowa.edu/~jones/cards/codes.html) * [The Virtual Life of ENIAC Simulating the Operation of the First Electronic Computer](http://zuse-z1.zib.de/simulations/eniac/doc/virtualENIAC.pdf) ## License [![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/) ## Contributing Please, read the [Contribution Guidelines](https://github.com/mcicolella/awesome-emulators-simulators/blob/master/contributing.md) before submitting your suggestion. Feel free to [open an issue](https://github.com/mcicolella/awesome-emulators-simulators/issues) or [create a pull request](https://github.com/mcicolella/awesome-emulators-simulators/pulls) with your additions. :star2: Thank you!