GoBoy
GoBoy est un émulateur Game Boy et Game Boy Color écrit en Go, conçu comme un outil pédagogique pour comprendre le fonctionnement des consoles Nintendo. Il supporte la majorité des jeux Game Boy et certains titres Game Boy Color, avec une gestion des couleurs et du son fonctionnelle. Bien que toujours en développement, il intègre des fonctionnalités de débogage utiles (affichage des opcodes, contrôle des canaux audio) et des tests automatisés basés sur les ROMs de référence de Blargg.
Disponible sous forme de code source uniquement, GoBoy s’exécute sur macOS (comme sur Windows et Linux) après compilation avec Go. Son interface repose sur la bibliothèque pixels (OpenGL), et il prend en charge les sauvegardes automatiques pour les cartouches compatibles. Les fonctionnalités avancées (comme le débogage ou les options de performance) sont accessibles via la ligne de commande. L’émulateur reste expérimental, avec des limitations connues (problèmes graphiques, gestion des MBC3, etc.).
Dernière mise à jour :
Plateformes
Architecture
Mac OS X - macOS
64 bits
Téléchargement et liens
Historique des versions
v0.5
-
Nouvelle implémentation de l’APU : synchronisation précise du son avec l’émulation CPU, améliorant radicalement la fidélité du playback audio (correspondance exacte des buffers audio aux ticks CPU).
-
Corrections majeures du GPU :
- Résolution des problèmes d’ordre des sprites et de rendu graphique (notamment pour les sprites et arrière-plans en mode CGB).
- Prise en charge correcte de la priorité des sprites et du rendu en haute résolution pour le Game Boy Color.
-
Optimisations CPU : amélioration des instructions CPU pour un gain de performance notable (références aux commits #21 et #33).
Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.
Changelog complet
v0.4.2
-
Amélioration des performances : jusqu’à 2x de gain de FPS grâce à une optimisation majeure du rendu des couleurs (utilisation d’un tableau au lieu d’une carte associative).
-
Interface utilisateur : ajout d’une boîte de dialogue pour sélectionner le ROM sans nécessiter d’exécution en ligne de commande.
-
Support macOS :
- Build natif macOS : sortie d’une version standalone au format
.dmgpour une installation simplifiée. - Correction visuelle : résolution d’un problème de rendu graphique sous Darwin (macOS) via un hack Pixelgl.
- Build natif macOS : sortie d’une version standalone au format
(Aucune mention spécifique pour Apple Silicon ou macOS minimum dans ce changelog.)
Changelog complet
v0.3
-
Amélioration majeure de l'émulation audio : Mise en place d’un nouveau moteur APU (Audio Processing Unit) plus précis, bien que des problèmes subsistent sur le canal 3.
-
Correction de bugs critiques :
- Réorganisation et correction de la logique de mémoire des cartouches, des timers et des transferts DMA.
- Résolution d’un problème graphique lié aux positions X des sprites sous-définies.
-
Amélioration technique sous-jacent : Migration du moteur audio vers une version utilisant le package
otoà un niveau inférieur, pour une meilleure stabilité.
Changelog complet
v0.2
-
Amélioration majeure de la compatibilité graphique : Correction d’un ensemble de problèmes visuels (distorsions, artefacts, ou rendu incorrect) qui affectaient plusieurs jeux, notamment dans les scènes dynamiques ou les animations complexes.
-
Stabilité accrue : Réduction des plantages et des comportements erratiques liés à la gestion des sprites ou des effets spéciaux.
(Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v0.1
-
Première version publique : sortie d’un émulateur Game Boy fonctionnel avec rendu vidéo, audio expérimental et support des entrées utilisateur.
-
Exécution par ligne de commande uniquement : pas d’interface graphique intégrée, nécessite des commandes spécifiques pour démarrer.
-
Support macOS :
- Fichier binaire précompilé pour macOS (architecture x86_64).
- Prérequis : rendre l’exécutable exécutable via
chmod +x goboy-v0.1-mac64avant utilisation. - Commande de lancement :
./goboy-v0.1-mac64 -sound -rom [chemin_vers_rom].
Changelog complet
Captures d'écran