gbe

Émulateur Game Boy et Game Boy Color

gbe

Un émulateur Game Boy et Game Boy Color pour macOS, Linux et Windows. Déposez une ROM .gb ou .gbc, même compressée en .zip, sur la fenêtre, et jouez : image, son et sauvegardes, tout y est.

Écran titre de Super Mario Land avec la palette DMG verte
GAME BOY · 4 TEINTES
Écran titre de Zelda: Link's Awakening DX en couleurs
GAME BOY COLOR · 32 768 COULEURS

Fonctionnalités

Émulation fidèle

Processeur, écran, son et manette se comportent comme sur la console, en mode Game Boy comme en mode Game Boy Color. gbe réussit les ROMs de test de référence de la communauté (blargg, dmg-acid2, cgb-acid2), qui vérifient le processeur, les timings et l'affichage au pixel près.

Son stéréo

Les quatre voies du Game Boy en stéréo, avec un son propre, sans sifflements parasites dans les aigus. La page Son du menu l'adapte : au casque, chaque oreille entend un peu l'autre côté, ce qui fatigue moins ; des filtres adoucissent les aigus ou imitent le petit haut-parleur de la console. Les menus font aussi de petits bruitages, à la façon de la Game Boy.

Cartouches

gbe gère les cartouches de la grande majorité des jeux (MBC1, MBC2, MBC5, et MBC3 avec son horloge, celle de Pokémon Or et Argent), et la Game Boy Camera, encore expérimentale sous Linux et Windows. Une ROM se lance en la déposant sur la fenêtre ou en ligne de commande, et une archive .zip n'est jamais modifiée. Les jeux qui sauvegardent sur leur cartouche gardent leur progression dans un fichier .sav, à côté de la ROM.

Save states et rembobinage

La partie est enregistrée en quittant. Au lancement suivant, gbe propose de reprendre là où vous en étiez ou de recommencer. En jeu, maintenez la touche Retour arrière (⌫) pour remonter jusqu'à 10 secondes en arrière, et Tab pour accélérer le jeu (×2 à ×8) et passer les dialogues.

Câble link

Deux gbe se relient par le réseau comme deux consoles par un câble link : échangez vos Pokémon, ou affrontez-vous à Tetris et Dr. Mario, sur le même ordinateur ou entre deux machines de la maison. Dans le menu, l'un choisit « Héberger une partie », l'autre « Rejoindre une partie » et le retrouve dans la liste, sans adresse à taper (ou la saisit, si le réseau cache la recherche).

Grand écran

Du plein écran Full HD à la 4K, des filtres agrandissent l'image en gardant le charme des pixels : grille de l'écran LCD d'origine, pixels nets, ou lissage des diagonales avec Scale2x, Scale3x et MMPX. Voir les filtres.

Clavier et manettes

Manettes Xbox, PlayStation et Switch Pro reconnues dès le branchement. Clavier et manette se configurent chacun dans leur onglet du menu, qui affiche les noms selon votre disposition de clavier (AZERTY, QWERTZ…).

Captures d'écran

Cmd+F2 (Ctrl+F2 hors macOS) enregistre une image PNG dans le dossier Images/gbe, à la taille de la fenêtre, avec le filtre d'affichage choisi. Le raccourci se change lui aussi dans le menu.

Vibrations

Les cartouches à moteur, comme Pokémon Pinball ou Perfect Dark, font vibrer la manette avec l'intensité du moteur de la cartouche. Les autres jeux peuvent vibrer aussi, de façon encore expérimentale : gbe devine les explosions et les chocs d'après les bruitages, et quand l'écran tremble ou flashe. Les vibrations s'activent, se règlent en intensité et se testent dans l'onglet Manette du menu, et s'arrêtent en pause ou pendant le rembobinage.

Français et anglais

L'interface est disponible en français et en anglais : la langue se choisit dans le menu. Ajouter une langue ne demande qu'un fichier de traduction.

Game Boy : 10 palettes

Les jeux Game Boy n'affichent que quatre teintes. gbe les colore avec la palette de votre choix, du vert de la console d'origine au noir et blanc : changez-la dans le menu, qui montre l'aperçu en direct, ou avec la touche P. Ils peuvent aussi être colorisés comme sur une Game Boy Color (voir plus bas).

Super Mario Land, palette DMG verte
DMG vert
Super Mario Land, palette BGB
BGB
Super Mario Land, palette Sepia
Sepia
Super Mario Land, palette Violet
Violet

