Les jeux cachés du Play-Yan de Nintendo

Le Play-Yan de Nintendo est vraiment une cartouche bizarre et intéressante. C’est un lecteur MP3 pour Game Boy Advance (et Nintendo DS, du coup) sorti en 2005 au Japon. Le point intéressant, c’est que Nintendo a proposé des jeux à télécharger pour le Play-Yan (les Garage Games) mais que c’était un leurre : les jeux sont déjà dans la cartouche.

Un peu de contexte sur le Play-Yan, d’abord (je vous conseille l’excellent livre Peripheral Vision sur les accessoires du Game Boy). C’est une cartouche dotée d’un lecteur de cartes SD, sortie en février 2005 au Japon. Elle était vendue uniquement par Nintendo en direct (pas en magasin) et permettait de lire des fichiers MP3 et des vidéos dans un conteneur ASF (un format Microsoft). Elle se présente sous la forme d’une cartouche Game Boy Advance qui dépasse un peu et nécessite officiellement un modèle SP (même si en pratique ça fonctionne sur le modèle original). En septembre 2005, Nintendo a proposé le Play-Yan Micro, qui est une petite évolution de la cartouche. Premièrement, elle proposait une compatibilité un peu plus large pour la vidéo, avec la prise en charge du conteneur MP4. Deuxièmement, l’interface a été un peu modifiée. Et troisièmement, les Garage Games ont disparu. La cartouche a été distribuée un peu plus largement, mais n’était pas disponible dans les magasins physiques pour autant. Une partie des nouveautés du Play-Yan Micro a été proposée pour le Play-Yan avec une mise à jour de firmware, et iQue a proposé sa version en Chine en 2005 (identique techniquement). Enfin, il y a une troisième variante, le Nintendo MP3 Player, sorti en Europe en 2006. Si la cartouche est physiquement identique, la partie matérielle n’est pas la même et la version européenne ne lit pas les fichiers vidéo, uniquement les fichiers MP3.

La cartouche Play-Yan

Un peu de technique

En interne, le Play-Yan contient un décodeur vidéo VC01. C’est le VideoCore 1, soit l’ancêtre de la partie graphique des Rasperry Pi (qui en sont au VideoCore 7). Elle prend en charge le MPEG-4 standard, l’AAC, le MP3, etc. La façon dont la cartouche et le Game Boy communiquent est bien expliquée dans cet article qui se penche sur l’émulation du Play-Yan.

Un truc à noter, c’est que le lecteur de cartes SD n’est pas compatible SDHC mais aussi qu’il est limité à 1 Go pour les cartes. J’expliquerais un peu plus dans un autre post un jour, mais en gros les cartes de 2 Go et 4 Go ont une taille de bloc qui n’est pas 512 octets et certains lecteurs partent du principe que cette taille est fixe. Nintendo a une liste de compatibilité, mais ça reste assez simple : les cartes de 2 Go ne sont pas compatibles.

Une carte SD de 1 Go


Le chargement depuis la carte SD

Autre petite subtilité technique, le son peut soit sortir du Game Boy Advance (et éventuellement de sa prise jack), soit de la cartouche elle-même. Dans le premier cas, le son est assez mauvais : la qualité est réduite par les capacités techniques du Game Boy Advance. Vous aurez du mono (sur le haut-parleur) ou du stéréo sur la sortie jack du Game Boy (qui nécessite un adaptateur sur le Game Boy Advance SP). Mais la solution la plus efficace consiste à brancher des écouteurs sur la prise jack de la cartouche : vous aurez le son qui sort directement du décodeur, sans réduction de la qualité et en stéréo.

Le son en stéréo via la prise jack

Dernier point, je vous conseille (si vous trouvez un Pay-Yan original) de mettre à jour le firmware. Nintendo le distribue toujours, c’est un fichier à placer à la racine de la carte SD, qui est chargé à chaque démarrage.

Les Garage Games

Nintendo a proposé un truc qui m’a intéressé : les Garage Games. Ils sont toujours disponibles, et ce sont des jeux à télécharger sur le site de Nintendo. Il suffit de les placer à la racine de la carte SD et d’aller dans la section des vidéos pour jouer. Le côté bizarre de la chose, c’est qu’il s’agit de fichiers ASF qui contiennent de la vidéo (une dizaine de secondes) mais pas du code. Et c’est normal : l’article sur l’émulation explique qu’en réalité, les jeux sont dans la cartouche. Pour éviter de permettre de lancer des homebrew, Nintendo a donc triché un peu. Le fonctionnement est un peu particulier : la ROM attend un nom précis (par exemple JUMP.ASF) mais aussi un hash précis pour la miniature de la vidéo. Le contenu de la vidéo n’a pas d’importance, en réalité, et c’est essentiellement un calcul sur les données de la miniature. Il est même possible de créer le bon hash à partir d’une image quelconque en modifiant quelques bits.

