awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetServeur MCPÀ proposNotre méthodologiePresse
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Baekalfen avatar

Baekalfen/PyBoy

0
View on GitHub↗
5,159 stars·534 forks·Python·9 vues

PyBoy

PyBoy est un émulateur Game Boy programmable et un framework de simulation matérielle écrit en Python. Il fonctionne comme un moteur d'émulation qui permet aux utilisateurs d'exécuter des logiciels portables originaux tout en fournissant une interface programmatique pour contrôler, sonder et automatiser l'exécution des jeux.

Le projet est spécifiquement conçu comme un environnement d'apprentissage par renforcement, exposant les états et contrôles de l'émulateur pour faciliter l'entraînement d'agents d'intelligence artificielle. Il se distingue en fournissant des outils pour le mapping de zones de jeu et l'extraction de représentations d'écran 2D simplifiées et de cartes de collision pour soutenir l'IA.

Le système couvre un large éventail de capacités, incluant l'émulation matérielle cycle-précise, les opérations de lecture/écriture mémoire directes et un système de callback pour les hooks d'exécution. Il prend en charge l'extraction de données de jeu en temps réel, telles que les positions des sprites et les symboles mémoire, et inclut un mode d'exécution headless pour accélérer la vitesse de simulation en contournant le rendu graphique et audio.

L'émulateur fournit également des utilitaires pour la persistance d'état via la sérialisation de snapshots, la simulation d'entrée pour les agents autonomes et des outils pour l'analyse mémoire et la modification de données ROM.

Features

  • Programmable Emulator APIs - Provides a programmable emulator with a Python API for automating inputs and managing emulation state.
  • Reinforcement Learning Environments - Provides a simulated Game Boy environment specifically designed for training reinforcement learning agents.
  • Emulator Headless Modes - Offers a headless execution mode to accelerate simulation speed by bypassing graphics and audio rendering for AI training.
  • High-Speed Simulators - Runs simulations at high speed to shorten training cycles for reinforcement learning agents.
  • Reinforcement Learning Environments - Exposes a standardized interface for state, action, and reward logic to train reinforcement learning agents.
  • Hardware State Inspectors - Provides a public API for external scripts to read and modify internal registers and system memory.
  • Instruction-To-Function Mappings - Decodes original binary machine code by mapping opcodes directly to corresponding Python functions for emulation.
  • Game Boy Emulators - Functions as a programmable emulator specifically for Game Boy ROMs using Python.
  • Emulation State Scripting - Provides a programmatic interface to manage the emulator as an object to automate gameplay and adjust execution speed.
  • Real-time State Debugging - Allows for the live inspection of game object properties, health, and sprite positions during execution.
  • Real-time Game Data Extraction - Enables real-time extraction of screen tile identifiers, sprite positions, and internal scores during emulation.
  • Retro Game Emulation - Implements a full emulator to run classic Game Boy handheld software on modern operating systems.
  • Emulator State APIs - Exposes internal registers and system memory through a public API for external scripting and automation.
  • Real-time State Hooks - Provides programmatic interfaces to consume live game state data such as player positions and scores.
  • Handheld Console Emulation - Replicates handheld gaming hardware to execute original Game Boy ROMs on modern architectures.
  • Hardware Component Simulation - Simulates Game Boy hardware components, including the CPU and memory, for accurate software execution.
  • Memory-Mapped I/O - Manages communication between the CPU and hardware components by assigning controls to specific memory addresses.
  • Hardware Emulators - Provides the hardware emulation as a programmable Python object for scripted control and probing.
  • Cycle-Accurate Emulators - Implements cycle-accurate hardware emulation to precisely mimic the timing and behavior of the original Game Boy.
  • Autonomous Game Agents - Sends external control signals and reports on-screen objects to enable autonomous AI agents to play games.
  • Game Automation Systems - Enables automated gameplay and behavior verification through scripted inputs and memory state monitoring.
  • Visual Game State Analysis - Analyzes visual screen data and memory symbols to derive the current state of the game for AI agents.
  • Execution Hooks - Triggers custom callback functions when the system executes specific memory addresses or symbols.
  • Retro Game Debuggers - Provides execution hooks and graphics visualization to analyze the internal logic of legacy game software.
  • Headless Execution Modes - Bypasses graphics and audio rendering to accelerate emulation speed for automated testing and AI training.
  • Emulator Save State Managers - Provides capabilities to capture and restore the exact volatile memory state of the emulated system.
  • Game Memory Modifiers - Allows inspecting and modifying CPU registers and system memory to inject cheat codes or alter game variables.
  • Game Memory Extraction - Extracts real-time state values, such as player scores and sprite positions, from game memory.
  • Game State Manipulators - Manipulates game execution and memory through scripts to automate inputs and probe internal variables.
  • Memory-Based - Allows the retrieval of specific sprite and tile objects, including positions and identifiers, directly from memory.
  • Screen Map Data Extraction - Extracts simplified 2D screen representations and collision maps from the emulation to support AI training.
  • Direct Memory Access - Enables direct reading and writing of raw memory addresses and CPU registers to modify game state.
  • Memory Address Identification - Includes tools for discovering and identifying the specific memory addresses where game variables are stored.
  • Execution Speed Controls - Implements mechanisms to manage the temporal execution rate of the emulated system via multipliers.
  • Machine State Serialization - Captures a binary dump of all registers and memory to save and restore the complete system state.
  • Execution Event Hooks - Triggers custom user-defined functions when the emulator reaches specific memory addresses or system symbols.
  • Game Input Simulation - Sends button presses and releases with specific frame delays to simulate human interaction with the game.
  • Emulator Development - Hardware overview for emulator development purposes.

Historique des stars

Graphique de l'historique des stars pour baekalfen/pyboyGraphique de l'historique des stars pour baekalfen/pyboy

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à PyBoy

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec PyBoy.
  • mgba-emu/mgbaAvatar de mgba-emu

    mgba-emu/mgba

    6,798Voir sur GitHub↗

    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

    Cemulatorgame-boygame-boy-advance
    Voir sur GitHub↗6,798
  • humpheh/goboyAvatar de Humpheh

    Humpheh/goboy

    2,637Voir sur GitHub↗

    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

    Goemulatorgameboygameboy-emulator
    Voir sur GitHub↗2,637
  • bfirsh/jsnesAvatar de bfirsh

    bfirsh/jsnes

    6,397Voir sur GitHub↗

    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

    JavaScript6502emulationemulator
    Voir sur GitHub↗6,397
  • visualboyadvance-m/visualboyadvance-mAvatar de visualboyadvance-m

    visualboyadvance-m/visualboyadvance-m

    3,864Voir sur GitHub↗

    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

    C++
    Voir sur GitHub↗3,864
Voir les 30 alternatives à PyBoy→

Questions fréquentes

Que fait baekalfen/pyboy ?

PyBoy est un émulateur Game Boy programmable et un framework de simulation matérielle écrit en Python. Il fonctionne comme un moteur d'émulation qui permet aux utilisateurs d'exécuter des logiciels portables originaux tout en fournissant une interface programmatique pour contrôler, sonder et automatiser l'exécution des jeux.

Quelles sont les fonctionnalités principales de baekalfen/pyboy ?

Les fonctionnalités principales de baekalfen/pyboy sont : 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.

Quelles sont les alternatives open-source à baekalfen/pyboy ?

Les alternatives open-source à baekalfen/pyboy incluent : 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…