Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.

GBCYouTube - YouTube en direct sur une Game Boy Color

Un bidouilleur du nom de Throaty Mumbo a décidé de s'attaquer à la Game Boy Color (sortie en 1998, ça ne nous rajeunit pas) pour y faire tourner YouTube ! Et du vrai YouTube hein, en streaming, sur 160x144 pixels. Ça s'appelle GBCYoutube et je vous explique tout en détail...

Ce qu'il a fait en fait, c'est se bricoler une cartouche maison avec dedans, un microcontrôleur RP2350B (le cerveau du Raspberry Pi Pico 2) qui fait tourner le lecteur, et une puce ESP32-C6 qui sert juste de pont WiFi. Vous tapez le titre d'une vidéo sur un clavier affiché à l'écran, la console balance l'info à votre PC, et là yt-dlp récupère la vidéo pendant que ffmpeg l'encode à la volée. Les images repartent ensuite par WiFi vers la cartouche qui les pousse à l'écran en flux continu, sans avoir besoin de stocker quoi que ce soit. Je vous laisse mater la vidéo, c'est impressionnant :

Côté rendu, vous avez le choix entre deux modes. Le premier c'est pour avoir du full screen (160x144 à 30 fps, c'est Las Vegas babyyy) et le second monte en couleurs mais tombe à 5 fps, donc forcément, ça ressemble plus à un diaporama qu'à une vidéo. Le son ne passe même pas par le haut-parleur d'origine. Throaty a glissé, pour cela, un petit haut-parleur dédié dans la cartouche, piloté par le RP2350B "pour libérer les cycles CPU de la Game Boy".

Puis comme le son est souvent désynchronisé avec l'image, c'est pas ouf non plus. Mais pour la beauté du geste, je salue !

Et c'est pas la première tentative, vous vous en doutez. Chromalock streamait déjà de la vidéo sur la même console, sauf que ça passait par le câble link, un goulot d'étranglement à 512 kHz qui plafonne vite. Alors que là, on passe au WiFi et à une vraie appli YouTube, avec recherche embarquée et tout le tralala.

Throaty Mumbo n'est pas un inconnu sur la scène, puisque c'est aussi le mec qui a porté Windows CE sur une Nintendo 64 et qui a fait lire des DVD à une Dreamcast . Un spécialiste des trucs aussi débiles qu'impressionnants, dans la lignée du LLM le plus lent du monde qui tourne sur une Game Boy Color ou de ces vraies Game Boy qu'on fait jouer en ligne .

Et surtout pas besoin de charcuter votre console pour reproduire le truc, puisque la cartouche passe par le port standard, donc un modèle d'origine suffit.

Le code est par ici si l'envie vous prend de vous lancer.

Source : Hackaday

Dolphin - Le Game Boy Player émulé, et c'était pas une blague

Les développeurs de Dolphin viennent de mettre un point final à un truc qu'ils se traînaient depuis 16 ans : leur émulateur GameCube et Wii sait maintenant émuler le Game Boy Player.

Pour tester ça, faut charger une ROM Game Boy via le réglage "Game Boy Player ROM" planqué dans les paramètres GameCube de Dolphin, puis vous lancez le Start-Up disc officiel du Game Boy Player ou le homebrew Game Boy Interface, et c'est parti ! L'émulateur attache alors automatiquement le matériel quand il le faut. Annoncée sous forme de blague le 1er avril, cette version est enfin dispo depuis le 25 juin pour Windows, macOS, Linux et Android.

Maintenant pour ceux qui débarquent et qui ne sont pas très au fait de l'univers de la GameCube, le Game Boy Player c'était un petit boîtier qu'on clipsait sous la GameCube pour jouer à ses cartouches Game Boy Advance sur la télé. En gros c'est une Game Boy sans écran quoi, et ça envoyait l'image et le son à la console et récupérait les inputs de la manette. Nintendo avait même choisi d'y coller une vraie puce GBA plutôt que de coder un émulateur, parce qu'émuler proprement une GBA à l'époque, c'était mission quasi impossible.

