Nintendo a caché un émulateur NES à charger soi-même dans un classique GameCube

Fans de la version GameCube du début des années 2000 de l’original Traversée d’animaux souvenez-vous probablement du jeu, y compris une poignée de titres NES émulés qui pourraient être joués en obtenant des objets en jeu pour votre maison. Ce que les joueurs à l’époque ne savaient pas, c’est que l’émulateur NES de Traversée d’animaux peut également être utilisé pour jouer à n’importe quelle ROM NES générique stockée sur une carte mémoire GameCube.

James Chambers, chercheur en sécurité a découvert la fonctionnalité auparavant inutilisée et non documentée enfouie dans l’original Traversée d’animaux code du jeu et a détaillé sa méthodologie et ses conclusions dans un article moyen à orientation technique cette semaine.

La clé de l’ouverture Traversée d’animauxL’émulateur NES est l’élément générique “console NES” du jeu. Habituellement, cet élément indique simplement aux joueurs qui essaient de l’utiliser que “je veux jouer à ma NES, mais je n’ai pas de logiciel” (des éléments séparés dans le jeu sont utilisés pour lire les ROM NES qui sont incluses sur le Traversée d’animaux disque).

En cherchant le Traversée d’animaux code pour accéder aux menus cachés du développeur, cependant, Chambers a découvert que l’activation de cette NES dans le jeu entraîne en fait le jeu à monter et à rechercher sur la carte mémoire du joueur des fichiers ROM NES valides, en utilisant des fonctions telles que “famicom_get_disksystem_titles” et “memcard_game_list”. Après de nombreux débogages via un émulateur, Chambers a déchiffré le format de fichier spécifique nécessaire pour obtenir Traversée d’animaux pour reconnaître les fichiers ROM NES stockés sur la carte mémoire, ce qui implique d’insérer des valeurs de somme de contrôle, de nom de fichier et d’en-tête ROM spécifiques à des emplacements spécifiques avant les données de jeu elles-mêmes.

Après quelques modifications des métadonnées et de l’émulateur, Chambers dit qu’il a pu charger Méga-homme, Flipper et Crapauds de bataille sur le GameCube via l’émulateur en jeu, ainsi que une ROM de test homebrew créé des années après Traversée d’animaux a été fait.

Assez intéressant, Traversée d’animauxLe trou d’accès à la carte mémoire de conduit également à une erreur de dépassement de mémoire tampon qui peut permettre aux utilisateurs d’exécuter du code arbitraire défini par l’utilisateur sur le GameCube lui-même. Un Traversée d’animaux hacker a déjà démontré comment cette méthode peut être utilisée pour générer des éléments infinis dans une copie de stock de Traversée d’animaux, mais la même méthode générale pourrait charger du code homebrew sur le GameCube sans avoir besoin de mods matériels ou de dispositifs de triche externes comme le GameShark.

Bien que pouvoir charger des jeux NES sur un GameCube soit amusant, la partie la plus intéressante de cette découverte est probablement ce qu’elle suggère à propos d’une branche inexplorée de l’histoire potentielle de Nintendo. Rappelons que le code pour charger les jeux NES depuis une carte mémoire a été mis dans Traversée d’animaux par Nintendo il y a des décennies, et non par une modification moderne du code de jeu original. Cela suggère fortement que Nintendo prévoyait à un moment donné un officiel moyen de charger des fichiers NES supplémentaires dans Traversée d’animaux via la carte mémoire.

Il est difficile de dire comment cette distribution aurait pu fonctionner. Peut-être que des cartes mémoire spéciales emballées dans une ROM auraient été incluses dans les nouvelles éditions du jeu (Nintendo a en fait vendu des versions du jeu emballées avec des cartes mémoire qui débloquaient des cadeaux spéciaux pour les joueurs). Peut-être que Nintendo aurait donné de telles cartes mémoire lors de concours. Ou peut-être, dans une chronologie alternative, une machine semblable au kiosque d’écriture de disque japonais Famicom au Japon aurait pu permettre aux joueurs de charger des jeux NES sur leurs propres cartes mémoire.

:)

Leave a Comment

Your email address will not be published. Required fields are marked *