30 open-source projects similar to fogleman/nes, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Nes alternative.
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
TWiLightMenu is a retro gaming frontend and game launcher for Nintendo DS hardware. It serves as a custom firmware tool and a unified interface for launching native games, emulated ROMs, and homebrew applications, while also functioning as a cheat manager and handheld storage manager. The project features a custom theme engine that allows for the personalization of the visual interface through custom images, fonts, and coordinate sets, as well as the use of custom boot splash screens and system audio. It distinguishes itself through a modular extension system that supports third-party plugins
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
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
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
Snes9x is a cross-platform emulator designed to replicate the Super Nintendo Entertainment System hardware. It functions as a gaming tool that allows users to load and play Super Nintendo software on modern hardware and operating systems. The software provides a portable emulation layer across various hardware architectures to ensure consistent performance. It supports the execution of game ROMs while providing utilities for input mapping and save states. The system implements hardware emulation through cycle-accurate CPU emulation, dynamic recompilation, and scanline-based video rendering.
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
xemu is a game console emulator and virtual hardware hypervisor designed to execute original Xbox game software on various operating systems. It functions as a disk image player that simulates physical circuitry and storage to enable the playback of original titles. The project includes a suite of low-level system debugging tools for inspecting registers, tracing execution events, and dumping memory from running guest code. It provides specialized capabilities for hardware accuracy testing and game hardware debugging to analyze system behavior. The software covers a broad range of emulation
Lutris is an open source game launcher and library manager that provides a unified dashboard for organizing and executing video games. It functions as a game installation automator and a wrapper for compatibility layers, allowing software designed for different platforms to run on Linux and macOS. The project distinguishes itself through a runner-based execution model that manages specific software environments and emulators. It utilizes community-driven scripts to automate the downloading and setup process for games and synchronizes libraries across multiple digital storefronts and third-par
jsnes is a JavaScript-based NES emulator that runs classic NES games in the browser or in Node.js. It provides cycle-accurate CPU emulation, frame-buffer-based video rendering, and sample-buffer audio synthesis, along with a ROM cartridge mapper abstraction for broad game compatibility. The emulator exposes a programmable core with a simple API for controlling emulation state, capturing screenshots, and managing save data. It supports keyboard control remapping at runtime, with settings persisted to localStorage, and offers state serialization for save and restore operations. Battery-backed S
This project is a Linux game distribution client, digital game storefront, and gaming runtime. It provides a desktop interface for discovering, purchasing, downloading, and launching digital video games on Linux operating systems. The software implements a translation layer that converts Windows API calls into Linux system calls to enable the execution of non-native binaries. It utilizes a container-based runtime environment and kernel namespaces to ensure binary and dependency compatibility across diverse Linux distributions. The system includes a display manager that abstracts the interfac
GameNative is a PC game compatibility layer and library manager designed to run desktop game binaries on mobile devices. It functions as a system for executing desktop titles through translation layers and hardware-specific driver optimizations. The project provides a unified interface for aggregating multiple digital storefronts, allowing for the installation and organization of games and downloadable content in one place. It includes a custom input mapping tool that translates touchscreen gestures and controller inputs into legacy keyboard and mouse events. The system covers game performan
Heroic Games Launcher is a multi-store games launcher and cross-platform game library that provides a unified interface for installing and launching titles from GOG, Epic Games, and Amazon Games stores. It functions as a cloud-synced game manager and a wrapper for compatibility layers to execute Windows games on Linux and macOS. The project distinguishes itself by combining unified store integration with community game compatibility tracking, allowing users to verify if a title is compatible with their specific hardware and operating system. It also features a visual theme engine for interfac
This project is a custom firmware for the Flipper Zero that provides an embedded plugin ecosystem, a hardware pentesting toolkit, and a multi-protocol emulation layer. It modifies the device's operating system to include a Sub-GHz radio suite for expanded frequency range and the ability to build and deploy third-party applications directly onto the hardware. The firmware extends the device's native capabilities through a Sub-GHz radio suite that allows for frequency extension and signal capture beyond factory defaults. It implements specialized emulation for BadUSB and BLE keyboards and inclu
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
This repository is a comprehensive collection of functional 2D and 3D demo projects and implementation samples for the Godot Game Engine. It serves as an interactive tutorial and reference library, providing a working codebase to demonstrate how to apply engine features in real-world scenarios. The collection focuses on practical implementation guides, covering a wide array of technical capabilities from basic engine fundamentals to advanced rendering and scripting techniques. It allows users to study the application of node-based composition, asset pipelines, and game logic through direct ex
Vita3K is a console hardware emulator specifically designed to replicate the PlayStation Vita environment. It functions as a cross-platform game emulator that allows handheld software and homebrew to run on desktop and mobile devices. The project focuses on PlayStation Vita emulation to enable retro game preservation and cross-platform gaming on operating systems such as Windows, Linux, and Android. The emulator implements hardware emulation through a dynamic recompilation engine, firmware-based system call translation, and a GPU hardware abstraction layer. It further simulates the original
melonDS is a Nintendo DS emulator and hardware architecture emulator. It is a software application designed to simulate the original system architecture of a handheld gaming console to run original games and applications on different computing platforms. The project functions as a firmware loader capable of initializing the emulated environment using authentic BIOS and system firmware dumps. This ensures software compatibility by replicating the original system's hardware state and boot sequence. The emulator provides capabilities for retro game preservation by executing original game ROMs.
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
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
Verilator is a hardware simulation engine and toolchain that translates Verilog and SystemVerilog hardware description languages into optimized C++ or SystemC models. It functions as a compiler and transpiler, converting hardware designs into executable binaries to achieve high-speed simulation and integration into software environments. The project distinguishes itself by focusing on simulation acceleration through the generation of optimized C++ classes and cycle-accurate models. It provides a SystemVerilog linter for static analysis of hardware designs and a hardware coverage analyzer to t
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
preserve-cd is a game preservation archive and digital library designed to store and organize out-of-print computer and console game disk images and instructional guides. It serves as a repository for retro gaming archives and legacy software to prevent the permanent loss of classic software and gaming knowledge. The system utilizes a static-file hosting model and flat-file metadata indexing to map game titles to storage paths. It employs binary-stream content delivery and direct-download routing to transfer large disk images while maintaining data integrity. The platform provides capabiliti
This project is an X11 window system server that coordinates graphical output and input devices. It functions as a display server, a hardware driver manager for graphics and input modules, and a graphics server capable of rendering directly to a generic framebuffer. The server provides multi-seat display management to isolate input and display devices for different concurrent users. It also implements namespace isolation to separate clients and restrict resource access, preventing interference between different user sessions or processes. The system manages GPU driver integration through dyn
Pebble is a reference implementation of wearable firmware intended for embedded system research and firmware analysis. It serves as a technical blueprint for understanding how smartwatch operating systems are structured and executed on constrained hardware. The codebase focuses on low power hardware rendering and the management of pixel data and display buffers to minimize energy consumption. It provides a historical guide for watch application development and the study of wearable software architecture. The system incorporates a hardware abstraction layer, a monolithic firmware image, and a
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
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
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
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
OpenMW is a modern, open-source game engine designed to execute the game Morrowind and its expansions. It serves as a cross-platform game runtime and 3D world renderer, providing a data-driven environment to run game logic and physics with improved stability. The project functions as a game modding framework, utilizing a modular plugin system and an interpreted scripting layer to load external modifications. This architecture allows for the integration of community content, custom textures, and external scripts without altering the base executable code. The engine covers a broad range of cap