Je m'attendais à ce que ça marche du 1er coup

- Mortal, en train de bricoler la console de mixage

Dojobar
L'émission de radio déjantée qui revient toutes les deux semaines !

Émission s21e09 − Chrono Trigger
Le 26 juin 2023, par Mortal



Émission s21e06 – Pot-pourri
Le 13 mai 2023, par Mortal




Démarrez Swiss sur GameCube sans modifier la machine

Le GameCube est resté inviolé pendant de nombreuses années avant de tomber complètement sous les coups des hackers : d’abord grâce à une faille dans Phantasy Star Online I+II, puis par des méthodes matérielles (ajout de puces, modification de la carte mère, etc…). Mais le hardware du GameCube fait qu’il est en réalité assez facile de lancer des logiciels maison (homebrews) sans avoir à ouvrir les entrailles de la bête.

Exécution de code sur GameCube

Le GameCube a une petite particularité par rapport aux autres consoles de même génération : il n’a aucun système de signature de code. La plupart des consoles à partir de la Xbox dispose d’un système de ce type : tout exécutable qui souhaite accéder au CPU pour pouvoir tourner (que ce soit des jeux ou des applications) doit être signé par le constructeur. Dans le cas contraire, la console (non-modifiée) refusera d’exécuter le code.

Pour le GameCube, c’est un peu différent : Nintendo est parti du principe que le support mini-DVD, qu’ils maîtrisaient parfaitement, et le format propriétaire des cartes mémoires, étaient une protection suffisante.

Il n’est donc pas indispensable de signer du code pour l’exécuter sur GameCube, il faut juste trouver un moyen de l’injecter.

Pour vous donner un exemple concret, Phantasy Star Online I+II utilisait des serveurs chez SEGA pour télécharger les mises à jour de l’exécutable qui étaient stockées sur la carte mémoire GameCube. Pour arriver à exécuter n’importe quel code, il suffisait donc de se faire passer pour les serveurs de SEGA et le jeu venait télécharger et exécuter n’importe quoi !

Aujourd’hui, les méthodes sont heureusement bien plus simples…

Swiss, ça glisse

La scène GameCube est hyper active depuis plusieurs années maintenant et a mis au point toutes une bardée d’outils permettant de faire faire des choses intéressantes au cube violet de Nintendo :

  • GBI Game Boy Interface une alternative au logiciel officiel de Nintendo pour utiliser le GameBoy Player
  • toute une collection d’émulateurs : N64 via Cube64, PlayStation via CubeSX, Super Nintendo via Snes9x GX, etc.

Et celui qui va nous intéresser : Swiss. Comme son nom l’indique, Swiss a pour vocation d’être un véritable couteau suisse pour GameCube ! Il permet (entre autres) :

  • de lancer des disques d’autres régions (rend donc n’importe quelle console region-free)
  • explorateur de fichiers (aussi bien sur les cartes mémoires que sur les disques)
  • de récupérer les informations détaillées de la console
  • de forcer plein de trucs dans les jeux : écran large, mode 60Hz forcé, mode 480p forcé

C’est cet outil que nous allons utiliser pour une tâche bien précise : forcer le lancement d’un jeu 50Hz seulement en 60Hz (pour le fun et le confort des yeux).

Mortal Ripping Station 2000, le retour

Comme vous l’avez compris maintenant, il faut et il suffit d’arriver à faire manger l’exécutable Swiss à un GameCube standard. Pour ce faire, nous allons donc l’installer directement sur une carte mémoire GameCube en utilisant notre Wii hackée de la dernière fois et il vous faudra en plus :

Il vous faudra également un des jeux suivants :

  • Animal Crossing
  • BMX XXX
  • F-Zero GX
  • James Bond 007: Agent Under Fire
  • The Legend of Zelda: Twilight Princess
  • The Legend of Zelda: The Wind Waker
  • Pokémon Colosseum
  • Pokémon XD: Gale of Darkness
  • Super Smash Bros. Melee
  • Tom Clancy’s Ghost Recon 2
  • Tom Clancy’s Splinter Cell
  • Tom Clancy’s Splinter Cell: Pandora Tomorrow

Oui, au cas où vous ne l’auriez pas encore deviné : on va se servir d’une sauvegarde vérolée exprès pour pouvoir lancer Swiss depuis un jeu commercial. L’idée est la suivante : on installe la sauvegarde pourrie et l’exécutable Swiss sur une carte mémoire GC ; on démarre le jeu, on charge la partie et boum ! Swiss démarre à la place du jeu. À partir de ce moment-là, on peut changer de galette, changer les options de lancement du jeu, etc.

Pour la démonstration, j’utiliserai Splinter Cell. D’abord parce que c’est probablement un des moins chers de la liste et ensuite parce que j’aime bien montrer des trucs avec des jeux BuggySoft. Et nous allons lancer Prince of Persia: Les Sables du Temps en 60Hz au lieu du 50Hz disponible pour le jeu.

Et en avant Guingamp !