Game Boy Color

Les jeux Game Boy Color, et ceux compatibles avec les deux consoles, démarrent automatiquement en couleurs. gbe émule tout ce que la Game Boy Color ajoute à la Game Boy : ses 32 768 couleurs, sa mémoire supplémentaire, son mode double vitesse et son animation de démarrage.

Couleurs d'origine

L'écran de la Game Boy Color était plus pâle que les nôtres. Par défaut, gbe corrige les couleurs pour retrouver ce rendu ; la touche P ou le menu affichent les couleurs vives, sans correction.

Choix de la console

gbe choisit automatiquement la console d'après la cartouche. Un jeu compatible avec les deux peut aussi tourner sur la Game Boy d'origine, en quatre teintes avec votre palette, avec l'option -model gb en ligne de commande.

Save states

Les save states fonctionnent aussi en couleurs. Une partie sauvegardée reprend sur la console où elle a été jouée, même si vous avez changé de réglage entre-temps ; « Recommencer » relance le jeu sur la console choisie dans les réglages.

Les jeux Game Boy en couleurs

Comme une vraie Game Boy Color, gbe peut coloriser les jeux Game Boy : activez « Coloriser » dans le menu, ou lancez-les avec -model gbc. Les jeux Nintendo reçoivent la palette prévue pour eux, les autres une palette par défaut. Les 12 palettes que la console offrait en maintenant une direction (avec A ou B) au démarrage se choisissent dans le menu ou avec P, et gbe s'en souvient pour chaque jeu. Si vous avez la boot ROM de la Game Boy Color (son programme de démarrage, non fourni), l'animation s'affiche et ces combinaisons se font pendant le logo, comme sur la console.

Écran titre de Tetris colorisé en jaune et rouge
Tetris
Écran titre de Zelda: Link's Awakening colorisé en rose et rouge
Zelda: Link's Awakening
Super Mario Land colorisé, ciel bleu et sol jaune
Super Mario Land
Écran titre de Tetris en niveaux de gris
Tetris, palette Gauche+B

Grand écran

L'image de la Game Boy ne fait que 160×144 pixels. Pour l'afficher sur une télévision ou un écran 4K, l'entrée « Filtre » du menu, ou l'option -filter, choisit comment l'agrandir. Les filtres tournent sur la carte graphique : même en 4K, le jeu reste à 60 images par seconde. F11 passe en plein écran, et gbe s'en souvient au lancement suivant.

LCD : l'écran d'origine

Le filtre LCD reproduit la grille de points de la console, séparés par un fin interstice. Sur Game Boy Color, chaque point se divise en bandes rouge, verte et bleue, discrètes pour garder la luminosité de l'image. Sur Game Boy, l'interstice prend la teinte la plus claire de la palette, comme un pixel éteint. Ce filtre prend tout son sens en 4K, où chaque pixel de la console occupe 15 pixels de l'écran ; aux petites échelles, la grille s'estompe.

Détail de l'écran titre de Zelda: Link's Awakening DX avec le filtre LCD : un bateau sur les vagues, chaque pixel séparé par une fine grille
Game Boy Color, en 4K : la grille et les bandes de couleur
Détail de Super Mario Land avec le filtre LCD : les lettres MARI en points sombres sur fond vert, la grille visible sur la bande grise
Game Boy, en 4K : la grille sur les points sombres

Les autres filtres

« Net » agrandit l'image jusqu'à remplir l'écran, sans que certains pixels paraissent plus gros que d'autres : seuls leurs bords sont très légèrement adoucis. Scale2x et Scale3x arrondissent les diagonales sans ajouter de couleurs, et MMPX, un algorithme récent conçu pour le pixel art, lisse les pentes en préservant le texte et les contours. Le filtre par défaut, « Pixels entiers », garde des pixels carrés, tous agrandis autant.

Détail de Super Mario Land, pixels carrés : la pente de la pyramide en escalier
Pixels entiers (par défaut)
Le même détail avec Scale2x : la pente de la pyramide lissée
Scale2x
Le même détail avec Scale3x : la pente et les palmiers lissés
Scale3x
Le même détail avec MMPX : la pente lissée, Mario et les palmiers préservés
MMPX

