Guac est un émulateur multi-systèmes portable écrit en Go pour Windows/Linux/Linux-ARM64, prenant en charge les consoles portables de Nintendo suivantes :
- Game Boy (DMG)
- Game Boy Color (GBC)
- Game Boy Advance (GBA)
- Nintendo DS (NDS)
Le projet est conçu pour fonctionner sans nécessiter de BIOS ou de firmware externes, même ceux-ci peuvent être fournis si nécessaire. Il propose également une interface entièrement contrôlable à la manette, y compris dans les menus.
Fonctionnalités
- Émulation Game Boy, Game Boy Color, Game Boy Advance et Nintendo DS
- Aucun BIOS ou firmware obligatoire
- Support complet des manettes, y compris dans l'interface
- Clavier virtuel à l'écran
- Nombreuses options de personnalisation
- Couleurs de l'interface personnalisables
- Raccourcis clavier configurables
- Localisation en anglais et en espagnol
- Configuration des contrôles pour chaque console
- Nintendo DS : dispositions d'écran personnalisables
- Nintendo DS : horloge temps réel (RTC) configurable
- Nintendo DS : firmware configurable
- Export des scènes 3D au format `.obj`, permettant notamment de les ouvrir dans Blender ou Maya
Performances Nintendo DS
L'émulation Nintendo DS utilise un compilateur JIT développé spécifiquement pour Guac. Selon le projet, celui-ci permet d'obtenir des performances 2 à 5 fois supérieures suivant les charges de travail. Le projet dispose notamment d'un JIT ARM64 écrit en Go.