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
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
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
Visualboyadvance-m is a cross-platform hardware simulator and Game Boy Advance emulator. It replicates handheld console hardware to run Game Boy Advance and Game Boy Color software on modern desktop computers. The project also serves as a handheld console debugger for analyzing emulated code and validating homebrew software. The system is designed as a modular Libretro emulation core, allowing it to be loaded as a pluggable component into compatible frontend applications. This decoupled architecture separates the emulation logic from the user interface to ensure the engine can run across diff
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 main features of baekalfen/pyboy are: Programmable Emulator APIs, Reinforcement Learning Environments, Emulator Headless Modes, High-Speed Simulators, Hardware State Inspectors, Instruction-To-Function Mappings, Game Boy Emulators, Emulation State Scripting.
Open-source alternatives to baekalfen/pyboy include: mgba-emu/mgba — mGBA is a high-accuracy Game Boy Advance emulator and hardware-level debugger designed to run handheld console ROMs on… humpheh/goboy — Goboy is a GameBoy emulator written in Go that allows original handheld game ROMs to run on modern computer hardware.… bfirsh/jsnes — jsnes is a JavaScript-based NES emulator that runs classic NES games in the browser or in Node.js. It provides… visualboyadvance-m/visualboyadvance-m — Visualboyadvance-m is a cross-platform hardware simulator and Game Boy Advance emulator. It replicates handheld… amhndu/simplenes — SimpleNES is a C++ application that simulates original Nintendo Entertainment System hardware to run legacy games on… ntasfi/pygame-learning-environment — PyGame Learning Environment is a Python framework that provides a standardized interface for training artificial…