L'option « Rémanence » imite l'écran LCD de la console, lent à réagir, en mélangeant chaque image à la précédente. Certains jeux s'en servaient pour rendre des sprites transparents en les faisant clignoter. Deux modes, inspirés de SameBoy : « simple », qui mélange les deux images à parts égales, et « fidèle », plus proche du véritable écran de la console.

Sur la TV, sans câble

Sur Mac, une Apple TV devient un second écran : dans le Centre de contrôle, « Recopie de l'écran », en mode « Utiliser comme écran séparé ». Dans la page Affichage du menu, l'entrée « Ecran » envoie alors gbe sur la TV, et l'entrée « Mode » passe en plein écran, à la manette comme au clavier. Le son suit, et le retard reste assez faible pour jouer, la manette en main depuis le canapé. gbe s'en souvient et se rouvre sur la TV au lancement suivant. Avec un câble HDMI, les mêmes entrées fonctionnent sur tous les systèmes.

Game Boy Camera

L'accessoire photo de la Game Boy fonctionne dans gbe : la cartouche, son capteur et ses 30 photos, gardées dans le fichier .sav comme sur la vraie cartouche. Ce que voit sa caméra se choisit dans la page « Caméra » du menu, qui n'apparaît qu'avec ce jeu. Sous Linux et Windows, cette fonctionnalité est encore expérimentale.

Une webcam

Celle de votre ordinateur, de votre écran, ou un iPhone avec Continuity Camera sur Mac : choisissez-la dans la liste. Elle ne s'allume que pendant la partie, et l'option « Miroir » retourne l'image pour les selfies.

Une image

Une photo ou un dessin en PNG, JPEG, GIF ou WebP, choisi dans le menu ou simplement déposé sur la fenêtre pendant la partie. gbe en garde le milieu, au format du capteur (128×112 pixels), en niveaux de gris.

Comme la console

Le jeu fait le reste, comme sur la vraie Game Boy Camera : il règle l'exposition tout seul, applique la luminosité et le contraste choisis, et trame l'image en quatre teintes. Sans webcam ni image, la caméra voit du bruit, comme un vrai capteur dans le noir.

Dessin d'un poussin jaune rond, les yeux fermés, avec un casque audio et des notes de musique, sur un fond beige
L'image donnée à la caméra : la mascotte de gbe
Le viseur de la Game Boy Camera dans gbe : le poussin tramé en quatre teintes vertes, avec 29 photos restantes et les réglages de luminosité et de contraste
Ce qu'en fait la Game Boy Camera, dans son viseur

Captures

Captures faites avec le raccourci de gbe, à l'échelle ×8 (1280×1152) et avec le filtre LCD.

Game Boy

Écran titre de Super Mario Land dans gbe, aux couleurs de la palette DMG verte, avec la grille du filtre LCD
Écran de jeu
Menu de pause de gbe au-dessus de l'écran titre de Super Mario Land, aux couleurs de la palette DMG verte
Menu de pause (Échap), aux couleurs de la palette
Au lancement de Super Mario Land, gbe propose de reprendre la partie sauvegardée
Au lancement : reprendre la partie ou recommencer

Game Boy Color

Écran titre de Zelda: Link's Awakening DX en couleurs dans gbe, avec la grille du filtre LCD
Écran de jeu
Menu de pause de gbe en noir et blanc au-dessus de l'écran titre de Zelda: Link's Awakening DX
Menu de pause : sur un jeu Game Boy Color, il s'affiche en noir et blanc
Au lancement de Zelda: Link's Awakening DX, gbe propose de reprendre la partie sauvegardée
Au lancement : reprendre la partie ou recommencer

Télécharger

Dernière version : v0.1.16, publiée le 12 octobre 2026.

macOS

Glisser gbe dans Applications. L'app n'est pas signée par Apple : au premier lancement, Réglages Système > Confidentialité et sécurité > Ouvrir quand même. Les archives x86_64 et arm64 contiennent le binaire seul, pour le terminal.

Windows

Décompresser l'archive et double-cliquer sur gbe.exe. L'exécutable n'est pas signé : si Windows SmartScreen l'arrête, cliquer sur Informations complémentaires > Exécuter quand même.

Démarrage rapide

Ouvrez gbe (l'application sur macOS, gbe.exe sous Windows, l'AppImage sous Linux), puis déposez une ROM .gb, .gbc ou .zip sur la fenêtre : l'écran d'accueil propose aussi les derniers jeux lancés, à relancer à la manette. Choisissez le dossier de vos ROM dans la page « Dossiers » du menu, et tous vos jeux sont listés, prêts à être lancés sans clavier ni souris. Déposée pendant une partie, une ROM peut remplacer le jeu en cours, qui est sauvegardé pour être repris plus tard.

