30 open-source projects similar to bfirsh/jsnes, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Jsnes alternative.
PyBoy is a programmable Game Boy emulator and hardware simulation framework written in Python. It functions as an emulation engine that allows users to execute original handheld software while providing a programmatic interface to control, probe, and automate game execution. The project is specifically designed as a reinforcement learning environment, exposing emulator states and controls to facilitate the training of machine learning agents. It distinguishes itself by providing tools for game area mapping and the extraction of simplified 2D screen representations and collision maps to suppor
mGBA is a high-accuracy Game Boy Advance emulator and hardware-level debugger designed to run handheld console ROMs on modern computers. It serves as a scriptable emulation environment that allows for the execution of portable hardware software and the simulation of associated peripherals. The project distinguishes itself through its focus on technical analysis, providing a suite of tools for retro game debugging and game logic inspection. It includes a host-client debug protocol that enables external debugger connectivity via TCP socket communication and an event-driven scripting engine for
SimpleNES is a C++ application that simulates original Nintendo Entertainment System hardware to run legacy games on modern computers. It functions as a hardware simulator and retro gaming emulator designed to execute classic game ROMs by recreating the original console environment through software. The system implements a software version of the 6502 CPU and picture processing unit to render retro game video and audio. It recreates 8-bit console architecture to ensure the execution of original game ROMs. The project covers low-level hardware simulation, including cycle-accurate CPU emulatio
MAME is a vintage hardware emulation platform designed to recreate the circuitry of arcade games, computers, and consoles to run original software on modern devices. It functions as a retro gaming preservation framework for managing, verifying, and archiving ROM sets and disk images to ensure long-term software accessibility. The project features a system debugging tool for inspecting emulated memory, CPU registers, and execution flow via breakpoints and disassembly. It also includes a Lua-based automation layer that exposes core system state and hardware controls for custom behavior and anal
melonDS is an open-source emulator that runs original Nintendo DS and DSi games on modern operating systems with high-accuracy hardware simulation. It emulates the DS and DSi CPUs, video, and audio systems, and supports booting from original system firmware for access to the system menu and configuration screens. The emulator distinguishes itself through cycle-accurate component simulation for precise timing and compatibility, a JIT dynamic recompilation engine that translates game code to native x86_64 or AArch64 instructions for faster performance, and OpenGL hardware-accelerated rendering
This project is a Nintendo Entertainment System emulator written in Go. It functions as a hardware simulation that executes game ROMs by mimicking the original console's circuitry, including the processor and picture processing unit. The emulator includes a game library browser that identifies local files and retrieves titles and thumbnails from online databases using file checksums. It also implements a system of memory management mappers to ensure compatibility across various game ROM formats and hardware configurations. The software covers high-level capabilities for game ROM execution an
CorsixTH is an open-source game clone and hospital management simulation game. It functions as a reproduction of a classic management title where players coordinate staff and treat patients to manage a medical facility. The project includes a level editor tool for designing original maps and campaigns. It also features a customizable input system that allows users to map game hotkeys and personalize control schemes. The simulation supports game localization to translate interface text and dialogue into multiple languages.
RetroArch is a cross-platform emulation host and multi-system game emulator that serves as a frontend for the Libretro API. It coordinates video, audio, and user input to maintain the application state for various emulator cores, allowing it to run a wide variety of vintage gaming hardware and software engines. The platform distinguishes itself through a low-latency emulation model that uses run-ahead processing to reduce input lag. It also features a real-time state tracking system that enables gameplay rewinding by saving periodic snapshots of the emulator memory state. The environment inc
Onion is a custom handheld gaming operating system and retro gaming frontend designed to manage and launch emulators on portable hardware. It functions as a bootable custom firmware distribution and emulation environment manager that replaces factory software to provide an integrated gaming environment. The system distinguishes itself through a modular core-based emulation architecture, allowing for the installation of verified emulator packages, BIOS configuration, and the use of hardware-specific drivers and filters. It also supports the integration of third-party game ports via standardize
Goboy is a GameBoy emulator written in Go that allows original handheld game ROMs to run on modern computer hardware. It supports both monochromatic and color display modes. The project includes specialized tools for retro game debugging and graphics inspection. These capabilities allow for the analysis of game logic by stepping through opcodes, profiling processor execution in real time, and inspecting background palettes, sprite data, and map layouts. The emulator provides game state preservation by writing cartridge RAM to local files. It also implements pixel-buffer rasterization for ren
iOS & tvOS multi-emulator frontend, supporting various Atari, Bandai, NEC, Nintendo, Sega, SNK and Sony console systems… Get Started: https://wiki.provenance-emu.com |
RetroPie-Setup is a specialized utility and installation tool designed to automate the orchestration of Linux-based retro gaming environments. It functions as a deployment system for configuring the dependencies and software required to run game libraries on single board computers, such as the Raspberry Pi and Odroid. The project provides a structured approach to deploying gaming emulators and managing RetroArch emulation cores. It includes a configuration tool for setting up graphical front ends that organize and launch emulated games across multiple systems. The tool handles system-level t
Romm is a self-hosted game library manager and ROM management web interface. It serves as a central server for storing and categorizing game files and emulator firmware, providing a web-based browser to organize collections through automated library scanning and metadata retrieval. The project distinguishes itself by integrating a web-based emulator frontend that uses WebAssembly to play games directly in the browser. It further provides a game save synchronization server that uses SSH-based synchronization to transfer save states and progress between the server and registered handheld device
EmulatorJS is a WebAssembly emulation framework and RetroArch web frontend designed to run classic video game ROMs and BIOS files directly in a web browser. It serves as a web-based game emulator that executes hardware-accurate emulation cores to reproduce the behavior of various vintage home consoles and arcade systems. The project is distinguished by its ability to synchronize game states between multiple users in real time using WebRTC for browser-based multiplayer gaming. It also includes a dedicated HTML5 game embed tool that generates code snippets and isolated containers to integrate p
OpenEmu is a macOS retro game emulator and multi-system frontend. It functions as a modular emulation framework that integrates multiple distinct emulation cores to support a wide range of legacy console and handheld gaming hardware. The application provides a unified interface for game library management, allowing users to organize a collection of retro game ROMs and save files within a centralized digital catalog. It enables the configuration of macOS computers to play legacy video game titles through this single interface. The system utilizes a pluggable architecture that employs dynamic
Gaseous Server is a self-hosted platform designed to organize, manage, and execute digital game collections. It functions as a centralized server that automatically scans local storage directories to detect and categorize game files, while simultaneously retrieving descriptive metadata from external community databases to maintain a structured and searchable library. The platform distinguishes itself by integrating a browser-based execution environment that utilizes WebAssembly to run game binaries directly within a web interface. This approach allows users to access and play titles without t
Play- is a multi-system game emulator and virtual hardware emulator that simulates various console and arcade hardware to run original game files on modern devices. It functions as a retro game frontend, providing a graphical interface for organizing, launching, and managing libraries of legacy console and arcade titles. The project includes a hardware input mapper that translates modern controllers and mouse movements to simulate specialized legacy input devices, such as light guns and steering wheels. It also features a game state manager capable of capturing and restoring the exact memory
DuckStation is a high-performance PlayStation 1 emulator that simulates the original console's hardware logic and CPU and GPU on modern computer systems. It functions as a console hardware emulator, disc image loader, and game state manager to execute original games and preserve retro software. The project differentiates itself through a game graphics upscaler that improves visual clarity using texture filtering, geometry precision corrections, and custom shader chains. It also features advanced memory manipulation tools for layered patch injection and the application of community cheat codes
Cemu is a cross-platform game console emulator designed to replicate the Nintendo Wii U hardware environment. It provides a software simulation layer that allows original Wii U games and homebrew applications to run on Windows, Linux, and macOS. The project translates guest machine code and graphics API calls into host instructions and modern shaders to enable hardware acceleration. It utilizes a dynamic recompilation engine and a host-API graphics backend to interface with Vulkan or OpenGL. The system manages hardware simulation through multi-threaded CPU emulation, memory-mapped I/O simula
InputSourcePro is a macOS keyboard layout manager and automation tool designed to automate the switching of input sources based on application focus and system rules. It serves as a contextual input source switcher and keyboard shortcut mapper that triggers layout changes when specific applications gain focus or certain browser URLs are visited. The tool distinguishes itself by offering URL-based layout switching and the ability to enforce English punctuation within specific applications. It also provides dynamic function key behavior, allowing the system to toggle between standard function k
Chips is a modular, header-only C library framework designed for building cycle-accurate hardware simulators and replicating historical eight-bit computing architectures. It provides the foundational components necessary to construct complete vintage systems by integrating individual emulated microprocessors and peripheral chips. The framework distinguishes itself through a component-based architecture where hardware modules are implemented as standalone headers that can be wired together to form complex systems. It models hardware interactions at a low level, utilizing pin-level signal emula
This project is a GameBoy hardware emulator that simulates the original processor, graphics, and sound systems to run vintage ROMs. It provides a core emulation engine that executes instructions using cycle-accurate simulation to match original hardware timing. The emulator is designed for remote play, enabling cloud game streaming via HTTP and WebSockets. This allows for remote cooperative gaming through a web browser and terminal-based gaming where game state is rendered via telnet. The system includes capabilities for memory-mapped I/O emulation and state-based save restoration to preserv
JUCE is a comprehensive C++ audio framework and digital signal processing library used to build cross-platform audio applications, audio plug-ins, and high-performance user interfaces. It serves as a development kit for creating audio processors compatible with industry-standard plugin formats for digital audio workstations, as well as a tool for MIDI and Open Sound Control communication between musical hardware and software. The framework is distinguished by its ability to maintain a single codebase for native desktop and mobile applications across multiple operating systems. It provides a f
Kmonad is a cross-platform keyboard remapper and advanced key mapping engine that intercepts physical keyboard inputs and transforms them into customized virtual output events. It functions as a programmable input wrapper and multi-layer keyboard manager, allowing users to redefine physical keys and route hardware inputs to virtual devices across different operating systems. The system distinguishes itself through a multi-layer management architecture that enables the definition of dynamic keyboard layers and overlays to change keyboard functions based on the current context. It implements co
Bitwise is a computer architecture education kit and a comprehensive set of guides for building a custom CPU, operating system, and compiler from scratch. It serves as a CPU design tutorial and a practical framework for implementing a unique instruction set architecture. The project provides a custom instruction set architecture toolchain, including resources for creating a matching assembler and compiler. It further includes a hardware development guide for synthesizing computer components and peripheral controllers for deployment on programmable logic devices and FPGAs. The kit covers full
Shiny is a framework for building interactive web applications using R code, eliminating the need for HTML, CSS, or JavaScript. At its core, it provides a reactive programming model that automatically tracks data dependencies and re-executes only the parts of an application that depend on changed inputs. The framework handles server-side UI rendering and maintains persistent WebSocket connections between the browser and server for real-time updates without page reloads. The framework distinguishes itself through deep integration with the R ecosystem, including the ability to embed interactive
86Box is a low-level x86 hardware emulator and vintage PC simulator designed to replicate early IBM PC compatibles. It provides virtualized environments for executing legacy operating systems, such as MS-DOS and early versions of Windows, by simulating processors and system designs ranging from the 8086 through the Pentium era. The project distinguishes itself through cycle-accurate processor simulation and high-fidelity hardware emulation. This includes the ability to route retro MIDI audio data to emulated hardware modules or external synthesizers to achieve authentic audio playback from le
cpal is a low-level Rust audio hardware abstraction layer and cross-platform API. It serves as a unified interface for managing audio input and output streams across Windows, macOS, and Linux hardware, acting as a device driver wrapper to discover audio hosts and configure hardware devices. The project functions as a real-time audio streamer, utilizing a high-priority callback system to stream audio samples to hardware devices with minimal latency. The library covers audio hardware integration, including the discovery and configuration of sample rates and channel counts. It supports audio in
This project is a digital library and archive of vintage Chinese language DOS games. It provides a curated collection of historical software preserved for access through a web-based emulation platform and a searchable game catalog. The system utilizes a decentralized repository to host and share game data files across a peer-to-peer network. This ensures assets are retrieved using content-addressable hashes rather than relying on central servers. Users can execute games directly in a web browser via a DOS emulation engine or use provided scripts to download and configure game archives for lo