LuaGB
LuaGB est un émulateur Game Boy (DMG) et Game Boy Color (GBC) entièrement écrit en Lua, conçu pour une approche modulaire et portable. Il cible principalement les environnements compatibles avec Lua 5.2+ et la bibliothèque "bit", offrant une structure flexible autour d’un module Game Boy indépendant. Bien que son interface repose actuellement sur Love2D (un framework de jeu en Lua), son architecture permet une portabilité théorique vers d’autres plateformes.
Sur macOS, son utilisation dépend d’une installation de Love2D (version 0.11.2 ou compatible) et de Lua. L’émulateur supporte des fonctionnalités clés comme une réplication graphique cycle-approximative, un son 32 kHz, des palettes multiples (mode DMG), le sauvegarde SRAM et des états de jeu. Des outils de débogage (VRAM, audio, IO, désassembleur) et un gestionnaire de fichiers intégré (en rendu logiciel) facilitent l’exploration technique. Cependant, certaines fonctionnalités avancées (comme le support Super Game Boy ou le transfert série) restent absentes ou en développement. L’interface se contrôle via Love2D, avec une navigation inspirée de la Game Boy originale.
Dernière mise à jour :
Plateformes
Architecture
Mac OS X - macOS
64 bits
Téléchargement et liens
Historique des versions
v0.1.1
-
Améliorations de performance majeures :
- Optimisations des paramètres de LuaJIT (contributions de la communauté) pour un gain significatif de vitesse.
- Réorganisation du code réduisant les opérations d’unpack et utilisant davantage le FFI (Foreign Function Interface) pour des gains marginaux mais ciblés.
-
Corrections fonctionnelles critiques :
- Prise en charge complète des DMA General Purpose et HBlank, essentielle pour certains jeux populaires en mode CGB (Color Game Boy).
-
Améliorations audio :
- Routage via QueueableSource (bibliothèque audio) éliminant les skips, pops et réduisant la latence en mode plein débit.
-
Note sur macOS :
- Build pour macOS fourni sans garantie : l’auteur n’a plus accès à un Mac pour tester, et les pull requests sont encouragés pour corriger d’éventuels dysfonctionnements. Aucune mention de compatibilité avec Apple Silicon (M1/M2/M3) ou de version minimale de macOS.
Changelog complet
v0.1.0-alpha
-
Première version alpha fonctionnelle : émulateur Game Boy (Color) écrit entièrement en Lua, opérationnel mais avec des performances limitées (pas optimisé pour la vitesse).
-
Utilisation de Love2D : distribution via ce framework multiplateforme (Windows, macOS, Linux), nécessitant une installation spécifique pour Linux (Love 0.10.2).
-
Interface utilisateur simple : intégration native pour copier des jeux dans un dossier dédié (via un icône de dossier dans l’interface), suivi d’un redémarrage pour les charger.
-
Mode débogage : activation via la touche D (option expérimentale).
-
Pas de spécificités macOS mentionnées : pas de build .dmg, d’optimisation Apple Silicon, ni de mention de versions minimales de macOS dans ce changelog.