Écran d'accueil de gbe lancé sans ROM : une cartouche Game Boy en pixel art sous une flèche, l'invitation « Deposez une ROM Game Boy ici », la liste des jeux récents, Zelda sélectionné, et l'entrée « Tous les jeux »
Lancé sans ROM : déposez une ROM, relancez l'un des derniers jeux, ou choisissez parmi tous vos jeux

Depuis un terminal, gbe lance directement la ROM donnée en argument :

./gbe mon-jeu.gb./gbe mon-jeu-couleur.gbc./gbe mon-jeu.zip

À deux, avec le câble link : sur le premier ordinateur, ouvrez le menu (Échap), page « Câble link », et choisissez « Héberger une partie ». Sur le second, « Rejoindre une partie » liste les gbe du réseau local qui hébergent : choisissez le bon, et lancez le mode deux joueurs du jeu des deux côtés. Si votre réseau ne laisse pas passer la recherche, « Saisir une adresse » se connecte à celle que l'hôte affiche.

Page Rejoindre du câble link de gbe, au-dessus de l'écran titre de Dr. Mario : deux gbe trouvés sur le réseau local, Mac-du-salon qui héberge Dr. Mario et PC-bureau sans jeu, puis l'entrée Saisir une adresse
Rejoindre une partie : les gbe qui hébergent sur le réseau local

Contrôles

ToucheAction
FlèchesCroix directionnelle
X / Z (X / W en AZERTY)A / B
Entrée / Maj droiteStart / Select
Tab (maintenu)Avance rapide (x4 par défaut, réglable de x2 à x8 dans le menu)
Retour arrière (maintenu)Rembobinage : le jeu revient en arrière, jusqu'à 10 s
ÉchapMenu : palette ou couleurs, filtre d'affichage, contrôles, son, boot ROM, save states
PPalette suivante ; sur un jeu Game Boy Color, active ou coupe la correction des couleurs
Cmd+F2 (Ctrl+F2 sous Windows et Linux)Capture d'écran
F11Plein écran (retenu au lancement suivant ; aussi dans la page Affichage, à la manette)
Manette : Start + SelectMenu, piloté à la croix, A et B
Manette : gâchettes hautes R / L (maintenues)Avance rapide / rembobinage

Aucune ROM ni boot ROM n'est fournie : utilisez vos propres copies. Les boot ROM, facultatives, se choisissent dans la page « Dossiers » du menu, onglet Boot ROM : indiquez le dossier qui contient gb_bios.bin et gbc_bios.bin (voir le README).

Notes de version

v0.1.16

gbe v0.1.16

Cette version place gbe sous licence Apache 2.0, et permet de vérifier chaque fichier téléchargé. Elle corrige aussi la webcam sous Windows.

Nouveautés

gbe est sous licence Apache 2.0

Jusqu'ici, gbe n'avait pas de licence. Il est maintenant distribué sous la licence Apache 2.0 : tu peux l'utiliser, le modifier et le redistribuer, en gardant sa licence et ses mentions.

Chaque fichier de la release contient maintenant, à côté de gbe :

  • LICENSE : la licence de gbe ;
  • NOTICE : ce que gbe reprend de l'émulateur SameBoy, sous licence MIT, à savoir les palettes de sa boot ROM Game Boy Color libre et le modèle du capteur de la Game Boy Camera ;
  • THIRD_PARTY_LICENSES.txt : les licences du code que gbe contient, celui de Go et des bibliothèques dont il dépend (Ebitengine, purego, Oto, zenity…).

Ces fichiers sont dans les archives, dans gbe.app (dossier Contents/Resources) et dans l'AppImage (dossier usr/share/doc/gbe).

Vérifier un téléchargement

  • Sommes de contrôle : gbe-v0.1.16-SHA256SUMS.txt, joint à la release, donne l'empreinte SHA-256 de chaque fichier. Pour vérifier ce que tu as téléchargé : sha256sum -c --ignore-missing gbe-v0.1.16-SHA256SUMS.txt, ou shasum -a 256 -c --ignore-missing … sous macOS.
  • Attestation de provenance : chaque archive, l'AppImage et l'image disque sont attestées par GitHub comme compilées par le workflow de release de gbe, depuis le commit de cette version. Pour le vérifier : gh attestation verify <fichier> --repo ldechoux/gbe.