Et comme supporter le Game Boy Player, ça voulait dire émuler une GBA entière en plus de sa communication avec la GameCube, bah c'est pour ça que ça a pris quelques années. Personne ne voulait se taper ce chantier monstrueux, que l'équipe appelle elle-même "une curiosité". Puis il y a environ cinq ans, quand mGBA a été intégré à Dolphin pour gérer les jeux GameCube qui causaient avec une GBA, d'un coup, la brique manquante était là !! Endrift, le dev du projet s'est alors lancé sur une implémentation... avant que le projet ne s'endorme et tombe dans l'oubli.

Et ça c'était jusqu'à fin mars, où Billiard, l'un des autres mainteneurs du projet, est retombé sur le code quasi terminé de son précédent collègue et a eu comme idée tordue de le finir pour le sortir le 1er avril.

Quelques jours de rush plus tard (pull request, review, test, merge, wesh tu connais), le support a fini par arriver quelques heures après minuit le jour J. L'équipe a alors posté une image énigmatique sur ses réseaux sans aucune explication, et a regardé la confusion des gens virer à l'excitation. Sauf que dans la foulée, un autre gars nommé extrems (une encyclopédie vivante de la GameCube et l'auteur de Game Boy Interface) a déboulé dans le chat des devs parce qu'il a tout de suite repéré ce que tout le monde avait loupé : un son strident à vous percer les tympans.

Le bug était passé sous le radar parce que les tests avaient été faits sur le Start-Up disc officiel, qui filtre et écrase tellement l'audio que ça sonnait juste un peu pâteux. Ils ont dû corriger vite, et c'est désormais propre.

Après Dolphin c'est pas vraiment un émulateur Game Boy. Il émule la GameCube, la Wii et la Triforce et ce support GB reste un peu en marge, comme une curiosité. C'est pas la meilleure façon de relancer vos jeux Game Boy et pour ça, les émulateurs dédiés font franchement mieux.

Et tant qu'à faire, cette version 2606 rend aussi enfin jouable The Key of Avalon (le dernier jeu Triforce qui résistait encore), corrige un vieux bug graphique en haute résolution qui traînait depuis la nuit des temps, et apporte enfin les RetroAchievements sur les jeux Wii. En tout cas, ça reste le même bon vieux Dolphin avec lequel un dev a réussi à faire parler Animal Crossing avec une IA en hackant la RAM émulée, si vous aviez loupé ce délire.

Voilà... 16 ans d'attente, un poisson d'avril foireux, et le plus vieux ticket du projet enfin refermé ! Bravo la team Dolphin !

À télécharger sur le site officiel .

Source

GB-Link USB - Faites jouer vos vraies Game Boy en ligne

Le bidouilleur Starlarkus vient de sortir son nouveau projet, le GB-Link USB V2 qui n'est ni plus ni moins qu'un petit adaptateur permettant de brancher une VRAIE Game Boy sur le net.

Le truc se fait passer pour un câble link tout ce qu'il y a de plus normal, et la console n'y voit que du feu. D'un côté y'a le port link de la Game Boy, de l'autre un port USB-C que vous branchez sur un ordi ou un smartphone Android. Et là, tout passe ensuite par le navigateur en WebUSB. Vous ouvrez une page web et vous pouvez retrouver un autre joueur et enfin échanger des Pokemon comme en 1999 ou vous mettre sur la gueule avec un Tetris, tout ça à distance.

C'est magique ! Sous la coque en plastique de l'appareil, on retrouve surtout un PCB maison monté sur une puce RP2040 (la même puce que dans le Raspberry Pico) et ça cause avec la Game Boy, la Game Boy Color et la Game Boy Advance, et même avec les clones FPGA modernes .

Côté jeux, ça va de Dr. Mario à Advance Wars en passant par tous les Pokémon de la première à la troisième génération.

Le firmware, le client web et le launcher sont tous open source et le GB-Link USB V2 en lui-même sera bientôt dispo dans un crowdfunding .

Si vous avez encore une Game Boy qui prend la poussière dans un tiroir, c'est peut-être donc le moment de lui offrir une seconde vie connectée !

Source

WorkBoy - Le PDA fantôme de la Game Boy

En 1992, Eddie Gil de la boîte anglaise Source R&D et Frank Ballouz de Fabtek s'étaient mis en tête d'une chose : transformer la Game Boy en PDA. La console à pile AA de Nintendo avec son écran vert pissette devait, dans leurs rêves les plus fous, devenir l'agenda électronique des cadres dynamiques. Le projet s'appelait WorkBoy, et il a même été présenté au CES en 1992, puis... plus rien.

Évaporé durant 28 ans.

Jusqu'à ce qu'en 2020, Liam Robertson, le mec derrière DidYouKnowGaming , retrouve un prototype fonctionnel chez Frank Ballouz lui-même. Ballouz l'avait sur son étagère depuis trois décennies. Quand Robertson l'a contacté, il lui a lâché tranquillou : "Oh yeah, j'ai le WorkBoy derrière moi" et après 7 mois de relances, le proto est finalement arrivé dans les mains de Robertson pour être testé en vidéo :

Le WorkBoy, c'est un clavier QWERTY plus gros que la Game Boy elle-même, avec une cartouche dédiée qui se branche dans l'emplacement où d'ordinaire, on met les jeux. Et à l'intérieur du clavier, il y a une horloge, de la mémoire interne (la Game Boy n'en avait pas, c'était LE problème majeur de l'époque), ainsi que tout un OS de bureautique de poche.

Et au menu des fonctionnalités, on avait donc le droit à un calendrier, un répertoire téléphonique, un convertisseur d'unités (parce qu'en 1992 vous saviez jamais quand ce serait le moment de convertir des pieds en mètres en pleine réunion), une calculatrice, et même un traducteur multilingue.

Mais le clou du spectacle, c'est la carte du monde qui jouait... les hymnes nationaux en 8-bit ! Voilà, je crois que là, tout est dit ! Vous cliquez sur la France, et hop vous avez la Marseillaise version Tetris. Vous cliquez sur l'URSS, vous avez l'Internationale en mode bip-bip. C'était fou pour l'époque !!

Eddie Gil avait passé des années à peaufiner ce truc, et Ballouz utilisait son carnet d'adresses Nintendo (il avait été cadre chez Nintendo Of America du temps des bornes d'arcade) pour pousser le projet en interne. Le lancement était alors prévu pour décembre 1992... l'usine était prête et la certification quasi bouclée.