On va récupérer la carte SD de la Wii hackée et placer dessus l’exécutable Swiss, et la sauvegarde plombée du jeu.

Pour cela, récupérez la dernière archive de Swiss (il s’agit du fichier 7z, swiss_r649.7z à l’heure où j’écris ces lignes), extrayez-la dans un coin et cherchez le fichier nommé boot.gci dans le dossier GCI à la racine.

Ce fichier doit être placé dans un répertoire nommé MCBACKUP (précisément comme ça, tout en majuscule) à la racine de la carte SD de la Wii hackée.

Pour la sauvegarde, tout est disponible ici, il suffit de fouiller dans les répertoires. En ce qui me concerne, j’ai donc été prendre le fichier d’archive contenant la sauvegarde bidouillée de Splinter Cell.

À l’intérieur, il faut récupérer le fichier gcep.gci qui correspond à une sauvegarde de la version PAL du jeu (pour certains jeux, cela a une importance, pour d’autres non). Si ça peut vous aider à trouver la vôtre, généralement, les sauvegardes pour les versions PAL se terminent par un p. Ce fichier doit être déposé dans le même répertoire MCBACKUP dans notre carte SD.

On va maintenant récupérer la dernière version de GCMM (oui, ça veut dire GameCube Memory Manager), la dézipper dans un coin et le récupérer le dossier gcmm dans le dossier apps de l’archive et le placez dans le dossier apps déjà présent sur la carte SD.

Normalement à partir de là, tout est prêt : on a de quoi écrire sur la carte mémoire, on a un fichier de sauvegarde hacké et on a Swiss.

Un hacker sachant hacker

Insérez la carte mémoire GameCube vierge (ou formatez-la, peu importe du moment qu’elle est vide) et la carte SD dans la Wii. Démarrez la chaîne Homebrew, démarrez GCMM et allez restaurer les deux fichiers GCI (Swiss et le jeu de votre choix, Splinter Cell dans mon cas) :

Note : naviguer dans l’interface de GCMM se fait avec une Wiimote ou une manette GameCube. La copie a été accélérée pour la vidéo, cela peut prendre plusieurs minutes dans la réalité.

Pour la démonstration, voici ce que donne le lancement standard de Prince of Persia: Les Sables du Temps :

Comme vous pouvez le voir, le jeu démarre en 50Hz sans possibilité de basculer en 60Hz (ni dans les menus, ni en maintenant la touche B au démarrage de la console).

Nous allons maintenant mettre notre carte mémoire spécialement préparée pour l’occasion dans le port 1 du GameCube ainsi que le disque de Splinter Cell. On démarre et on essaie de charger la sauvegarde du jeu :

Surprenant, non ;) ? Maintenant qu’on a un GameCube démarré avec Swiss, il suffit de remettre notre disque de Prince of Persia et de jouer avec les options de démarrage du jeu :

Conclusage

À vous les plus grandes folies : forcer Super Mario Sunshine en 16/9, démarrer des jeux en 60Hz, démarrer des jeux japonais ou américains et même démarrer directement des jeux depuis une carte mémoire ou une carte SD branchée dans un adaptateur de carte mémoire.

Swiss sait tout faire, et gratuitement par dessus le marché !

Et le plus beau là-dedans, c’est que vous venez de vous fabriquer un kit de boot Swiss qui marchera sur tous les GameCubes (à condition d’être capable d’y lire le jeu choisi pour l’exploit) : il suffit d’avoir la carte mémoire et le jeu avec la sauvegarde modifiée correspondante !

Et bien entendu, vous n’êtes pas obligé de vous arrêter là : vous pouvez démarrer n’importe quel exécutable avec la même méthode, il est donc tout à faire possible de faire une carte mémoire dédiée à GBI, un émulateur ou autres.


Par Mortal
Le 13 juin 2019 | Catégories : Editos

Je le couperai au montage…
Voir les articles de Mortal

A voir également
Les trucs qu'on a rédigés avec nos petits doigts potelés

Dojo Hebdo 608 : du 18 au 24 novembre 2024
Le 24 novembre 2024, par Gueseuch

The Stanley Parable Ultra Deluxe (NS)
Le 22 novembre 2024, par Mortal

Dojo Hebdo 607 : du 11 au 17 novembre 2024
Le 17 novembre 2024, par Gueseuch

Dojo Hebdo 606 : du 4 au 10 novembre 2024
Le 10 novembre 2024, par Gueseuch


Dojo Hebdo 604 : du 21 au 27 octobre 2024
Le 27 octobre 2024, par Gueseuch

Dojo Hebdo 603 : du 14 au 20 octobre 2024
Le 20 octobre 2024, par Gueseuch

Dojo Hebdo 602 : du 7 au 13 octobre 2024
Le 13 octobre 2024, par Gueseuch




Dojobar
L'émission de radio déjantée qui revient toutes les deux semaines !

Émission s21e09 − Chrono Trigger
Le 26 juin 2023, par Mortal



Émission s21e06 – Pot-pourri
Le 13 mai 2023, par Mortal