Corrections

  • Webcam sous Windows : une webcam qui refusait le format d'image demandé par gbe s'ouvrait quand même, et gbe lisait mal ses images. gbe signale maintenant l'erreur avec la notification « Impossible d'ouvrir la webcam ». La webcam reste expérimentale sous Windows et sous Linux.

Site du projet

Le bas de la page https://ldechoux.github.io/gbe/ donne un lien vers la licence.

Fiabilité

  • Plus de vérifications à chaque modification :
    • staticcheck analyse le code pour macOS, Linux et Windows, et a trouvé le bug de la webcam Windows ci-dessus ;
    • les tests tournent aussi sous le détecteur de concurrence de Go, qui repère les accès simultanés à la même donnée par deux parties du programme, comme la webcam et le jeu ;
    • chaque bibliothèque utilisée doit avoir une licence.
  • Failles connues : govulncheck vérifie à chaque modification, et chaque semaine, que gbe n'utilise pas de code touché par une faille publiée. Il a déjà fait passer gbe à Go 1.27.2, qui corrige deux failles. Elles touchaient le générateur du site, pas l'émulateur.
  • Dépendances à jour : Dependabot propose chaque semaine les nouvelles versions des bibliothèques et des outils de compilation.

Mise à jour

Sur macOS, installe l'application depuis l'image disque ; sous Windows et Linux, remplace gbe.exe ou l'AppImage. Tes réglages, tes jeux récents, les sauvegardes (.sav) et les save states (.state) des versions précédentes sont conservés.

Le format des save states ne change pas : ceux créés avec la v0.1.15 se chargent aussi dans la v0.1.16.

Changements complets : v0.1.15...v0.1.16

v0.1.15

gbe v0.1.15

Cette version émule la Game Boy Camera : la cartouche photo de la Game Boy se lance, et sa caméra voit ta webcam ou l'image de ton choix.

Nouveautés

La Game Boy Camera

Jusqu'ici, gbe refusait la cartouche Game Boy Camera (Pocket Camera au Japon) avec le message « Cartouche non supportee (type 0xFC) ». Elle se lance maintenant, avec tout ce qu'elle fait sur la console :

  • Son capteur : la ROM règle elle-même l'exposition, la luminosité et le contraste, et trame l'image en 4 teintes, comme sur la vraie cartouche.
  • Ses 30 photos sont gardées dans le fichier .sav, comme les sauvegardes des autres jeux.

Ce que voit la caméra

Pendant une partie de Game Boy Camera, le menu Pause a une entrée de plus, « Camera... ». Sa page choisit ce que voit la caméra :

  • « Source < webcam > » : une webcam du système, choisie dans l'entrée « Webcam », par exemple celle d'un écran ou un iPhone en Continuity Camera sur Mac. « par defaut » prend celle du système. La webcam ne s'allume que pendant la partie, et s'éteint dès que tu changes de source ou de jeu.
  • « Source < image > » : une photo ou un dessin en PNG, JPEG, GIF ou WebP, choisi avec « Choisir une image... » ou simplement déposé sur la fenêtre pendant la partie. « Oublier l'image » la retire.
  • Sans webcam ni image, la caméra voit du bruit, comme un vrai capteur dans le noir.
  • « Miroir » retourne l'image de gauche à droite, pour les selfies.

gbe garde le milieu de l'image, au format du capteur (128×112 pixels), en niveaux de gris. Le bas de la page indique l'état de la webcam (« en marche », « ouverture... » ou « indisponible ») ou le nom de l'image.

La première fois, le système peut demander l'autorisation d'utiliser la caméra :

  • macOS : accepte la demande de macOS. Si tu l'as refusée, autorise gbe dans Réglages Système > Confidentialité et sécurité > Caméra.
  • Linux : il faut faire partie du groupe video, ce qui est en général déjà le cas.
  • Windows : le réglage « Autoriser les applications de bureau à accéder à votre caméra » doit être activé.

Sans autorisation, une notification l'indique, par exemple « Acces a la camera refuse (reglages du systeme) ».

Sous Linux et Windows, la webcam est encore expérimentale : elle n'a pas encore été essayée avec une vraie caméra sur ces systèmes, et la page Camera le rappelle. Les images fonctionnent partout.

