gbrs
gbrs est un émulateur Game Boy écrit en Rust, conçu pour reproduire fidèlement le matériel original. Il prend en charge des fonctionnalités avancées comme les effets de balayage entre les trames (nécessaires pour des jeux comme Road Rash), le support des MBC1, MBC2 et MBC3 (pour les cartouches avancées), ainsi que des quirks matériels comme l’interruption LCD Stat ou le compteur interne de la Window. La sauvegarde des jeux et la gestion du son sont également implémentées.
Bien que le projet soit encore en développement et distribué uniquement sous forme de code source, il propose des ports pour plusieurs backends graphiques, dont SDL et SFML. Bien que non officiellement optimisé pour macOS, son architecture modulaire permet une compilation sur Apple Silicon et les versions récentes du système. Les utilisateurs expérimentés pourront l’assembler via Cargo, en adaptant les dépendances selon leur environnement.
Dernière mise à jour :
Plateformes
Architecture
Mac OS X - macOS
64 bits
SDL Library
Téléchargement et liens
Historique des versions
v0.6
-
Amélioration majeure de l'émulation LCD : Correction des erreurs de timing des cycles CPU et implémentation de l'instruction
HALT, permettant enfin un fonctionnement correct de Pokémon Red et Blue (objectif principal atteint). Résolution d’un bug ancien affectant Dr. Mario. -
Nouveau support matériel : Ajout du Memory Board Controller 3, élargissant la compatibilité aux jeux listés (ex. : WarioLand 2).
(Aucune mention spécifique à macOS dans ce changelog.)
Changelog complet
v0.5
-
Nouveauté majeure : Ajout du support pour le Memory Board Controller 2, permettant l'exécution de jeux nécessitant cette carte (ex. Kirby's Pinball Adventure, Ayakashi no Shiro, Final Fantasy Legend II).
-
Correction majeure : Résolution d’un bug récurrent provoquant des lignes de balayage corrompues dans les sprites en double hauteur, améliorant la lisibilité visuelle (ex. Donkey Kong).
(Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v0.4
-
Réorganisation architecturale majeure : séparation du code de l'interface graphique (GUI) et du cœur d'émulation en deux crates distinctes (
gbrs-sfml-guipour l'interface etgbrs-corepour l'émulation), améliorant la modularité et la portabilité. -
Compatibilité étendue : mise à jour de
gbrs-corepour supporter la compilation avec#![no_std], permettant une exécution sur des systèmes embarqués ou bare-metal (ex. : futur portage sur Playdate).
(Aucune modification spécifique à macOS ou Apple Silicon dans cette version.)
Changelog complet
v0.3
-
Ajout de l'émulation du câble Game Boy Link, permettant la connexion entre deux émulateurs pour des jeux multijoueurs ou des transferts de données.
-
Correction de la bug LCD (bug matériel existant sur les hardware originaux) pour une meilleure fidélité visuelle.
-
Amélioration de l'émulation du chip MBC1 avec une gestion plus précise de la RAM, réduisant les comportements incorrects sur certains jeux.
-
Nouveaux jeux pleinement supportés :
- Mortal Kombat (version Game Boy)
- Alleyway
- Road Rash
- Galaxian
- Space Invaders (en plus de ceux déjà jouables dans la version précédente).
Changelog complet
v0.2
-
Nouveautés majeures :
- Ajout du support de la fenêtre graphique (interface utilisateur moderne) et de la gestion des couches (z-fighting) pour les sprites, améliorant la compatibilité visuelle avec des jeux 2D complexes.
- Intégration du contrôleur MBC1 (Memory Bank Controller) et des fichiers de sauvegarde persistants (batterie-backed), permettant des fonctionnalités avancées comme les sauvegardes automatiques pour The Legend of Zelda: Link’s Awakening.
-
Jeux et fonctionnalités ciblés :
- Prise en charge complète de jeux emblématiques comme Super Mario Land 2, Donkey Kong et Pac-Man, ainsi que des intros de jeux comme Mortal Kombat et Dr. Mario (via rendu graphique amélioré).
-
Améliorations techniques :
- Expansion bien au-delà de Tetris : support étendu de la Game Boy (ROM, sprites, et interactions matérielles).
Changelog complet
v0.1
-
Fonctionnalité de base validée : Version stable suffisante pour exécuter Tetris (sans son), servant de référence pour tester la stabilité minimale de l'émulateur.
-
Stabilité non garantie : Le code en développement actif peut provoquer des plantages (ex. : crashs lors d’écriture dans l’APU) pour faciliter le débogage.
(Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
Captures d'écran