Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierFlux principal

GB Recompiled - Vos ROMs Game Boy traduites en C natif

Par : Korben
16 mars 2026 à 12:01

La recompilation statique , je vous en avais parlé avec Zelda 64 et Sonic Unleashed. Le principe, en gros c'est qu'au lieu d'émuler bêtement le processeur et la mémoire d'origine, on traduit tout simplement le code assembleur du jeu directement en C natif. Du coup le jeu tourne nativement sur votre machine, sans couche d'émulation.

Et la bonne nouvelle du jour c'est que cette technique vient de parvenir jusqu'à la Game Boy avec GB Recompiled .

Vous filez à cet outil un fichier .gb et il vous sort OKLM un dossier avec du code C, un CMakeLists.txt et tout ce qu'il faut pour le compiler. Vous lancez cmake puis ninja, et votre vieux Pokemon Bleu tourne nativement sur votre PC plutôt que de passer par un émulateur qui simule le processeur Z80 à chaque frame.

Plutôt chouette non ???

Pour réussir ce tour de force, le recompilateur parse les opcodes Z80 de la cartouche, construit un graphe de contrôle de flux et résout les sauts indirects (genre les tables de jump, le truc qui rend la décompilation galère parce que l'adresse de destination dépend de la valeur d'un registre). Le taux de découverte dépasse alors les 98% même sur des RPGs bien touffus... pas mal pour de l'analyse purement statique !

Côté compatibilité, 7 jeux sont pour le moment validés : Tetris, Pokemon Blue, Donkey Kong Land, Kirby's Dream Land, Zelda Link's Awakening, Castlevania et Super Mario Land.

Par contre, attention, tous les jeux ne passent pas encore. Le runtime embarque un rendu PPU scanline , un système audio 4 canaux et les contrôleurs mémoire MBC1, MBC2, MBC3 et MBC5. Et comme tout ça tourne avec SDL2, du coup ça compile tranquillou sur macOS, Linux et Windows sans broncher !

Y'a aussi des outils de vérification assez bien pensés. Par exemple, un mode différentiel lance le binaire recompilé et un interpréteur Z80 côte à côte, puis compare l'exécution cycle par cycle avec une implémentation de référence. Tant que ça colle, le portage est fidèle !

Et y'a aussi un script Python basé sur PyBoy qui génère des traces d'exécution pour repérer les instructions que l'analyse statique aurait loupées. Voilà, ce que je veux vous dire c'est que c'est pas juste un traducteur tout bête. Y'a vraiment tout un pipeline de tests derrière pour assurer le meilleur portage possible.

Si vous avez suivi les autres projets autour de la portable de Nintendo, comme le GB Interceptor qui espionne le bus mémoire avec un adaptateur USB ou le Game Bub et son FPGA Xilinx, GB Recompiled choisit plutôt l'angle purement logiciel. Là où le FPGA reproduit les circuits et l'émulateur simule le CPU, la recompilation traduit le code source. Ce sont 3 philosophies différentes mais qui ont un seul et même objectif : Faire en sorte que ces jeux ne crèvent pas avec leurs cartouches en plastique gris.

Pour tester chez vous, c'est du classique : un petit terminal, un petit git clone, un cmake, un ninja, et vous passez votre fichier .gb au recompilateur.

git clone https://github.com/arcanite24/gb-recompiled.git
cd gb-recompiled
cmake -G Ninja -B build .
ninja -C build

# Générer le code C depuis la ROM
./build/bin/gbrecomp path/to/game.gb -o output/game

# Compiler la nouvelle version en C
cmake -G Ninja -S output/game -B output/game/build
ninja -C output/game/build

# Optionnel: Baisser ou augmenter le niveau d'optimisation
cmake -S output/game -B output/game/build -DGBRECOMP_GENERATED_OPT_LEVEL=2

# Et on lance !
./output/game/build/game

Voilà comment avec juste quelques commandes, votre bonne vieille cartouche GB peut enfin tourner nativement sur votre laptop. Notez que le support Game Boy Color est dans les tuyaux, ainsi qu'un build Android.

Le projet est franchement actif et ça sent très bon pour la suite !

Banjo-Kazooie - Le portage PC 4K est dispo

Par : Korben
28 janvier 2026 à 07:19

Si contrairement à moi, vous avez grandi avec la Nintendo 64, vous avez forcément passé des heures à collecter des Jiggies et à insulter cette sorcière de Gruntilda . Ceux qui savent, savent... Mais ceux qui ne savent pas hé bien préparez-vous aussi à prendre une claque de nostalgie en 4K, car Banjo-Kazooie vient de débarquer sur PC en version 100% native !

Comme d'hab, c'est de la recompilation statique et pas une ROM émulée. C'est le même type de procédé magique qui nous a déjà offert le portage de Zelda Majora's Mask (via N64: Recompiled) ou encore Sonic Unleashed récemment (via XenonRecomp).

En gros, le projet Banjo-Kazooie: Recompiled utilise l'outil N64: Recompiled pour traduire le code original du jeu en une application PC native. Comme ça le jeu tourne sans l'overhead de l'émulation CPU traditionnelle, ce qui nous permet de profiter d'un framerate débloqué (fini les petits ralentissements de l'époque), d'un support pour les écrans ultra-larges, et d'une fluidité absoluuuue.

Et surtout, ce portage intègre le moteur de rendu RT64. Pour l'instant, ça sert surtout à lisser tout ça et à gérer les hautes résolutions, mais le moteur est techniquement capable de gérer le Ray Tracing, ce qui laisse rêveur pour les futures mises à jour. Je vous laisse imagine la fameuse Montagne de Spirale avec des éclairages ultra réalistes... ça va être quelque chose !

Bref, voici ce qu'on retrouve dans ce portage :

  • Support natif du clavier/souris et des manettes modernes.
  • Sauvegarde des notes : Plus besoin de ramasser toutes les notes d'un niveau en une seule fois sans mourir (le traumatisme de mon enfance, je vous jure).
  • Temps de chargement quasi-instantanés.
  • Support des mods et des packs de textures.

Alors comment on y joue ?

C'est assez simple en fait. Comme pour les autres projets de ce style, les dév ne fournissent aucun asset illégal. Vous devez donc posséder votre propre ROM de Banjo-Kazooie. Attention par contre, il faut impérativement la version NTSC 1.0 (US), sinon ça ne passera pas lors de l'extraction. Ensuite, au premier lancement, l'outil va extraire les textures, les modèles et les sons de votre ROM pour construire le jeu PC.

Il y a même un support pour le Steam Deck et Linux via Flatpak, donc vous pouvez emmener l'oiseau et l'ours partout avec vous (sauf sous l'eau, évidemment ^^).

A vous maintenant de foncer récupérer le launcher sur GitHub .

❌
❌