Une capture d’un des jeux

Il y a 13 (mini) jeux disponibles (le 13e est lié aux crédits, en bas de la page). C’est vraiment extrêmement basique, il faut bien le dire, et les jeux ne prennent qu’une petite portion de l’écran, celle de la miniature de la vidéo. La bonne nouvelle, c’est qu’il est possible de les émuler avec GBE+, du coup. Ce n’est pas spécialement intéressant, c’est amusant 15 secondes, et c’est vraiment le fait que ce ne sont pas des jeux à télécharger qui m’a intéressé ici.

Lire des MP3 et de la vidéo

Pour les fichiers MP3, j’ai eu un petit problème que je détaillerais probablement un jour : les fichiers issus de Musique (iTunes) ne fonctionnaient pas. En théorie, il suffit de mettre des MP3 sur la carte pour les lire, avec une interface qui afficher une liste des fichiers. Après quelques essais, j’ai d’abord pensé que l’encodeur d’Apple faisait des choses bizarres, mais le problème venait en fait de l’intégration de l’image dans le fichier. Si l’image de couverture est dans le fichier, le Play-Yan n’en veut pas. Il faut donc la supprimer manuellement pour que ça fonctionne.

Un MP3 dans un émulateur

Pour la vidéo, il y a deux options, soit un conteneur ASF, soit un conteneur MP4. Vous aurez besoin de la mise à jour de firmware pour le second, mais c’est plus simple. Selon le site officiel, il faut encoder en MPEG-4 (pas en H.264), au maximum en 352 x 288 à 30 fps (on peut viser plus bas, l’écran est en 240 x 160) avec un débit maximal de 1 Mb/s. Pour l’audio, on peut mettre de l’AAC en stéréo, jusqu’à 320 Kb/s. Pour tester, j’ai simplement utilisé HandBrake en forçant la dimension sur 320 x 240, avec l’encodeur MPEG-4 forcé sur un débit moyen de 512 kb/s (je ne sais pas trop si c’est un débit constant). Pour l’audio, j’ai simplement mis de l’AAC à 128 kb/s. Le fichier obtenu a fonctionné directement.

Un réglage HandBrake


Attends, matte, je te mets ta gueule en 160p

Nintendo livrait un programme sur un CD de 8 cm pour convertir des vidéos en ASF, mais c’est un logiciel pour Windows XP et il ne se lance pas sur une installation en anglais ou en français. Et j’avais la flemme d’installer une machine virtuelle en japonais pour une capture.

Le CD fourni

Emuler le Play-Yan

La bonne nouvelle, c’est qu’il est possible d’émuler le Play-Yan, au moins en partie. Il faut utiliser GBE+ (sous Windows), activer le Play-Yan (Options -> General Settings -> General -> Special ROM Type, choisir AGB – Play-Yan) et lancer la ROM (je vous laisse chercher). Il est possible de mettre des fichier dans le dossier /data/play_yan pour voir l’interface (par exemple un fichier MP3). On peut aussi tester le mode clair et le mode sombre en pressant Select.

Le réglage nécessaire


Un mode sombre en 2005


Enfin, plus exactement un mode clair

Pour les jeux, il faut placer les fichiers de Nintendo dans le dossier /data/play_yan pour qu’ils apparaissent. La petite subtilité, c’est que les icônes des jeux ne sont pas les bonnes : l’émulateur ne lit pas les images des fichiers vidéo, mais ce sont des images conçues par l’auteur de l’émulateur pour correspondre aux images attendues. Pour la vidéo, j’ai juste joué quelques secondes aux treize jeux.

La liste des jeux avec les images de l’émulateur

Dans l’ensemble, le Play-Yan est un accessoire amusant, avec tout de même quelques limites. Certaines viennent de l’appareil lui-même (comme la capacité des cartes SD qui ne peut pas dépasser 1 Go), d’autres du Game Boy Advance. Parce l’image n’est pas fameuse sur les consoles de Nintendo, sauf à trouver un Game Boy Advance SP avec un rétroéclairage (sur le Game Boy Micro, c’est franchement petit).