Et puis Nintendo a annoncé qu'ils allaient faire baisser le prix de la Game Boy !! C'était la cata car d'un coup, l'accessoire WorkBoy, à 90 dollars environ, devenait plus cher que la console qu'il était censé compléter !

Ballouz a refait ses calculs, a fait la grimace, et a annulé la production quelques mois avant le CES. Game over pour le projet. Et voilà comment pendant trois décennies, le seul souvenir tangible du projet, c'était quelques photos floues et une marque déposée.

Mais le truc cool suite à cette redécouverte, c'est que Robertson a aussi mis la main sur le code source du WorkBoy via le fameux Nintendo Gigaleak de 2020 (c'était une fuite massive des serveurs Nintendo qui a balancé pelle-mêle des ROMs prototypes, du code source, des trucs internes...).

Un anonyme sur Twitter lui a alors signalé qu'on pouvait choper la ROM en ligne. Robertson était mal à l'aise avec la source car c'était du code volé, mais bon, il a fini par graver le binaire sur une cartouche et réussi à faire tourner le proto.

Et là, surprise : le truc a fonctionné nickel. "C'est plus rapide que mon ancien smartphone", a balancé Robertson. Faut dire qu'en 1992, avoir une UI réactive sur un écran 160×144 pixels en 4 nuances de vert, c'était de l'orfèvrerie. À l'époque, les développeurs savaient optimiser leur code au cycle CPU près, et ça se voyait...

Par contre, le WorkBoy nécessitait obligatoirement le hardware physique pour fonctionner correctement car l'horloge et la mémoire interne sont dans le clavier et pas dans la cartouche. Du coup, l'émulation pure ne suffisait pas. C'est probablement pour ça qu'on n'en avait jamais entendu parler avant que Ballouz daigne sortir le sien du grenier.

