Le guide ultime pour créer vos propres cartouches Game Boy avec un RP2040
Vous vous souvenez de cette époque bénie où on soufflait dans les cartouches Game Boy pour les faire fonctionner ? Bon, ça ne servait pas à grand chose mais on le faisait quand même. C’était le bon vieux temps et aujourd’hui, je vous propose qu’on se replonge ensemble dans tout cela, grâce à un projet absolument fascinant.
Allison Parrish, une développeuse et poétesse (oui, ça existe !), vient de publier un guide technique monumental sur comment créer vos propres cartouches Game Boy avec un microcontrôleur RP2040.
Après plusieurs années de recherche acharnée, elle a non seulement réussi à créer sa propre cartouche bootleg fonctionnelle, mais elle partage absolument TOUT dans un article fleuve qui devrait ravir les fans de hardware rétro. Et quand je dis tout, c’est vraiment tout : du fonctionnement des bus de données aux memory bank controllers, en passant par les subtilités du chip select et les joies du bus contention (C’est quand deux puces essaient d’écrire sur le même bus, et que ça fait des étincelles, littéralement).
Ce qui rend ce projet particulièrement sympa, c’est l’utilisation du RP2040 (lien affilié), le microcontrôleur du Raspberry Pi. Allison exploite à fond ses fonctionnalités PIO (Programmable I/O) pour créer une interface parfaite avec le hardware vintage de la Game Boy. Les 8 machines d’état PIO agissent alors comme des mini co-processeurs dédiés aux opérations d’entrée/sortie, détectant automatiquement quand la cartouche doit transmettre ou recevoir des données.
Son guide commence par les bases.. qu’est-ce qu’un bus parallèle, comment fonctionne l’edge connector avec ses 32 broches dorées, puis monte progressivement en complexité. Vous apprendrez par exemple que la Game Boy utilise les pins A15, A14 et A13 de son bus d’adresse pour sélectionner intelligemment quel chip mémoire doit être actif. Smarty, non ? Ça évite que la ROM, la RAM interne et la RAM de cartouche ne se battent pour contrôler le bus de données.
Parlons également un peu des MBC (Memory Bank Controllers), ces petites puces magiques qui permettent aux jeux d’accéder à plus de 32KB de ROM. Allison se concentre sur le MBC5, capable de gérer jusqu’à 8MB de ROM et 128KB de RAM. Elle explique comment ces contrôleurs utilisent une technique de “bank switching” pour contourner les limitations d’adressage 16 bits de la Game Boy. C’est grâce à ça que des jeux comme Pokémon pouvaient avoir des mondes aussi vastes !
D’ailleurs, la preuve que ça fonctionne, c’est Sebastian Quilitz qui a sorti en août 2024 une cartouche commerciale basée sur le RP2040 qui utilise ces 12 canaux DMA et les 8 machines d’état PIO. Avec 16MB de flash, elle peut stocker plusieurs ROMs et propose même un bootloader pour choisir son jeu. La gestion des sauvegardes se fait via WebUSB (fini les piles bouton qui fuient après 20 ans) ! Par contre, attention à la consommation car le RP2040 overclocké pompe plus que les cartouches originales, ce qui peut poser problème avec les veilles alim des Game Boy d’origine.
Et Allison ne s’est pas arrêtée à la théorie puisqu’elle a créé des projets complètement barrés comme un thérémine optique Game Boy ! En connectant une photorésistance à sa cartouche custom via un breadboard, elle transforme la console en instrument de musique contrôlé par les mouvements de la main. Le RP2040 peut lire ET écrire sur le bus de données, ouvrant des possibilités créatives infinies.
Pour les aspects techniques pointus, le guide détaille des concepts comme le bus contention (quand deux composants essaient d’écrire simultanément sur le bus, créant un court-circuit comme je vous le disais un peu plus haut), la différence entre bus parallèle et série, ou encore pourquoi la Game Boy n’a pas vraiment d’OS mais juste un bootloader minuscule en ROM. Allison explique même pourquoi à l’époque, distribuer un jeu Game Boy revenait à distribuer du hardware car chaque cartouche contenait les puces mémoire nécessaires au fonctionnement du jeu.
Ce qui est génial avec ce projet, c’est qu’il utilise uniquement des composants disponibles dans le commerce. Pas besoin de cannibaliser de vieilles cartouches pour récupérer des puces introuvables ! Allison utilise de la vraie mémoire flash parallèle pour la ROM et de la vraie SRAM parallèle, ce qui évite les problèmes de timing qu’on peut avoir avec des solutions émulées.
Pour ceux qui veulent se lancer, tout est open source : les schémas PCB, le firmware, les exemples de code. Le design est pensé pour être “extrêmement hackable” selon les propres mots d’Allison. Vous pouvez même faire communiquer le Game Boy avec des périphériques modernes, ajouter des capteurs, créer des extensions hardware custom… Les possibilités sont vertigineuses.
Allison insiste aussi sur le fait que la Game Boy est une plateforme idéale pour le hacking hardware. Simple, bien documentée, pas de protection anti-copie, plus de 100 millions d’unités vendues, et une communauté toujours active qui sort encore des jeux en 2025. Sans compter les nombreux outils de développement modernes comme GBDK pour le C ou GB Studio pour la programmation visuelle.
Voilà, donc si vous êtes du genre à aimer comprendre comment les choses fonctionnent vraiment, ce guide est une mine d’or. Pour les plus motivés, les fichiers du projet ABC (Allison’s Bootleg Cart) sont disponibles sur son dépôt Git. Et si vous préférez acheter une cartouche toute faite, celle de Sebastian Quilitz est dispo sur Tindie et RetroReiz.
Prendre une console de 1989, la comprendre jusqu’au moindre transistor, et lui greffer un nouveau cerveau pour créer des trucs impossibles à l’époque… C’est quand même beau je trouve, non ?
Merci à Lilian pour le partage !
Source : korben.info