Le Web regorge de guides, de tutoriels et d'accessoires matériels pour sauvegarder les jeux de Game Boy, Game Boy Color et Game Boy Advance. Cependant, le moddeur et youtubeur connu sous le nom de «TheZZAZZGlitch» a décidé d'explorer une alternative plus chaotique : faire planter un jeu de Game Boy Advance et le reconstruire à partir du son provoqué par les erreurs. Le processus demande des heures entières d'enregistrements et la correction de multiples bugs, mais il y a beaucoup à apprendre ici.

Comment reconstruire un jeu de Game Boy Advance à partir des sons de ses erreurs
Game Boy Advance

La famille Game Boy a beaucoup d'atouts, et l'un d'eux est la relative robustesse de ses cartouches, bien qu'elles soient loin d'être immortelles. Les piles épuisées, la friction dans les connecteurs, l'humidité, les chocs et le «flex» du PCB sont quelques-unes des causes qui peuvent mettre une cartouche hors service, en générant toutes sortes d'erreurs. Mais que se passe-t-il si nous provoquons nous-mêmes ces erreurs ?

Le youtubeur «TheZZAZZGlitch» se consacre à explorer les glitches et les hacks dans les premières générations des jeux Pokémon. En d'autres termes, faire planter les jeux Pokémon est sa spécialité. Dans l'une de ses dernières vidéos, «TheZZAZZGlitch» a expliqué le son du crash ou de la suspension sur la Game Boy Advance, et il y suggère que le contenu entier de la cartouche peut être reconstruit en utilisant uniquement cet audio...

La Game Boy Advance, chantant la chanson de son peuple

Pour faire court, le son de la Game Boy Advance est transmis avec un petit tampon en RAM utilisant DMA. Quand il atteint la fin du tampon, une interruption est activée pour mettre à jour les données et renvoyer le pointeur DMA au début. Cependant, lors d'un événement de plantage, l'interruption est perdue et le pointeur DMA ne reçoit jamais le reset, c'est-à-dire qu'il continue à envoyer le contenu entier de la mémoire au haut-parleur comme s'il s'agissait de son.

Après avoir attendu près de deux heures, «TheZZAZZGlitch» a obtenu un son 8 bits à 13,1 kHz. Avec l'aide d'un script Python (et l'effort de passer deux jours à corriger des bugs), il a réussi une reconstruction à 99,76 pour cent... mais ce n'était pas suffisant. En combinant trois enregistrements avec un algorithme de «vote majoritaire», la précision est montée à 99,979 pour cent. La ROM a démarré dans l'émulateur, mais elle contenait encore trop d'erreurs. La clé ? Plus d'enregistrements : avec sept dumps différents, la précision a atteint 100 pour cent, restaurant complètement la ROM.

La deuxième moitié de la vidéo se concentre sur la répétition du processus en utilisant du matériel réel, et comme piment supplémentaire, une fausse cartouche de Pokémon Emerald. Dans ce cas, il a eu besoin de 45 enregistrements, et malgré tout, il n'a pas atteint 100 pour cent (99,9837%), mais le jeu a démarré correctement. Pour finir, la cartouche réservait une surprise : comme elle n'utilise ni pile ni puce dédiée, les sauvegardes sont stockées dans la même mémoire Flash où le jeu a été placé. Quelqu'un a fait un excellent travail en hackant cette fausse cartouche, et il est probable que «TheZZAZZGlitch» l'explorera de plus près à l'avenir.

Accédez à la chaîne : Cliquez ici