Corrections

  • Écran d'accueil dans la plus petite fenêtre : en ×1 sur un écran sans HiDPI (160×144 pixels), le nom du jeu récent sélectionné et l'aide débordaient de la fenêtre. Les noms sont maintenant coupés à la largeur de la fenêtre, ou défilent quand ils sont sélectionnés, et l'aide passe à la ligne entre les mots.
  • Ligne de commande : une erreur, comme un filtre inconnu ou une ROM absente, s'affiche maintenant sous la forme gbe: …, sans la date et l'heure devant.

Site du projet

https://ldechoux.github.io/gbe/ a une section Game Boy Camera. On y voit l'image donnée à la caméra, la mascotte de gbe (un poussin au casque), à côté du viseur de la Game Boy Camera qui la regarde. Le menu du haut passe de 8 à 4 entrées : les sections Palettes, Game Boy Color, Grand écran et Game Boy Camera sont accessibles depuis un sommaire sous « Fonctionnalités », et les Crédits depuis le bas de la page.

Fiabilité

  • Tests de rendu : les menus, l'écran d'accueil et les filtres d'affichage sont dessinés par le vrai moteur graphique de gbe et comparés à des images de référence, sur Mac comme en CI sous Linux. Ils ont trouvé le débordement de l'écran d'accueil corrigé ci-dessus.
  • Couverture des tests : de 78,6 % à 88,8 % du code, avec un minimum par partie du programme, vérifié à chaque modification.
  • Webcam : en CI, gbe lit une caméra virtuelle sous Linux et liste les caméras sous Windows.

Mise à jour

Sur macOS, installe l'application depuis l'image disque ; sous Windows et Linux, remplace gbe.exe ou l'AppImage. Tes réglages, tes jeux récents, les sauvegardes (.sav) et les save states (.state) des versions précédentes sont conservés.

Le format des save states ne change pas : ceux créés avec la v0.1.14 se chargent aussi dans la v0.1.15.

Changements complets : v0.1.14...v0.1.15

v0.1.14

gbe v0.1.14

Cette version permet de choisir le dossier de tes jeux et de les lancer depuis le menu, avec une liste qui défile, pratique à la manette sur une TV. Elle change aussi les réglages par défaut du son et des vibrations, et corrige un son coupé au lancement.

Nouveautés

Tous tes jeux dans le menu

Jusqu'ici, on lançait un jeu en déposant sa ROM sur la fenêtre, ou parmi les 5 derniers jeux. Tu peux maintenant indiquer le dossier où sont tes ROM : gbe y trouve tous les jeux (.gb, .gbc et .zip), ceux des sous-dossiers compris, et les liste dans le menu.

  • Page « Jeux... » : elle remplace « Jeux recents... » dans le menu Pause, avec deux onglets qu'on change avec ←/→ :
    • Recents : les 5 derniers jeux lancés, comme avant ;
    • Tous : tous les jeux du dossier, par ordre alphabétique, avec leur nombre, par exemple « Tous (248) ».
  • Une liste faite pour être longue :
    • une barre de défilement, à droite, montre où tu es dans la liste ;
    • un nom trop long défile quand il est en surbrillance, en repartant de son début ;
    • le bas de la page donne le rang du jeu (« 38/248 »), son sous-dossier et la date de son save state ;
    • le jeu en cours est marqué « (en cours) », et la liste se rouvre sur le dernier jeu choisi.
  • Aller vite :
    • ↑/↓ maintenu accélère au bout d'une seconde, puis encore au bout de deux ;
    • Page préc./Page suiv. (L/R à la manette) avancent d'une page ;
    • une lettre tapée va au prochain jeu qui commence par elle, quelle que soit la disposition du clavier (AZERTY compris).
  • Écran d'accueil : sous les derniers jeux, « Tous les jeux (248)... » ouvre directement la liste complète, et B ou Échap ramène à l'accueil. L'entrée est grisée tant que le dossier n'a aucun jeu.
  • Les noms des jeux sont maintenant leurs noms de fichier, partout, derniers jeux compris : « Pokemon Pinball (Europe) » au lieu de « POKEMONPINB ». Les collections habituelles distinguent ainsi les versions d'un même jeu, ce que le titre de la cartouche ne fait pas.

Page « Dossiers... »

La page « Boot ROM... » du menu Pause devient « Dossiers... », avec deux onglets :

  • Jeux : « Choisir le dossier... » ouvre la fenêtre de sélection de dossier du système. La page indique combien de jeux ont été trouvés, et « Oublier le dossier » l'oublie. Un dossier sans jeu est gardé, avec un message.
  • Boot ROM : l'ancienne page, sans changement.

