GoBoy

Émulateur v0.5

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 Mac OS X - macOS Intel x86 Intel x86 64 bits 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
**GoBoy v0.5** introduces a number of changes that improve the accuracy and performance of the emulator. A new APU emulation implementation now correctly times the audio with the cpu emulation, resulting in much more accurate audio playback. There have also been a number of improvements to the GPU emulation, fixing multiple sprite ordering issues and rendering bugs. Finally there are also a number of changes to improve the emulator performance. ## Notable changes f876370, da8716d - Improvements to the CPU instruction implementation for a speed increase (#21, #33) 3357ab5, 98ad423 - Implement CGB background and sprite priority rendering resolution 1f1b37e - Match APU buffering to CPU ticks (#29)
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 .dmg pour une installation simplifiée.
    • Correction visuelle : résolution d’un problème de rendu graphique sous Darwin (macOS) via un hack Pixelgl.

(Aucune mention spécifique pour Apple Silicon ou macOS minimum dans ce changelog.)

Changelog complet
**GoBoy v0.4** introduces some significant performance increases - seeing up to a 2x fps increase since v0.3. It also adds a dialog prompt to select the rom without running from command line, and now outputs a MacOS app which can be run standalone. ## Notable Changes 21db2c2 - Pixelgl hack to make window render on darwin 5111e5b - Pick colours using array instead of map (x2 performance increase!) f086e25 - File prompt and bundled Darwin build (#14)
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
**GoBoy v0.3** introduces a new APU engine which should be significantly more accurate than the previous one. There are still issues with sound (especially channel 3), but it is significantly better than before. ## Notable Changes e32643c - Refactor cart memory and logic, fix timers and DMA transfers (#9) 8fabcd2 - Fix graphics issue with underflowing sprite x-position 017832c - Sound v2 using lower level `oto` package (#10)

Captures d'écran

Zelda: Link's Awakening dans GoBoy