Un développeur a mis en ligne un projet intitulé « DMG · PPU: pixel pipeline explorer », un outil interactif dédié à l'analyse du processeur graphique (PPU) de la Game Boy originale. Accessible depuis un navigateur, l'outil permet de suivre, pixel par pixel, le traitement d'une image par la console.

Un simulateur visuel du PPU

L'explorateur propose une interface qui représente les différentes étapes de la chaîne graphique : balayage de l'écran (scan), période de dessin (draw), blancs horizontaux et verticaux (hblank, vblank). L'utilisateur peut naviguer ligne par ligne, dot par dot, et examiner les registres, les données des tuiles (tiles), les cartes de fond (maps), les objets (sprites), ainsi que l'état des files d'attente de pixels (FIFO) et du mélangeur final (pixel mixer). Un mode de diagnostic permet de superposer la sortie de l'outil avec celle d'un émulateur personnel afin d'identifier la première différence.

Un outil de débogage pour les développeurs d'émulateurs

L'outil est conçu pour les développeurs qui travaillent sur des émulateurs de Game Boy. Il peut rejouer les accès mémoire et les écritures de registres enregistrés par l'utilisateur pendant une frame, en utilisant le timing exact des cycles CPU. Pour utiliser la fonction de diagnostic, il faut fournir une capture d'écran, un dump de la mémoire vidéo (VRAM), un dump de la mémoire OAM (pour les sprites) et un journal textuel des écritures PPU. L'outil reproduit alors le traitement de référence et localise le premier pixel divergent.

Fonctionnement détaillé et limites

L'interface expose de nombreux paramètres : zoom (1×, 4×, 16×, 64×), affichage de la ligne courante, mode d'affichage (scan, draw, hblank, vblank), et visualisation des registres (LCDC, SCX, SCY, BGP, OBP0, OBP1, WY, WX, etc.). Le modèle est basé sur la documentation Pandocs. L'outil ne fonctionne que si l'émulateur utilisateur respecte un timing CPU précis. Les fichiers à fournir sont une image PNG (160×144), 8192 octets de VRAM bruts, 160 octets d'OAM (optionnels) et un journal texte au format décrit dans l'interface.

Une ressource pédagogique et technique

Au-delà du débogage, l'explorateur sert de support pédagogique pour comprendre le pipeline pixel par pixel de la Game Boy. Il détaille les étapes de récupération des pixels de fond (background) et des objets, leur placement dans les files d'attente (FIFO) et leur combinaison finale vers l'écran LCD. L'outil propose également une fonction de saut direct vers des événements clés (OAM scan, premier pixel, objet, fenêtre, blanc horizontal, blanc vertical).