Un dossier déposé sur la fenêtre va dans l'onglet affiché. C'est la solution sous Linux quand aucun outil de dialogue (zenity, qarma ou matedialog) n'est installé.

Nouveaux réglages par défaut

Au premier lancement :

Réglage Avant Maintenant
Volume 80 % 50 %
Vibrations cartouches Rumble non
Intensité des vibrations 80 % (le plus fort) 60 % (le milieu du curseur)

« Retablir par defaut », dans l'onglet Manette, remet aussi les vibrations sur « non », au milieu du curseur. Tes réglages actuels sont conservés.

Corrections

  • Son coupé au lancement : un fichier de réglages sans volume, écrit à la main ou par une ancienne version, démarrait avec le son coupé. Il démarre maintenant au volume par défaut, 50 %.
  • Textes qui défilent : un nom de dossier trop long, en bas de la page Dossiers, attend maintenant 0,75 s avant de défiler, au lieu de 1,5 s.

Site du projet

https://ldechoux.github.io/gbe/ est mieux décrit aux moteurs de recherche, et un lien vers le site partagé sur Discord, Reddit ou Mastodon s'affiche avec une image : les écrans titres de Super Mario Land et de Zelda: Link's Awakening DX dans leurs consoles. Ses captures montrent le nouvel écran d'accueil et les nouvelles entrées du menu.

Fiabilité

  • Rembobinage et save states plus rapides : une sauvegarde de la console pour le rembobinage prend environ 5 fois moins de temps (de 23 à 4,6 µs sur un Mac M1 Max, −79 % sur la machine des tests), et charger un save state 3 fois moins (de 1,3 à 0,45 ms). Les fichiers sont identiques octet pour octet.
  • Ebitengine 2.10.5 : la dernière version du moteur de gbe, qui corrige quelques bugs de son affichage de texte et de formes.

Mise à jour

Sur macOS, installe l'application depuis l'image disque ; sous Windows et Linux, remplace gbe.exe ou l'AppImage. Tes réglages, tes jeux récents, les sauvegardes (.sav) et les save states (.state) des versions précédentes sont conservés. Les nouveaux réglages par défaut ne s'appliquent qu'au premier lancement : ton volume et tes vibrations restent ceux que tu avais choisis.

Le format des save states ne change pas : ceux créés avec la v0.1.13 se chargent aussi dans la v0.1.14.

Changements complets : v0.1.13...v0.1.14

Versions précédentes

Leurs notes de version sont sur GitHub.

Crédits

gbe s'appuie sur des projets libres et sur le travail de la communauté Game Boy. Merci à leurs auteurs.

Bibliothèques

Ebitengine

Le moteur de jeu 2D en Go de Hajime Hoshi : fenêtre, rendu sur la carte graphique et shaders Kage des filtres, son, clavier et manettes. Avec Oto pour le son et purego, qui permet de se passer de cgo.

Go

Le langage dans lequel gbe est écrit, de bout en bout.

Inspirations

SameBoy

L'émulateur Game Boy de Lior Halphon, réputé pour sa précision. gbe lui doit les palettes de sa boot ROM couleur libre, pour coloriser les jeux Game Boy, et le modèle de sa rémanence. Il sert aussi de référence pour valider l'image et le son. Code source.

Algorithmes des filtres

MMPX, de Morgan McGuire et Mara Gagiu (2021), et Scale2x et Scale3x, d'Andrea Mazzoleni pour AdvanceMAME.

higan

L'émulateur de byuu, d'où vient la formule de correction des couleurs de la Game Boy Color, qui retrouve le rendu plus pâle de son écran.

BGB

L'émulateur et débogueur Game Boy de beware. gbe reprend sa palette « BGB » et le format de l'horloge MBC3 de ses sauvegardes : les .sav de Pokémon Or et Argent restent compatibles.

Tests et outils

Tests de blargg

Les ROMs de test de Shay Green (blargg), qui vérifient le processeur, les timings et le son : gbe les réussit en Game Boy et en Game Boy Color.

dmg-acid2 et cgb-acid2

Les ROMs de test de Matt Currie pour l'affichage, que gbe rend au pixel près.

RGBDS

L'assembleur Game Boy de la communauté gbdev, avec lequel est construite la ROM de test de gbe.