Ce WorkBoy disparu était l'incarnation parfaite de cette ère charnière où on cherchait à entasser de la productivité dans tout ce qui avait un microprocesseur. Comme quoi, bien avant le PalmPilot (1996), dans la foulée du Psion 3 (sorti un an plus tôt), Nintendo et ses partenaires avaient donc déjà flairé le truc.

Source

GB Recompiled - Vos ROMs Game Boy traduites en C natif

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 !

Quand le set LEGO Game Boy prend vie

J’espère que votre semaine se passe bien. Moi c’est la course comme d’hab… Mais je viens de tomber sur un truc que j’ai trouvé super cool et je ne résiste pas à l’envie de partager ça avec vous. Vous avez vu le nouveau set LEGO Game Boy officiel (lien affilié) qui vient de sortir ? 421 pièces, une soixantaines d’euros, une réplique à l’échelle 1:1 avec des cartouches Link’s Awakening et Super Mario Land faits de briques… C’est joli, c’est nostalgique, mais ça ne fait strictement rien. C’est juste décoratif.

Et bien selon The Verge , une moddeuse australienne du nom de Natalie the Nerd a trouvé ça carrément abusé, alors elle a fait ce que ferait n’importe quel geek qui se respecte : elle l’a transformé en vraie console Game Boy fonctionnelle. Et attention, je ne vous parle pas d’un vulgaire Raspberry Pi Zero planqué dedans avec un émulateur. Non, non, non, elle y a mis des vrais morceaux de Game Boy, avec de VRAIES cartouches qui tournent, ainsi qu’un circuit imprimé qu’elle a conçu elle-même.

Bah oui, pourquoi faire simple quand on peut faire compliqué ?

Pour arriver à ses fins, elle a dû miniaturiser toute la logique d’une Game Boy sur un PCB de la taille d’un timbre-poste. Elle a installé l’écran le plus petit du marché (ce qui l’a obligée à retirer quelques briques LEGO au passage), passé un port USB-C pour l’alimentation, et même prévu des boutons totalement fonctionnels.

D’ailleurs, en août dernier, Natalie avait fait aussi le buzz avec une Game Boy Color entièrement transparente , circuit imprimé inclus. Elle a conçu un PCB en matériau acrylique transparent où on voit tous les fils de cuivre flotter dans le vide. Super beau, super technique, mais elle-même disait que c’était juste un projet artistique pour montrer son travail, et pas quelque chose de très pratique.

Elle a même fondé le Modded Gameboy Club , une communauté avec un Discord et un Wiki où les gens partagent leurs tutos pour réparer, modifier, upgrader leurs vieilles consoles Nintendo. Elle vend aussi des composants de seconde main pour les modders et partage ses designs de circuits en open source.

Et bonne nouvelle pour ceux qui voudraient reproduire sa version fonctionnelle de la LEGO Game Boy puisqu’elle a annoncé qu’elle publierait les schémas et les plans une fois qu’elle serait satisfaite du résultat final. Donc si vous avez des compétences en soudure et que l’idée de fabriquer un PCB custom ne vous fait pas peur, vous pourrez bientôt tenter l’aventure.

En tout cas, moi je trouve ça trop super méga génial !

Comment modder une Game Boy avec du matos basique de chez basique

Quand j’étais jeune, j’ai eu la chance d’avoir une Game Boy originale et au fil des années, j’avais accumulé pas mal de jeux. Malheureusement un jour, un membre malfaisant de ma famille a quasiment tout volé pour les revendre à je ne sais qui, mais j’ai quand même réussi à sauver ma GB d’origine et surtout Tetris qui est, encore aujourd’hui, mon jeu préféré.

Je n’y joue pas souvent, mais je sais que si un jour elle tombe en panne, grâce à ce projet, je pourrais la réparer sans souci et même avoir de nouvelles fonctionnalités super cools. D’ailleurs qui n’a jamais rêvé de pimper sa bonne vieille Game Boy tout en conservant son look d’origine indémodable ?

❌