Emulation
Emulation
See also Virtualisation, Amiga#Emulation
- https://github.com/mduft/rex - A SSH based remote execution agent that allows to execute non-native binaries on shared filesystem remotely on another architecture (fex. run windows binaries from linux, executing on native windows).
- https://github.com/ptitSeb/box86 - run x86 Linux program (games) on non-x86 Linux, like ARM (needs to be 32bits little-endian).Also, Box86 use native version for some "system" libraries, like libc, libm, or SDL and OpenGL, leading to more performance and easier integration with host system.
SimH
- SimH - a simulator for historic computer systems, as well as papers and reflections on the history of computing, particularly at Digital Equipment Corporation (DEC). SimH (History Simulator) is a loose Internet-based collective of people interested in restoring historically significant computer hardware and software systems by simulation. The goal of the project is to create highly portable system simulators and to publish them as freeware on the Internet, with freely available copies of significant or representative software. The current, official version of SimH can be found in a GitHub source repository. It includes many additional simulators, as well as more advanced core libraries.
Unicorn
- Unicorn - a lightweight multi-platform, multi-architecture CPU emulator framework.Highlight features: Multi-architectures: Arm, Arm64 (Armv8), M68K, Mips, Sparc, & X86 (include X86_64). Clean/simple/lightweight/intuitive architecture-neutral API. Implemented in pure C language, with bindings for Crystal, Clojure, Visual Basic, Perl, Rust, Haskell, Ruby, Python, Java, Go, .NET, Delphi/Pascal & MSVC available. Native support for Windows & *nix (with Mac OSX, Linux, *BSD & Solaris confirmed). High performance by using Just-In-Time compiler technique. Support fine-grained instrumentation at various levels. Thread-safe by design. Distributed under free software license GPLv2.
- usercorn - an analysis and emulator framework. it can run arbitrary binaries on a different host kernel while recording full system state at every instruction to a serializable compact format capable of rewind and re-execution. it's useful out of the box for debugging, with an arch-neutral powerful lua-based debugger. it's also easy to extend and use to build your own tools
IBMULATOR
- IBMULATOR - a free/libre, open source emulator for the IBM PS/1, able to run with the original ROM. The goal is to create a faithful simulator capable of recreate the look and feel of the real machine.
Bochs
- Bochs - a highly portable open source IA-32 (x86) PC emulator written in C++, that runs on most popular platforms. It includes emulation of the Intel x86 CPU, common I/O devices, and a custom BIOS. Bochs can be compiled to emulate many different x86 CPUs, from early 386 to the most recent x86-64 Intel and AMD processors which may even not reached the market yet. Bochs is capable of running most Operating Systems inside the emulation including Linux, DOS or Microsoft Windows. Bochs was originally written by Kevin Lawton and is currently maintained by this project. Bochs can be compiled and used in a variety of modes, some which are still in development. The 'typical' use of bochs is to provide complete x86 PC emulation, including the x86 processor, hardware devices, and memory. This allows you to run OS's and software within the emulator on your workstation, much like you have a machine inside of a machine. For instance, let's say your workstation is a Unix/X11 workstation, but you want to run Win'95 applications. Bochs will allow you to run Win 95 and associated software on your Unix/X11 workstation, displaying a window on your workstation, simulating a monitor on a PC.
PCem
PCE
- PCE - PC Emulator - a collection of microcomputer emulators.
Previous
- Previous - a Next computer hardware emulator. It aims to emulate a Next Cube or a Next Station with all its peripheral. [3]
JSLinux
Hatari
- Hatari - an Atari ST/STE/TT/Falcon emulator for GNU/Linux, BSD, Mac OS X, Windows and other systems which are supported by the SDL library. The Atari ST was a 16/32 bit computer system which was first released by Atari in 1985. Using the Motorola 68000 CPU, it was a very popular computer having quite a lot of CPU power at that time. Unlike many other Atari ST emulators which try to give you a good environment for running GEM applications, Hatari tries to emulate the hardware of a ST as close as possible so that it is able to run most of the old ST games and demos. Hatari is open source software and is distributed under the terms of the GNU General Public License (GPL). [6]
ruby2600
- https://github.com/chesterbr/ruby2600 - An experimental Atari™ 2600 emulator, 100% written in Ruby
pctation
- https://github.com/VelocityRa/pctation - PlayStation emulator in C++17
beebui
- https://github.com/andydotxyz/beebui - A BBC Micro Emulator based on Fyne and skx/gobasic
recalbox
- https://gitlab.com/recalbox/recalbox - The recalbox os. Retrogaming open source operating system for Raspberry Pi, Odroid and PC.
Unicorn
- https://github.com/unicorn-engine/unicorn - Unicorn CPU emulator framework (ARM, AArch64, M68K, Mips, Sparc, X86)
- https://github.com/kstenerud/Musashi - Motorola 680x0 emulator written in C
Box86
- https://github.com/ptitSeb/box86 - Linux Userspace x86 Emulator with a twist, targeted at ARM Linux devices
Spectrum
- https://github.com/ibancg/zx-tape-loader - Spectrum .tzx file generator from .wav audio files
Mac
- https://github.com/pruten/shoebill - A Macintosh II emulator that runs A/UX [7]
Games
- https://en.wikipedia.org/wiki/Video_game_console_emulator - a type of emulator that allows a computing device to emulate a video game console's hardware and play its games on the emulating platform. More often than not, emulators carry additional features that surpass the limitations of the original hardware, such as broader controller compatibility, timescale control, greater performance, clearer quality, easier access to memory modifications (like GameShark), one-click cheat codes, and unlocking of gameplay features. Emulators are also a useful tool in the development process of homebrew demos and the creation of new games for older, discontinued, or more rare consoles.
The code and data of a game are typically supplied to the emulator by means of a ROM file (a copy of game cartridge data) or an ISO image (a copy of optical media), which are created by either specialized tools for game cartridges, or regular optical drives reading the data. Most games retain their copyright despite the increasing time-span of the original system and products' discontinuation; this leaves regular consumers and emulation enthusiasts to resort to obtaining games freely across various internet sites rather than legitimately purchasing and ripping the contents (although for optical media, this is becoming popular for legitimate owners). As an alternative, specialized adapters such as the Retrode allow emulators to directly access the data on game cartridges without needing to copy it into a ROM image first.
- RomsMode.com - ROMs Free Download for GBA, SNES, NDS, GBC, GB, N64, NES, PS1, PS2, PSP, MAME, SEGA and More!
- MAME - a multi-purpose emulation framework.MAME's purpose is to preserve decades of software history. As electronic technology continues to rush forward, MAME prevents this important "vintage" software from being lost and forgotten. This is achieved by documenting the hardware and how it functions. The source code to MAME serves as this documentation. The fact that the software is usable serves primarily to validate the accuracy of the documentation (how else can you prove that you have recreated the hardware faithfully?). Over time, MAME (originally stood for Multiple Arcade Machine Emulator) absorbed the sister-project MESS (Multi Emulator Super System), so MAME now documents a wide variety of (mostly vintage) computers, video game consoles and calculators, in addition to the arcade video games that were its initial focus.
- Mednafen - a portable, utilizing OpenGL and SDL, argument(command-line)-driven multi-system emulator. Mednafen has the ability to remap hotkey functions and virtual system inputs to a keyboard, a joystick, or both simultaneously. Save states are supported, as is real-time game rewinding. Screen snapshots may be taken, in the PNG file format, at the press of a button. Mednafen can record audiovisual movies in the QuickTime file format, with several different lossless codecs supported.The following systems are supported(refer to the emulation module documentation for more details): Apple II/II+, Atari Lynx, Neo Geo Pocket (Color), WonderSwan, GameBoy (Color), GameBoy Advance, Nintendo Entertainment System, Super Nintendo Entertainment System/Super Famicom Virtual Boy, PC Engine/TurboGrafx 16 (CD), SuperGrafx, PC-FX, Sega Game Gear, Sega Genesis/Megadrive, Sega Master System, Sega Saturn (experimental, x86_64 only), Sony PlayStation. Mednafen is distributed under the terms of the GNU GPLv2.
- higan - a multi-system emulator that began development on October 14th, 2004. It currently supports the following systems: Famicom, Super Famicom, Super Game Boy, Game Boy, Game Boy Color, Game Boy Advance, Game Boy Player, SG-1000, SC-3000, Master System, Game Gear, Mega Drive, PC Engine, SuperGrafx, MSX, ColecoVision, Neo Geo Pocket, Neo Geo Pocket Color, WonderSwan, WonderSwan Color, SwanCrystal, Pocket Challenge V2
- https://gitlab.com/higan/higan - The unofficial higan repository
- bsnes - a Super Nintendo / Super Famicom emulator that began development on October 14th, 2004. It is a subset project of higan, and focuses on performance, features, and ease of use.
- Mu - A new Palm OS 4.1 emulator targeting compatibility, speed and accuracy in that order.
- OpenEmu - For the first time, the 'It just works' philosophy now extends to open source video game emulation on the Mac. With OpenEmu, it is extremely easy to add, browse, organize and with a compatible gamepad, play those favorite games (ROMs) you already own.
- Dolphin Emulator - an emulator for two recent Nintendo video game consoles: the GameCube and the Wii. It allows PC gamers to enjoy games for these two consoles in full HD (1080p) with several enhancements: compatibility with all PC controllers, turbo speed, networked multiplayer, and even more!
- PPSSPP - PSP emulator for Android, Windows, Linux, iOS, MacOSX, can run your PSP games on your PC in full HD resolution, and play them on Android too. It can even upscale textures that would otherwise be too blurry as they were made for the small screen of the original PSP. Even on modern Android phones and tablets, you can often run at double the original resolution.
- GoBoy - a multi-platform Nintendo GameBoy and GameBoy Color emulator written in go. The emulator can run the majority of GB games and some CGB games. There is also colour and sound support. This emulator was primarily built as a development exercise and is still work in progress. Please feel free to contribute if you’re interested in GameBoy emulator development.
- https://github.com/rasky/ndsemu/ - Nintendo DS Emulator written in Go
- EmulationStation - A graphical and themeable emulator front-end that allows you to access all your favorite games in one place, even without a keyboard! EmulationStation includes a custom theming system that gives you control over how each screen looks on a per-system basis, from the system select screen to the game list. Download the full name, description, box art, rating, release date, developer, publisher, genre, and number of players for every game in your library with the press of a button.
- https://github.com/Aloshi/EmulationStation - A cross-platform graphical front-end for emulators with controller navigation.
- https://github.com/sandsmark/ktamaga - This is a Tamagotchi emulator (you know, that silly LCD game from Ban Dai).