Les sauvegardes « complètes » cachées dans un accessoire pour PC-Engine

C’est en lisant le blog Nicole Express que je suis tombé sur un truc qui m’a intrigué, parce que j’aime bien les anecdotes sur des accessoires bizarres : le Tennokoe Bank (un accessoire pour la PC Engine de NEC) intègre des sauvegardes « complètes » pour pas mal de jeux Hudson. Je m’explique.

La PC-Engine de NEC est une console 8 bits sortie dans les années 80, et elle possédait pas mal d’accessoires, notamment pour les sauvegardes. Je ne vais pas m’étendre, je connais très peu la console, mais le Tennokoe Bank est une HuCard (un format de cartouche, en réalité) qui offrait 4x 2 ko d’espace de sauvegarde. De ce que j’ai compris, la PC-Engine Duo intégrait 2 ko de mémoire, et la carte supplémentaire permettait d’avoir donc quatre fois plus de stockage. Le fonctionnement était assez basique pour garder la compatibilité : on pouvait utiliser gérer les sauvegardes en copiant depusi ou vers la console (quand elle était équipée). Ce qui m’intéresse, ici, c’est une sorte d’easter egg : il était possible de faire apparaître des sauvegardes pour des jeux populaires d’Hudson Soft (la société qui avait développé la console avec NEC). Les sauvegardes en question étaient « complètes », c’est-à-dire, en gros, qu’elles étaient assez loin dans le jeu (parfois directement à la fin, visiblement).

Ça dit en gros qu’il y a un cadeau

Dans le post de Nicole, elle explique que l’image (je n’ai pas réussi à la reproduire) indique qu’il y a un cadeau dans la Box 4 (la carte mémoire est divisée en quatre, avec une imagerie très jeux vidéo, c’est-à-dire des coffres). Elle a visiblement eu l’image en émulant la Tennokoe Bank avec une cartouche flash (TEOS sur une Turbo Everdrive v2), mais après quelques recherches, il faut en fait faire un code compliqué. Attention, il faut que la Box 4 soit vide.

Pour se donner une idée :

• Presser Run, Select, I, II et Haut/Gauche au démarrage.
• Presser 4x Gauche+I (en même temps), 6x Bas+I, 2x Droit+I, 2x Haut+I
• Presser Select et faire exactement la même manipulation

C’est un peu compliqué dans un émulateur (et je n’ai pas de PC-Engine) donc j’ai triché. En fait, on trouve peu d’informations sur l’easter egg, mais on voit de temps en temps des infos, comme ici ou ici sur Twitter. Un développeur a en effet proposé une ROM qui récupère les sauvegardes en question et les copie dans la mémoire de la console (si elle en a une). On peut aussi trouver un dump ici.

Dans un émulateur

Quand j’ai voulu essayer, j’ai été un peu bloqué. Je n’avais aucune idée de la façon dont l’émulation de la console fonctionne, et j’ai donc tâtonné un peu. Ma solution fonctionne, mais n’est probablement pas la meilleure. La première chose à faire a été de vérifier le contenu de la sauvegarde. Il existe un petit utilitaire open source (Windows) pour ça. Il y a donc 14 jeux dans la sauvegarde.

Ma première idée a été de déplacer les données avec ce programme, mais il y a une solution différente. En pratique, j’ai utilisé OpenEmu, un logiciel pour macOS qui contient différents émulateurs. Il utilise Mednafen pour l’émulation, et il y a un truc qui m’a bloqué un peu, mais est logique. Dans une véritable console, l’espace de stockage de 2 ko est partagé entre tous les jeux : il est dans la console et pas dans la cartouche elle-même, comme ça peut arriver avec d’autres consoles. Sur les consoles de Nintendo, par exemple, les sauvegardes étaient dans les cartouches (généralement avec une pile) et pas dans les consoles. Le problème, c’est qu’OpenEmu ne fait pas comme ça : il va créer un fichier de sauvegarde par jeux, dans un dossier spécifique (~/Library/Application Support/OpenEmu/Mednafen/Battery Saves/ dans le cas présent). Du coup, mes premiers essais ne fonctionnaient pas : même après avoir lancé la ROM qui copie la sauvegarde, elles ne sont accessibles aux autres jeux. Ma solution est donc assez artisanale : lancer un jeu, trouver un moyen de sauvegarder (ce n’est pas automatique, il faut le faire manuellement) et remplacer le fichier de sauvegarde créé par le « bon ».

La ROM qui copie les données

Avec Neutopia (un RPG), j’ai donc lancé la version US (compatible), joué un peu et sauvé. OpenEmu a donc créé un fichier Neutopia (USA).eb0789088fc70be42b2f994c1b66be21.sav. Ensuite, j’ai lancé la ROM Box4, qui a créé le fichier box4.783a82ef949e96def6a231d3c46945d3.sav. Et enfin, je supprime la première sauvegarde et je renomme la seconde avec le nom de la première. J’ai testé avec quelques jeux sans trop de soucis, mais Populous, par exemple, n’a pas accepté. Soit je n’avais pas la bonne ROM, soit il attend des données spécifiques, etc.

Populous n’a pas aimé

J’ai essayé avec Neutopia, d’abord. Et de fait, on passe sur un joueur parfaitement équipé (et visiblement au bout du jeu).

Avant



Après (on voit bien l’évolution de la barre)


Ca a aussi fonctionné avec un jeu basé sur Lamu (Urusei yatsura), avec le premier Bomberman (une sauvegarde au niveau 8-8) ou avec un jeu basé sur Cobra, qui nous emmèmne encore une fois à la fin.

Bomberman



Lamu



Cobra





Le fichier contient des sauvegardes pour 14 jeux (plus ou moins connus en Europe) mais je n’ai pas tout essayé : je voulais juste vérifier si ça marchait. Et j’ai trouvé l’idée de fournir des sauvegardes qui amènent à la fin du jeu assez amusante.