LuaGB

Émulateur v0.1.1

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 Mac OS X - macOS Intel x86 Intel x86 64 bits 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
This is a patch release of LuaGB, incorporating some major performance improvements from the community, as well as a small mix of bug fixes and one new feature. I've chosen to drop the alpha designation from this release, as at this point the emulator is reasonably stable and plays a wide variety of games correctly. ## Notable Changes - Now targets Love 11.2 - LuaJIT settings optimized for a rather hefty performance boost. Credit to @nico-abram, @TannerRogalsky and @meepen for the suggestions. - Less unpack, more FFI. Several small speed improvements from light code reorganization - Audio now routes through QueueableSource, greatly reducing skips, pops, and latency when running fullspeed - Proper support for General Purpose and HBlank DMA, needed by a few popular CGB games A word of warning: I no longer have access to a Macintosh, so I can't test the OSX build. I'm providing it anyway in the hopes that it continues to be useful, but I can't give it any sort of seal of approval. Pull requests welcome if I've buggered it up in some way.
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.

Changelog complet
This is the first **alpha** release of LuaGB! This is a fully functional Gameboy (Color) emulator written in pure Lua. It remains _not terribly fast_ but, I'm still fairly happy with the performance. I decided to release it in its current form to establish a stable base upon which to grow the project, and compare performance benchmarks to in the future. It is free of major bugs as far as I'm aware, though I can't test with every game ever made. The release build uses the awesome Love2D framework to run the emulator on Windows, Mac OSX, and Linux platforms. For Linux, you'll need love 0.10.2 installed, either from your distribution's repositories, or from source. https://love2d.org/ Check out the README.md for detailed instructions. The tl;dr: click on the folder icon, copy your games into the folder that pops up, then restart the emulator. Press D for debug mode if you're adventurous. Enjoy! Bug reports are welcome, screenshots especially so.