La version Nintendo 64 de Command & Conquer, c'était une drôle de bestiole. Sortie en 1999 et portée par Looking Glass Studios, elle reprenait le RTS de Westwood avec des unités, des bâtiments et un terrain en vraie 3D. Pour ma part, je ne l'ai jamais testé à l'époque (moi j'étais sur PC) mais ça va pouvoir changer puisque c'est ce que
le projet OpenCNC3D
fait revivre sous la forme d'un programme Windows et macOS.
Pour y parvenir, le mystérieux dev qui s'occupe de ce projet, a repris la logique de jeu de Tiberian Dawn, dont EA
a publié le code source
sous licence GPL en 2020, puis y a collé les modèles 3D, les textures, le terrain et même la caméra à l'identique en les extrayant de la cartouche originale. Le tout est ensuite redessiné par un moteur de rendu écrit pour l'occasion, avec les menus et les sons des CD de la version MS-DOS de 1995.
Derrière ce projet se cacherait d'après les rumeurs,
Frederik Schreiber
, le patron de Slipgate Ironworks, le studio de Tempest Rising. C'est en tout cas ce qu'affirme le site Command & Conquer Saga, puisque le dépôt est signé freschism3000, un pseudo proche de son compte X, Freschism.
Côté contenu, vous retrouverez les 36 missions de campagne GDI et Nod, 27 missions Special Ops et 67 cinématiques d'origine, alors que
la version N64 les avait tristement remplacées
par des images fixes. Et il y a aussi du neuf, à commencer par le multijoueur en réseau dispo jusqu'à huit joueurs, que la cartouche n'avait pas, plus le mode escarmouche contre l'ordinateur et un éditeur de cartes.
La v0.8.0, sortie le 10 octobre dernier, ajoute également trois nouveaux rendus. Classic, c'est l'image plate en 320x200 du jeu de 1995, N64, celle de la cartouche, et Enhanced, ce sont les bâtiments refaits et peints à la main, les véhicules et les soldats remodélisés, ainsi que de l'herbe qui ondule et des bruits d'ambiance. Et vous pouvez passer de l'un à l'autre en pleine partie sans souci.
Je vous préviens quand même, maintenant que vous êtes bien hypé,
le dépôt GitHub du projet
, sous GPL v3, ne contient aucune donnée du jeu. Donc pour le faire tourner, vous devez en théorie fournir le dump de votre propre cartouche européenne et vos CD MS-DOS de 1995... Mais bon, comme les paquets du site, eux,
livrent le jeu complet
, sans la bénédiction d'EA, vous pourrez y jouer même sans ça. Oui, on est dans un genre de zone grise totale ce qui veut dire que ça pourrait, comme tout ce qui est beau dans ce monde, se faire shooter du jour au lendemain par les ayants droits.
C'est gratuit avec installeur pour Windows mais également une version universelle Apple Silicon et Intel pour macOS. Et ça tourne à 60 images par seconde jusqu'en 4K ! La vie est belle !
xboxrecomp est un outil de recompilation qui vient de voir le jour et qui devrait vous intéresser si vous êtes nostalgique de la première Xbox. En effet, ce dernier prend l'exécutable d'un jeu de la Xbox originale, traduit chacune de ses fonctions x86 en code C, puis recompile le résultat en programme Windows 100% natif. Cela veut dire que le jeu ensuite peut tourner directement sur votre ordinateur, sans faire appel à un interpréteur ni à un émulateur. C'est ce qui s'appelle de la recompilation statique, et je vous en parle régulièrement parce que je trouve ça assez magique (rappelez vous de
Zelda 64 recompilé
).
Le dépôt de xboxrecomp ne contient évidemment aucun fichier de jeu pour ne pas s'exposer au courroux des ayants-droits. Vous devez donc avoir votre propre disque, en extraire le default.xbe, et la chaîne d'outils (du Python avec capstone, puis Visual Studio 2022 pour compiler) génèrera chez vous tout le code C du jeu. Pas de bouton magique, par contre, le premier lancement d'un jeu recompilé plantera et ensuite, ça avancera crash après crash. Notez que ce projet s'est construit avec Claude Code également.
Pour le moment, le seul jeu qui va au bout de sa recompilation, c'est Burnout 3: Takedown. Tous les modes démarrent et se jouent, seul ou à deux, mais les menus tournent à environ 14 images par seconde et les courses à 2 à 4 FPS sur une machine à 12 cœurs. Y'a pas non plus de possibilité de faire des sauvegardes et c'est manette obligatoire. Bref, c'est pas encore très jouable.
En fait le problème c'est le GPU de la Xbox (le NV2A) qui est émulé en logiciel, et c'est malheureusement ça qui fait chuter les FPS. Le "No emulation" du slogan ne vaut donc que pour le processeur, mais pas les morceaux audio ni le GPU repris de xemu. Mais ça changera peut-être bientôt.
Maintenant, si vous cherchez un jeu Xbox précis à installer, regardez plutôt du côté de
SCDA-XBERecomp
, qui est l'inverse de xboxrecomp. C'est n'est pas un outil universel mais une recompilation uniquement du jeu Splinter Cell: Double Agent. Celui-ci réimplémente le noyau, Direct3D et DirectSound côté Windows, et vous laisse régler le champ de vision ou lever la limite de 30 images par seconde.
Et si vous voulez juste rejouer à vos jeux Xbox ce soir, un émulateur comme
xemu
fera très bien comme d'hab.
Moi de mon côté, j'avance toujours sur mon recompilateur universel de ROMs
Kompote
et ça marche vraiment très bien. Là je suis en train d'implémenter le support des jeux Amiga... je pense que dans quelques jours, ce sera cuit à point.
Slot
est une interface incroyable pour la console portable
Anbernic RG SP
(lien affilié) qui ne lit que la Game Boy, la Game Boy Color et la Game Boy Advance. Mais il retrouve les gestes d'une GBA SP sur laquelle vos jeux deviennent des cartouches sur une étagère, et qui font le même bruit que celle qu'on enfonce IRL dans sa GBA d'enfance.
Voici ce que ça donne :
L'interface de slot : les cartouches GBA défilent sur l'étagère, puis une cartouche Pokémon s'enfonce dans la fente et le jeu démarre
Si vous appuyez sur la touche Start, la cartouche se retournera pour afficher son circuit imprimé. Et à partir de là, vous pourrez choisir l'émulateur que vous voulez entre mGBA et gpSP.
Un appui sur la touche A relancera la dernière sauvegarde et si vous faites un appui long, vous repartirez de zéro. Maintenant, si vous voulez éjecter la cartouche, il faudra laisser le bouton Menu enfoncé. Et ça permettra de créer une nouvelle sauvegarde instantanément pour ne pas perdre votre progression en changeant de jeu.
Le clapet suit le même principe... le refermer écrit une sauvegarde et éteint l'écran, et au bout de trois minutes slot éteint la console, qui reprendra au même endroit au démarrage suivant. Même le câble link passe par le Wi-Fi entre deux RG SP, de quoi échanger des Pokémon sur Émeraude, Rouge Feu et Vert Feuille.
Après, ce soft slot est bridé exprès puisqu'il dit "non" aux autres systèmes d'émulation. En fait, l'auteur voulait vraiment et uniquement une expérience similaire à ce qu'il avait avec sa GBA SP d'enfance. Donc il n'a pas non plus intégré les RetroAchievements ni les Cheats et encore moins tout ce qui était Bluetooth (c'est la prise jack ou rien).
Donc si vous voulez d'autres consoles,
SpruceOS
, dont je vous ai parlé en septembre, en gèrera bien plus.
Côté machines, slot tourne sur la RG SP, les RG34XX, RG34XXSP (sans le stick pour l'instant), RG35XXSP et 35XX Plus, et depuis la 1.6.0 sur la RG28XX. Le code est bien sûr sous licence GPL-3.0, et l'auteur précise que le frontend a été écrit par Claude Opus, puis relu par lui. C'est maintenant un gage de qualité car, eh, qui veut encore développer des outils à l'ancienne ? (lol, oui j'essaye de vous trigger !!)
Pour l'installer, il faut flasher
BaseOS
, l'image système de Prashant Vaibhav, sur une carte SD, puis démarrer la console une fois pour qu'elle étende le stockage. Ensuite, vous copiez le contenu de l'archive de slot à la racine de la carte et vous rangez vos ROMs dans leur dossier des plateformes sous Games/. Elles doivent être décompressées puisque slot ne lit ni les .zip ni les .7z.
Et pour faire une mise à jour, suffit de remplacer le dossier System/, sans toucher aux jeux ni aux sauvegardes. Le reste, y compris la variante à deux cartes SD où slot et vos jeux sont sur la seconde, est indiqué dans
le guide du projet
.
RNDS-Stream
, c'est une appli homebrew incroyable pour la Nintendo DSi (sortie en 2008 quand même... ça date de fou !) qui affiche en live n'importe quel jeu depuis votre PC Linux. Le PC capture la fenêtre du jeu et l'envoie en MJPEG sur le réseau local, puis la console décode ce flux vidéo, et le clavier et la souris du PC sont pilotés à distance via
ydotool
.
Si ça vous intéresse, la vidéo ci-dessous montre le projet en action (vers les 4 min 48) avec côté console, le décodage du MJPEG passant par
RubyNDS
, qui est le framework Ruby que l'auteur s'est monté pour programmer la DSi. Et avec les bons réglages de GStreamer, ça peut grimper à 20 images par seconde avec saut d'images, ou plus modestement de 10 à 15 images par seconde en résolution max sur la DSi. Le serveur de son côté, repère tout seul votre bibliothèque Steam et vos instances Prism Launcher pour vous permettre de lancer les jeux de votre choix.
Pour l'essayer, faut déjà que vous soyez bien chaud bouillant ^^. Ensuite, il faut un flashcart qui permet de lancer l'outil en copiant son .nds sur une microSD, avec à la racine un fichier rnds-stream.txt qui contient uniquement l'adresse IP locale de votre PC. Bref, rien à copier sur la SD interne de la DSi.
Côté PC, c'est du Linux sous X11 ou Wayland, puisque les fenêtres en Wayland pur ne sont pas détectées, avec wmctrl et GStreamer installés à côté du Flatpak du serveur, qui n'est pas entièrement autonome. Sachez que l'auteur n'a testé que Fedora KDE, donc à voir comment ça se passe sur les autres distrib.
Reste le Wi-Fi car d'après
le wiki DS Homebrew
, une appli DS classique ne gère que le WEP ou les réseaux ouverts, le WPA et le WPA2 n'étant possibles qu'en mode DSi.
Voilà, on est dans l'hyper expérimental, y'a des bugs, aucune sécurité (donc restez bien en local) mais c'est assez insolite pour que je vous en parle.
Vous le savez, The Legend of Zelda: Majora's Mask existe en version européenne, avec une ROM PAL 1.1 qui embarque 4 langues (anglais, français, allemand et espagnol), mais
2Ship2Harkinian
, le portage PC du jeu dont je vous ai déjà parlé, ne reconnaît que les 2 versions américaines.
C'est pour cela qu'un fork non officiel a décidé de lever cette limite en permettant une lecture de la ROM version PAL 1.1 directement depuis Windows, Linux et Android !
Bien sûr, le fork garde le support des ROM américaines, et comme toujours pour ne pas tomber dans le piratage, il faudra au premier lancement du jeu, désigner l'emplacement de votre ROM à vous (que vous devrez avoir normalement rippé vous-même depuis votre propre version pour rester dans les clous plutôt que dans choper une sur un site random ^^). Ensuite, le jeu génèrera localement son fichier de données (mm.o2r), et les lancements suivants démarreront directement dans le jeu.
Le menu Options sur Android, avec le français sélectionné parmi les quatre langues de la ROM PAL 1.1 (capture fournie par l'auteur du fork)
Sous Windows, il faut donc décompresser le ZIP et lancer 2ship.exe, en gardant 2ship.o2r à côté. Sous Linux, c'est une archive et un exécutable 2s2h.elf, avec le même fichier à ses côtés. Sur Android, il faut l'APK (ARM64 uniquement, Android 7 et OpenGL ES 3.0 minimum), et la version mobile ajoute des commandes tactiles qu'on peut masquer, un menu redimensionnable et un dossier de données déplaçable sur carte SD.
Pas de build macOS, en revanche, alors que le projet d'origine en propose un et ça, c'est un méga snif pour moi.
Alex, l'auteur de ce fork a aussi ouvert une demande de fusion chez 2Ship pour intégrer tout ça au projet d'origine, j'espère que ça passera.
Et après, peut-être qu'il pourra s'attaquer à
Zelda 64 Recompiled
, l'autre portage de Majora's Mask dont je vous ai parlé, car lui aussi n'accepte que la ROM américaine..
XPSemu
est fork de l'
émulateur open source xemu
qui a été porté en app native sur
PS5 jailbreakée
, pour jouer à des jeux Xbox d'origine. Sur cette première release sortie le 1er octobre dernier, le dev ZiZc3 annonce que Halo 2 fonctionne à 30 FPS sans aucune adaptation. Bien sûr ce sont ses propres tests mais je le crois volontiers !
Et surtout avec le patch communautaire à 60 FPS, qui est appliqué en mémoire et ne modifie jamais votre image du jeu, Halo 2 monte ainsi autour de 50 à 60 FPS au début et de 36 à 50 fps lors des scènes d'action. Sur Crash Bandicoot : La Vengeance de Cortex, tout tourne sans accroc quant à Forza Motorsport, ce dernier reste bien à 30 FPS dans les menus mais redescendra à 15-21 FPS lors des courses. Et Fable : The Lost Chapters oscille, quant à lui, entre 22 et 30 FPS, avec des creux à 10-20 FPS dans les endroits chargés.
Le tableau de bord d'XPSemu sur la PS5 : 4 entrées de menu, et en bas la rangée des jeux lancés récemment, Fable en tête
Ces quatre jeux sont les seuls que le développeur a testés, donc ne cherchez pas une liste de compatibilité pour le moment. Un jeu qui plante sur xemu sur PC plantera donc sur PS5 aussi. Et si Forza et Fable rament, c'est surtout à cause du processeur Xbox émulé, dont le thread mouline 85 à 97 % du temps pendant que le GPU de la PS5 se tourne les pouces. C'est la faute à la traduction du code Xbox par le traducteur générique de QEMU, sur des cœurs Zen 2 à 3,5 GHz qui ne valent pas un PC musclé.
Du coup, monter la résolution jusqu'à 4x ne coûte pas grand chose, puisque le GPU a de la marge, mais ça n'ajoute pas un seul FPS non plus. Pareil pour les upscalers de type FSR. Le développeur prévoit d'ailleurs un mode de génération d'images pour afficher du 30 FPS en 60, et d'autres optimisations du côté processeur. Cela a par exemple permis à Fable de passer d'environ 7 FPS à 23-30 FPS d'un build à l'autre.
Côté install, il vous faudra une PS5 jailbreakée, comme je vous l'expliquais dans mon article sur
Relapse
. Ajoutez à cela kstuff qui doit être chargé avant l'outil xpsemu_tools.elf fourni avec l'appli, ainsi que ShadowMountPlus pour monter le dossier, et surtout vos propres fichiers Xbox (le MCPX, le BIOS, une image de disque dur et vos jeux au format XISO). Ça vous oblige donc à convertir d'abord les images complètes de type redump car le projet ne fournit rien qui viendrait de Microsoft.
Et côté limites de cette version Alpha, il n'y a pas de sauvegarde d'état, et l'audio DSP doit rester désactivé, sans quoi Halo 2 se figera et Forza ramera encore plus. Sans oublier que Relapse peut geler la console, et que ça vous fait risquer un bannissement de compte. Donc si votre PS5 sert aussi à jouer en ligne, laissez tomber...
Mulderland
, c'est le site bilingue d'un seul mec, qui signe Mulder (vous aurez la ref si vous êtes des vrais ^^), et qui conçoit et diffuse des installeurs pour remettre d'aplomb des jeux PC que vous avez déjà achetés.
Vous lancez l'un de ses exécutables sur votre dossier Steam ou GOG, et il va chercher tout seul le gros tas de correctifs et de mods qu'il faudrait sinon récupérer à la main pour avoir une version du jeu la plus actuelle et pimpée possible. Mulder propose une cinquantaine de titres de Resident Evil à Deus Ex, donc forcément vous allez y trouver votre bonheur !
Par exemple sur 007 First Light, sorti en mai, le pack permet de corriger les cinématiques en ultrawide, de supprimer les vidéos d'introduction et de poser un HUD plus immersif. Sur le Resident Evil de 1996, c'est carrément un autre chantier avec des textures retravaillées par
TeamX et le Seamless HD Project
, les cinématiques et l'audio en haute qualité, le patch
Classic REbirth
, et des traductions en option. Le pack Steam pèse quand même 3,5 Go ce qui est pas mal pour un jeu de 1996, oui...
Après ce pack-là fait plus que poser des mods par-dessus votre jeu, puisqu'il remplace les exécutables de votre version Steam par ceux de l'édition GOG, et que son utilitaire MulderConfig prend la place du lanceur CAPCOM. Et tant mieux, car c'est justement ce lanceur d'origine qui casse l'overlay Steam, et MulderConfig le répare, ainsi que le suivi du temps de jeu et le Steam Input.
Ah et il y a aussi tout ce qui faut pour obtenir le meilleur d'outils et d'OS comme diverses versions de Microsoft Office et de Windows !
Rassurez-vous, rien de tout ça n'est opaque puisque chaque pack est une
recette NSIS publique visible sur GitHub
, qui liste l'URL de chaque fichier avec son empreinte en clair, et les installeurs sont compilés par GitHub Actions depuis ce même dépôt. Comme ça, si une empreinte ne correspond pas au fichier téléchargé, l'installeur s'arrête immédiatement.
Voilà, après que dire... ?
Ah oui, c'est uniquement pour du Windows, et comme les installeurs sont signés avec un certificat auto-signé, Windows va râler sur un éditeur inconnu, donc pensez bien à débloquer ça dans les propriétés du binaire.
Notez que si l'envie vous prend de faire tourner Resident Evil sur Steam Deck et sous Linux, où
Proton a bien progressé sur ces vieux titres
d'ailleurs, le pack vous demandera Proton 9 ou supérieur ainsi que dgVoodoo2. Ensuite y'a plus qu'à coller ça dans les options de lancement du jeu et le tour est joué :
PLAY-DOS
, c'est un vieux PC des années 80-90 qui "boote" (en quelque sorte) dans votre navigateur, avec sur son disque C: une sélection de pas moins de 5 921 jeux MS-DOS tirés de la collection d'Internet Archive (oui, j'ai arrondi dans le titre, détendez-vous bon sang ^^).
Au démarrage, PLAY-DOS vous demande quelle carte graphique vous avez : CGA, EGA ou Hercules. Ce choix ne change pas grand chose à part l'habillage du faux PC (couleurs, cadres, barres). Ensuite, la touche Y ouvre la liste de 99 pages, la touche F2 la trie par année et F3 permet de faire une recherche par titre.
Une fois le jeu de vos rêves repéré dans la liste, la touche "Entrée" ouvre la fiche du jeu qui vous explique ce que ça raconte, avec l'année, le studio et le genre, tout ça lu sur archive.org. Et tout en bas, il y a un prompt du genre C:\GAMES\SIMCITY>, et c'est là, et seulement là, qu'il faut taper le nom indiqué sur la ligne "Run with", par exemple SIMCITY.EXE.
Le nom à taper est sur la ligne Run with, et il se tape au prompt du bas
Et ce SIMCITY.EXE n'est pas un vrai exécutable malheureusement. C'est juste pour nous mettre dans l'ambiance car rien ne s'installe sur votre machine. Ça lance juste dans une iframe la page d'émulation du jeu chez archive.org. C'est donc l'émulateur EM-DOSBox de
la collection MS-DOS de l'Internet Archive
qui le fait tourner dans votre navigateur. Il vous reste alors à cliquer sur son gros bouton POWER pour le lancer.
J'ai donc démarré quelques best-sellers de l'époque, et SimCity, Prince of Persia, Wolfenstein 3D et Duke Nukem 3D démarrent tous sans souci. Par contre, soyez patients sur les gros jeux... Par exemple The Secret of Monkey Island a mis environ quatre minutes à démarrer vraiment.
SimCity, lancé avec SIMCITY.EXE
Prince of Persia, lancé avec PRINCE.EXE
Wolfenstein 3D, lancé avec WOLF3D.EXE
Duke Nukem 3D Atomic Edition, lancé avec DUKE.EXE
The Secret of Monkey Island propose sept versions au démarrage
Et gaffe aussi aux homonymes. Par exemple, 4 jeux du catalogue se lancent avec DOOM.EXE, dont ASCII DOOM et The Crack of Doom, et quand vous cherchez "doom", le DOOM d'id Software n'arrive qu'en sixième position.
30 jeux pour DOOM, et le vrai n'arrive qu'en sixième
Countdown to Doom se lance avec DOOM.COM, alors DOOM.EXE y est refusé
Certains jeux s'ouvrent aussi sur un menu qui demande votre carte son (Gravis Ultrasound, SoundBlaster ou Sound Canvas pour DOOM). Mortal Kombat, lui, m'a ensuite réclamé le septième mot de la ligne 2 du premier paragraphe de la page 21 du manuel... Hé ouiii, la bonne vieille protection anticopie de l'époque...
DOOM, le vrai, après le choix de la carte son
Mortal Kombat et sa protection anticopie : sans le manuel, pas de baston
Voilà, je me suis dit que ça vous plairait pour terminer ce vendredi en beauté ! Et pour d'autres façons de rejouer à ces vieux jeux qu'on adore, j'ai listé
10 sites qui font tourner DOS dans le navigateur
. Ah et si lancer un FORMAT C: vous démange, bah allez-y, vous verrez ça fonctionne ^^.
Tobi, le créateur de la chaîne éponyme comme on dit, Game of Tobi, a publié une vidéo où Super Mario 64 tourne sur une Super Nintendo, avec la puce Super FX. Alors pour l'instant, seuls quelques niveaux fonctionnent, mais ils fonctionnent sur la VRAIE console !! Et ça c'est grâce à une cartouche flash compatible avec cette puce. Pour la petite histoire si vous n'en avez jamais entendu parler, cette puce SuperFX c'est en réalité
un coprocesseur conçu par Argonaut
qui équipait déjà Star Fox et Yoshi's Island (Alors ça vous revient les gamers grisonnants ??)
Hé je vous arrête tout de suite, ce n'est pas le jeu de la Nintendo 64 recompilé, non pour ça faudrait utiliser mon logiciel
Kompote
. En réalité, Tobi a écrit un moteur maison qui réutilise les assets d'origine, animations comprises. Ce moteur dessine donc l'image depuis l'arrière vers l'avant (ça s'appelle
l'algorithme du peintre
) plutôt que de passer par un Z-buffer classique (la mémoire qui retient la profondeur de chaque pixel). Il écarte aussi très agressivement tout ce qu'il peut ne pas dessiner et c'est vrai parfois trop, ce qui fait que ça réduit le niveau de détail des textures. C'est voulu par Tobi car les textures sont un énorme goulot d'étranglement !
Quoiqu'il en soit, Tobi trouve le résultat sympa car juste "reconnaissable" et est surtout content de Bob-omb Battlefield, l'un des niveaux de Mario 64 les plus hardus à faire tourner de façon fluide. En tout cas c'est un sacré challenge pour lui car les niveaux doivent tenir dans 2 Mo max. Il cherche donc comment réduire au max tout ça.
Maintenant, certains d'entre vous se sont peut-être demandé d'où sortait ce nom "Super Mario FX" ?
Eh bien Tobi reprend là une vieille rumeur qui raconte que Nintendo aurait préparé un premier Mario en 3D pour la Super Nintendo avec cette puce SuperFX, avant malheureusement de l'annuler pour en faire le Super Mario 64 qu'on connait tous ! Moi ce que j'ai pu trouver sur cette rumeur, c'est via
SNES Central
qui a fini par poser la question à Dylan Cuthbert, l'un des programmeurs de Star Fox qui
a expliqué
que Super Mario FX était en réalité le nom de code interne de la puce FX, et non celui d'un jeu. Bref, à vous de voir si vous préférez les faits à la rumeur plus romanesque ^^.
Maintenant si vous voulez jouer à sa version de Super Mario FX, il faudra patienter car rien n'est téléchargeable pour l'instant. Sniiiif ! En effet, Tobi veut publier le projet de façon à ce que chacun puisse le compiler avec sa propre copie de Super Mario 64, ce qui lui évitera de finir en octogone avec les avocats de Nintendo !
Saviez-vous que Silent Hill, premier du nom, peut aujourd'hui être terminé sur PC, en grand écran et sans émulateur ? Et oui, c'est possible parce que le jeu est compilable directement pour votre machine à partir du code source obtenu à partir d'un gros travail de reverse engineering.
Et ce genre de portage n'est plus un cas isolé du tout. Depuis
Zelda 64 recompilé
, la scène RECOMP a franchement explosé, au point qu'on ne sait plus trop où donner de la tête. Il y a des portages qui sont très complets et fonctionnels du début à la fin, et puis des projets en cours qui sont à moitié finis, qui plantent, etc.
Alors j'ai fait mes recherches et aujourd'hui, je vous présente 10 projets de recompilation qui valent le coup ! Je commence donc par les deux qui se jouent pour de vrai.
Le
port PC de Silent Hill
, donc, pour commencer. Dans ce portage, chaque carte, chaque boss, chaque cinématique et chaque fin fonctionnent, et vous pouvez boucler le jeu aujourd'hui si vous le voulez. Vous récupérez au passage la 16:9, la correction de perspective PGXP, des caméras alternatives et un gestionnaire de mods, et les disques PAL français sont reconnus tout seuls. Je précise aussi que la décompilation PSX en dessous est un travail communautaire de longue haleine, mais que le portage, lui, est assisté par IA (avec Claude Opus 4.6 et 4.7).
Le launcher du port PC, réglé en 1920x1080 avec PGXP activé et la limite de FPS à zéro
Dans la même catégorie, il y a
Golden Balloon
qui ressuscite ce que son dépôt appelle sobrement le kart racer Nintendo 64 de 1997. Pas d'émulateur là non plus mais un jeu compilé pour votre machine, qui lit votre ROM en local, sans jamais l'envoyer nulle part. Vous pouvez même jouer directement dans le navigateur à 2 ou 4 joueurs en écran partagé ou en multijoueur directement en ligne (ça c'est en bêta).
La page du portage : le jeu compilé pour votre processeur, affiché en WebGPU, et rien à installer
Après, il y a d'autres projets qui démarrent plutôt bien même s'ils sont encore en chantier.
Je pense à
Party Board
qui en est le meilleur exemple. En gros, c'est Mario Party 4 porté sur Windows, Linux, macOS, Android et iOS, avec un mode en ligne à deux. Tout n'est pas parfait, c'est un work in progress, mais ça progresse assez vite, donc je pense que c'est un projet à suivre si vous aimez Mario Party.
Party Board sur GitHub : le dernier commit remonte à l'heure qui précède la capture
De son côté,
DKC1Recomp
s'attaque à Donkey Kong Country sur Super Nintendo, et son statut affiché est "playable bring-up". Ça veut dire que ça démarre, ça se joue, mais on en est aux toutes premières versions. La totalité du code du jeu est générée statiquement et ça peut tourner sous Windows, macOS et même via une app iPhone et iPad native. Par contre, comme d'hab', il vous faut la ROM.
Notez que Snesrecomp apparaît en sous-module dans l'arborescence de DKC1Recomp
Lost Odyssey Recomp
est sans doute le plus ambitieux du lot puisqu'il s'agit d'un très gros jeu Xbox 360 traduit depuis son binaire PowerPC vers du natif, en Direct3D 12 ou Vulkan. D'après ses auteurs, les zones d'ouverture et quelques scènes sont testées, mais pas encore une partie complète, et il reste des soucis de rendu et de stabilité. La dernière version embarque quand même un pack de shaders qui vous évite leur compilation au premier lancement.
La ville industrielle de Lost Odyssey, avec sa minimap de navigation en haut à droite
Viennent ensuite les outils, ceux qui fabriquent les portages plutôt que de les livrer...
On a d'abord
RecompOne
qui recompile statiquement les exécutables PlayStation 1 vers du C# et fournit la couche qui rejoue le matériel de la console. Pas besoin de BIOS ni du moindre fichier Sony, vos fichiers de jeu suffisent. Le projet est fait par des humains, et aucune contribution écrite par une IA ne sera acceptée, et l'auteur explique qu'il ne fera la promotion d'aucun portage produit de cette façon.
L'IA c'est la vraie ligne de fracture de la scène en ce moment...
RecompOne et son logo aux couleurs de la PlayStation, publié sous licence MIT
DolRecomp
fait la même chose pour la GameCube et la Wii. Il sait extraire un disque GameCube tout seul, et s'appuie sur Wiimms ISO Tool pour les images Wii, qu'il vous propose d'installer au passage. Sa grosse limite, c'est qu'il ne traduit que le processeur. En effet, tout le runtime autour, il faut l'apporter, ou partir du modèle que fournit ModernGekko. Autant dire que c'est un outil de bricoleur et pas un bouton "portage".
Luigi's Mansion qui tourne dans une fenêtre Windows sobrement nommée MansionRecomp
ps3recomp
de son côté vise la machine la plus tordue de la liste, le Cell de la PlayStation 3, avec un objectif simple : transformer un binaire PS3 en exécutable natif sans passer par l'émulation. Et face à l'émulateur
RPCS3
, l'argument n'est pas la compatibilité mais la performance native, et évidemment, un code C++ nettement plus facile à modder.
Chez ps3recomp, la toute première version publiée s'appelait Hello, Cell
Le neuvième outil, spoiler alert, c'est le mien. Ça s'appelle
KOMPOTE
et c'est un recompilateur universel de ROMs. Je bosse dessus depuis trois ou quatre mois et il permet de recompiler des ROMs Game Boy dans toutes ses déclinaisons, NES, Super NES, les consoles Sega, la Lynx, la Nintendo 64, la Neo Geo, le Commodore 64. Vous glissez une ROM dessus, ça vous sort un exécutable natif, ou une version WebAssembly pour jouer depuis une page web.
C'est une bêta réservée aux
Patreons
pour l'instant, dispo sous macOS, Windows et Linux et comme pour les autres projets de ce type, ça n'embarque aucun code propriétaire. J'y ai également intégré des petites fonctionnalités sympas sur l'affichage (effets VHS, GB color...etc), l'amélioration du son, les sauvegardes automatiques, du rewind, une API pour pouvoir piloter les jeux avec un TAS, le support des codes Game Genie et j'en passe...
Et puis il y a surtout
CubeShelf
, qui est le premier signe que tout ça commence à s'organiser. C'est un gestionnaire de bibliothèque GameCube qui installe et met à jour les runtimes de plusieurs jeux portés d'un coup... Mario Party 4, Soulcalibur II, Super Mario Strikers... etc. Ça prépare vos images disque et gère les mods
GameBanana
.
La page du projet CubeSelf
Voilà, donc comme je vous le disais, aucun de ces projets ne contient le moindre fichier de jeu. C'est à vous d'amener votre propre ROM ou votre image disque, et parfois même le BIOS de la machine en plus, sinon rien ne se lancera ou ne se recompilera. Et ensuite, une fois que vous aurez une version recompilée de votre jeu préféré, vous pourrez y jouer depuis votre ordinateur comme bon vous semble, sans devoir passer par un émulateur ou la console d'origine.
Bref, si vous ne deviez en essayer qu'un aujourd'hui, prenez Silent Hill ! C'est vraiment un super portage !!
Après quatre ans de travail, le bidouilleur canadien DiscoStarslayer
a annoncé
que son firmware du MechaCon était enfin sorti ! Si vous ne connaissez pas le MechaCon, c'est la puce de sécurité que Sony avait posée en 1999 dans les premières PlayStation 2, et c'était encore jusqu'à aujourd'hui, l'un des derniers composants de la console dont personne n'avait pu obtenir le code...
Ce MechaCon tire son nom de la mécanique qu'il surveille, à savoir le lecteur optique et la mémoire flash, sauf que ces petits malins de Sony lui ont confié bien plus que ça... En effet, cette bestiole sais déchiffrer les cartes mémoire MagicGate, et surtout c'est elle qui décide si le disque que vous venez d'insérer est authentique ou pas. Donc une PS2 dont le MechaCon est raide mort, ça devient une jolie brique
La puce, soudée sur une carte mère Sony de 1999 (
Source
)
Pour aller lire dedans, il a fallu y aller à la manière forte... La puce a donc été ouverte chimiquement pour mettre le silicium à nu, puis lue au microscope. C'est une opération délicate qui consiste à recopier optiquement le contenu de la ROM directement depuis le circuit. C'est lent, et c'est source d'erreur, mais ces dumps crasseux n'étaient pas le but, mais plutôt le moyen... En effet, Libby, un autre hacker qui a collaboré au projet, y a trouvé une faille exploitable, et c'est cette faille qui a ensuite permis de sortir le contenu de la puce via logiciel.
Comme ça, plus besoin de sacrifier une console pour en lire une.
Le firmware extrait, ouvert dans un éditeur hexadécimal : les chaînes laissées par le développeur Sony sont encore dedans (
Source
)
Après attention, il s'agit pour le moment uniquement du premier MechaCon, c'est à dire de celui des PS2 d'avant les SCPH-500xx. Celui des modèles suivants, un ARM que Sony avait baptisé Dragon, était déjà tombé au combat, et c'est de ce dump-là qu'était sorti par la suite
l'exploit MechaPwn
. Donc ni les Slim ni les dernières Fat ne sont concernées ici par ce nouvel exploit.
Alors qu'est-ce que ça débloque ?
TechPowerUp
écrit qu'il y a de bonnes chances que ça finisse par permettre un vrai émulateur de lecteur optique, un de ces boîtiers qui remplacent le bloc optique par une carte SD, ce que les fans réclament depuis des années. Sauf qu'un des développeurs qui ont participé au reverse
est allé démentir ça sur Hacker News
: les dumps seuls ne donnent pas assez d'informations pour fabriquer un tel boîtier. En effet, il manque de quoi rejouer le dialogue côté lecteur, et c'était justement ça la partie difficile.
Après pour lancer des copies de jeux non plus, il n'y a rien de neuf là-dedans puisqu'on les lance déjà depuis une carte mémoire, un disque dur ou l'exploit du lecteur DVD. Ce qui devient envisageable par contre, c'est une puce qui prendrait la place du MechaCon en laissant le processeur de signal de la console continuer à lire les disques. Autrement dit, une console que son MechaCon a brické pourrait être réparée au lieu de finir à la poubelle.
Et ça, je trouve que c'est plutôt une bonne nouvelle même si la méthode d'extraction écrit énormément dans la NVRAM de la console, et ça use le matériel.
Ahet il n'y a pas que des consoles de salon dans l'affaire puisqu'on retrouve également le MechaCon dans des cartes d'arcade à base de PS2, dont les Namco System 246 et System 256.
Quoiqu'il en soit, ces dumps serviront aussi à l'émulation, parce que toute la sécurité des cartes mémoire et des exécutables signés passe par cette puce. Ça devrait être bien utile !
Si vous avez une petite console rétro portable qui traîne, du genre une Miyoo Mini, une TrimUI Brick, une
Anbernic RG35XX
, vous avez sans doute remarqué que l'interface livrée avec fait le job mais sans plus. Ça tombe bien, spruceOS est là pour ça ! Et malgré son nom, ce n'est pas vraiment un système d'exploitation. En réalité, il s'agit d'un frontend codé en Python qui vient se poser sur une base système déjà existante. Le code est public, sous une licence Creative Commons donc pour les plus capitalistes d'entre vous, ça veut dire pas d'usage commercial sans permission écrite de l'équipe.
Sur les Miyoo et les TrimUI, la base en question est le système d'origine de la console, celui du fabricant. Sur les Anbernic à puce H700 et sur la Powkiddy RGB30, il faut d'abord installer une base tierce sur la première carte mémoire, genre BaseOS pour les Anbernic, dArkMoss pour la Powkiddy. La carte spruce, elle, ira dans le second emplacement, le TF2, et elle restera librement échangeable d'un appareil supporté à l'autre. Rien de dramatique donc, mais ça fait une étape de plus et une carte en plus.
Ce que vous y gagnez si vous installez spruceOS, c'est surtout du confort au quotidien. Vous maintenez le bouton HOME pendant trois secondes et le Game Switcher vous laisse sauter d'un état de sauvegarde à l'autre sans quitter votre partie. Quand vous éteignez la console en plein jeu, elle sauvegarde même toute seule son état et vous remet exactement là où vous en êtiez au rallumage. Et si votre console a le Wi-Fi, vous ne repassez plus par le PC pour l'habiller puisque l'outil Theme Garden pioche dans plus de quatre-vingts thèmes communautaires dispo en ligne, le Game Nursery télécharge des portages gratuits / homebrew, et un scraper récupère même les jaquettes des jeux depuis la base libretro.
Le menu principal de spruceOS, avec les quatre icônes du thème SPRUCE par défaut
Ce qu'il vous faut avant de commencer
Il vous faut une carte microSD neuve, d'une vraie marque, achetée chez un revendeur sérieux ainsi qu'un bon lecteur de cartes. Et bien sûr un ordinateur sous Windows, macOS ou Linux avec une connexion Internet.
Et surtout, n'utilisez pas la carte livrée avec la console. C'est pas moi qui le dit mais le wiki du projet qui est catégorique là-dessus, en majuscules dans le texte : "DO NOT USE THAT STOCK SD CARD!", parce qu'elle est mauvaise, que les jeux dessus sont mauvais et que les BIOS le sont aussi. Donc gardez-la dans un tiroir, elle vous servira pour revenir en arrière en cas de foirage.
L'installation en un clic
L'équipe a sorti un installeur tout-en-un, qu'elle présente comme entièrement open source, disponible pour Windows, Linux et macOS. Il formate la carte, télécharge la version que vous choisissez et l'installe, en une seule opération. Une seule précaution, et le projet la signale lui-même : vérifiez bien que le lecteur que vous désignez est votre carte, parce que l'installeur écrit sur celui que vous lui montrez. C'est le chemin recommandé, et c'est aussi lui qui règle le cas des Anbernic et de la Powkiddy : BaseOS et dArkMoss ont chacun leur onglet dans l'application et se téléchargent puis s'installent automatiquement, sans que vous ayez à aller chercher une image ailleurs.
Un détail qui coince sur Mac, et qui n'est écrit nulle part ailleurs que dans le dépôt : macOS interdit aux applications d'écrire sur un disque amovible sans permission explicite, et l'installeur passe par le Terminal. Il faut donc aller dans Réglages Système, Confidentialité et sécurité, Accès complet au disque, ajouter Terminal, puis quitter et rouvrir le Terminal. Ce dernier point compte, la permission ne s'applique pas à une session déjà ouverte.
Sur Mac, Terminal doit figurer dans Accès complet au disque pour que l'installeur puisse écrire sur la carte (
Source
)
L'installation à la main
Si vous préférez faire ça vous-même, il vous faut un utilitaire de formatage et 7zip. Vous formatez la carte en FAT32, avec Rufus sous Windows ou l'Utilitaire de disque sous macOS en choisissant MS-DOS (FAT32). Vous récupérez l'archive spruce.vX.X.X.7z sur la page des versions du dépôt, vous l'extrayez sur votre ordinateur, puis vous copiez le contenu extrait sur la carte. Vous éjectez proprement, vous insérez la carte dans la console et vous allumez.
Et là, attention au piège, puisque le paquet contient un dossier caché nommé .tmp_update, et sans lui spruce ne fonctionnera tout simplement pas. Donc affichez les fichiers cachés avant de les copier : sur Mac c'est Commande + Majuscule + point, et sur Ubuntu le dossier est masqué par défaut lui aussi. Sur Mac, pensez aussi à nettoyer les fichiers .dot parasites avant d'éjecter la carte. Un utilitaire comme
CleanEject
fait ça très bien.
Vos jeux et vos BIOS
Les ROMs se rangent ensuite dans un dossier Roms, avec un sous-dossier par machine. La plupart des noms sont évidents, mais certains noms piègent tout le monde comme SFC ou FC. Hé oui, les jeux Super Nintendo vont dans SFC, pour Super Famicom, et pas SNES ; les jeux NES vont dans FC, pour Famicom, et pas NES. Les vidéos et la musique, elles, vont toujours dans MEDIA.
Les BIOS se posent dans un dossier BIOS à la racine de la carte, mais il faut les placer dans le sous-dossier qui va bien par machine et pas tout balancer en vrac. Le BIOS de la Dreamcast veut son sous-dossier, certains sont obligatoires pour que la machine tourne, d'autres pas. Donc je vous invite à vous renseigner en fonction de la machine que vous voulez émuler. Et comme d'hab, le BIOS de la NeoGeo ne va pas dans BIOS mais avec les jeux.
BIOS/dc/dc_boot.bin Dreamcast, obligatoire
BIOS/gba_bios.bin Game Boy Advance, facultatif
Roms/NEOGEO/neogeo.zip NeoGeo, obligatoire, et pas dans BIOS
Et évidemment, le projet ne fournit ni ROMs commerciales ni BIOS et ne vous dira pas où les trouver, donc c'est à vous de voir avec vos propres cartouches et vos propres disques.
Si l'écran reste noir
Maintenant, si c'est tout noir au lancement, vérifiez que le dossier .tmp_update est bien présent sur la carte. Remettez-la dans l'ordinateur, réaffichez les fichiers cachés, et regardez : si vous avez copié sans avoir activé l'affichage, il n'y est pas. L'autre suspect, c'est la carte elle-même. C'est peut-être parce que vous avez acheté une no-name de merde.
Le moment où vous ne pourrez plus revenir en arrière
Tant que vous ne touchez qu'à la carte, vous ne risquez rien de définitif. Sur la famille Anbernic RG35XX, les guides de référence le disent tous : ces firmwares vivent entièrement sur la microSD, et donc on peut passer de l'un à l'autre sans modification permanente de l'appareil. Ailleurs le principe est le même, et pour retrouver votre console en version d'usine il suffit donc de remettre la carte d'origine.
Sauf qu'il y a UNE exception !! spruce embarque un Firmware Updater qui apparaît tout seul dans vos applications si votre console tourne sur un firmware ancien. Celui-là n'écrit pas sur la carte mais dans la mémoire interne de la machine, et le wiki prévient sans détour : "Failure to follow the firmware updating instructions can lead to a bricked device.". En gros si vous le lancez pour faire la mise à jour du firmware, ça peut bricker votre console, donc pensez bien à la brancher sur le courant avant la mise à jour. Le projet documente d'ailleurs deux procédures de débriquage, dont une qui demande carrément d'ouvrir la Miyoo Flip et de débrancher sa batterie, ce qui vous dit assez bien à quel point on a quitté le terrain du réversible...
Et si spruceOS ne vous convient pas, vous ne serez pas coincé pour autant car sur ce même matériel,
le guide de référence de Retro Game Corps
recommande aussi
Knulli
pour son interface EmulationStation, ou encore
muOS
pour la performance d'émulation la plus avancée, à condition que le bricolage de configs customs ne vous rebute pas. Après voilà, chaque "OS" a sa carte et vous changez d'avis quand vous voulez.
Tomb Raider tourne désormais sur une carte de développement équipée d'un ESP32-P4, un microcontrôleur destiné à piloter des appareils électroniques. Le développeur Alejandro Villegas Alonso, connu sous le pseudo alexkid77, y a adapté OpenLara, le moteur libre qui permet de faire fonctionner le premier jeu avec ses données d'origine.
Pas d'émulateur PlayStation ici. Le programme ne cherche pas à reproduire le fonctionnement complet de la console : il exécute une version du moteur adaptée à cette puce, avec le calcul des images assuré par le processeur. Le travail porte donc sur le jeu lui-même et sur son utilisation des ressources disponibles.
La carte retenue s'appelle ESP32-P4-Function-EV-Board. La configuration documentée dispose de deux cœurs à 400 MHz, de 16 Mo de mémoire flash pour stocker le programme et de 32 Mo de mémoire de travail externe. Il faudra ce matériel ou un sérieux travail d'adaptation, pas simplement ressortir n'importe quel ESP32 oublié dans un tiroir.
L'image est calculée en 320 x 240 pixels, puis agrandie pour remplir un écran de 1 024 x 600 pixels. Cette seconde opération utilise le PPA, l'accélérateur de traitement des pixels intégré à la puce, ce qui évite de demander au moteur de dessiner toute la scène dans la définition de l'écran.
Le dépôt annonce 30 images par seconde. Le résultat est assez réjouissant pour une carte qui n'a pas été conçue comme une console de salon.
L'adaptation prend aussi en charge le son, les sauvegardes sur carte microSD et un compteur d'images par seconde que l'on peut afficher avec F12. Un clavier USB est nécessaire pour jouer : les flèches servent aux déplacements, et la barre d'espace permet de sauter.
Pour préparer la carte, le développeur indique d'utiliser ESP-IDF, l'environnement de développement d'Espressif, en version 5.4 ou plus récente. Il faut compiler le projet, puis transférer le programme sur le microcontrôleur. Du coup, ce téléchargement vise surtout ceux qui aiment déjà bricoler du matériel.
Les fichiers du jeu doivent être ajoutés séparément dans un dossier data sur la microSD. OpenLara fournit le moteur, pas les niveaux et les images du Tomb Raider commercial, et le portage ne fonctionne pas sans ces données. La documentation précise aussi que les sauvegardes et le cache sont écrits sur cette carte.
Perso j'aime bien ces projets qui donnent un nouveau terrain de jeu aux vieux moteurs.
Un développeur espagnol, Emilio Cano Pérez, vient de publier le SDK de son CanoFlash, un petit boîtier monté sur un XIAO ESP32-S3 qui se branche sur le port Link d'une Game Boy Advance. Cela ne nécessite aucune modification de la console, ni de fer à souder (cool !), et une fois branché, ça permet à la console de récupérer la connexion Wi-Fi qu'elle n'a jamais eue !
Alors comment ça fonctionne ? Hé bien le truc démarre en mode Multiboot et pousse sa propre application dans la RAM de la console. Ensuite c'est lui qui se coltine la gestion de tout le réseau, pendant que la GBA se contente d'échanger avec lui des paquets de taille fixe. En clair, un jeu n'a pas à connaître l'existence du Wi-Fi. Il parle juste au boîtier à travers le SDK dispo sur GitHub, qui lui apporte le matchmaking public, les salons privés et des parties jusqu'à huit joueurs.
Sauf qu'avant de sortir votre Game Boy du tiroir, il faut lire
la FAQ du créateur
parce qu'il y écrit que le jeu en ligne fonctionnera uniquement dans les jeux qui intègrent son SDK, et qu'il ne transforme pas automatiquement le multijoueur Link des jeux existants en multijoueur Internet. Roooh, c'est dommage quand même. Ça veut donc dire que votre cartouche collante de Pokémon Rubis ne fonctionnera pas via le Wi-Fi... Pour jouer, il vous faudra donc des homebrews compilés avec le kit, plus un boîtier et une console par joueur.
Maintenant, si c'est vraiment vos vieilles cartouches que vous voulez faire jouer à distance, l'appareil qui fait ça, c'est le
GB-Link USB dont je vous ai parlé en juin
. Lui se fait passer pour un câble Link, se relie en USB-C à un ordinateur ou à un smartphone Android, et un client web différent parle le protocole de chaque jeu : les échanges Pokémon des trois premières générations, les parties d'Advance Wars. Dans le même genre,
ChisLink
est un projet à monter soi-même dont le relais transporte les paquets des jeux compatibles avec l'adaptateur sans fil de Nintendo.
Cette limite du CanoFlash n'est d'ailleurs pas une bizarrerie de conception, parce que l'adaptateur sans fil sorti par Nintendo en 2004, c'était exactement pareil. Il était fonctionnel avec seulement à 46 jeux compatibles, tous sortis entre 2004 et 2006. Ça ne remplaçait pas non plus le câble Link.
Du coup, le CanoFlash, son vrai métier, c'est surtout de vous permettre de parcourir vos homebrews et vos sauvegardes personnelles via Wi-Fi, de flasher le jeu de votre choix sur votre cartouche réinscriptible et de synchroniser les sauvegardes, le tout sans PC.
Par contre, cette cartouche réinscriptible compatible dont je vous parle, à base de S29GL256, elle est indispensable et elle n'est ni incluse ni vendue dans la campagne Kickstarter CanoFlash. Même chose pour la batterie, même si le boîtier accepte de tourner sur USB-C. Donc comptez le prix de la cartouche en plus avant de vous emballer, et sachez aussi que la campagne Kickstarter n'est toujours pas lancée à l'heure où j'écris ces lignes.
Le
SDK, lui, est déjà là
, et il se compile sans avoir le moindre boîtier sous la main. Bref, de quoi préparer votre jeu tranquillement en attendant que le matériel existe...
Non ? C'est normal, c'est un petit jeu qui est passé relativement inaperçu ^^. Dans ce jeu, on est plongé dans le Miami des années 80, avec ses chemises à fleurs, Tommy Vercetti et la radio à fond dans une décapotable volée.
Eh bien bonne nouvelle pour les fans, le jeu tourne aujourd'hui en entier dans un onglet de votre navigateur, sans rien avoir à installer, et ça s'appelle reVCDOS.
Derrière, c'est reVC, on retrouve la
décompilation du moteur du jeu
dont je vous ai déjà parlé, recompilée en WebAssembly par l'équipe de DOS.Zone. Autrement dit, ce n'est pas de l'émulation mais le vrai moteur d'origine qui tourne direct dans un browser.
Et ça se joue comme vous voulez, au clavier et à la souris, à la manette, ou carrément du bout de votre doigt tout gras sur un téléphone en portrait comme en paysage.
Les codes de triche marchent aussi, tapés au clavier comme à l'époque, et vous pouvez charger vos propres mods dans le navigateur avec des fichiers dff et txt qui sont supportés tels quels, sans conversion.
Si vous êtes chaud, pour jouer, ça se passe sur la
page du projet
. Le jeu a besoin des données de Vice City, et le site vous propose cinq façons de les lui donner : Il y en a 2 qui les téléchargent pour vous, dont un torrent, et 3 qui vous laissent envoyer les vôtres, en dossier, en fichiers ou en zip. Je vous conseille la deuxième méthode, car la première, c'est du piratage, et le piratage, c'est maaaal ! Et ouais, il faut bien financer les petits studios comme Rockstar.
Bref, il vous faut les fichiers du jeu d'origine mais bonne nouvelle : sur Steam, on trouve encore aujourd'hui la Definitive Edition, à 59,99 €. Franchement, pour un jeu sorti y'a 24 ans, c'est vraiment donné, non ? Ah bah oui, je vous l'ai dit, il faut financer les petits studios.
Et si vous préférez héberger le bidule vous-même, sachez que le
dépôt
Github du projet publie les binaires et une image Docker qui convertit vos fichiers au format attendu ! Comptez une cinquantaine de mégas au démarrage, le reste arrive en cours de partie.
Un truc à savoir avant de vous lancer, parce que ça pique : les sauvegardes locales sont pétées depuis des mois, et l'auteur a fini par lâcher sur son forum que "les sauvegardes ne sont disponibles qu'avec un abonnement". Donc si vous vous lancez dans une partie, il faudra jouer jusqu'au bout. Ou alors, vous vous démerdez pour débuguer votre install.
Et profitez-en tant que c'est là, parce que Take-Two a déjà fait tomber ce portage à coups de DMCA l'an dernier. Bref, un tour à Vice City ce soir, ça ne se refuse pas.
En mai 1996, sur
le forum Usenet consacré à Quake
, des joueurs prenaient déjà les paris... Le jeu n'était pas sorti, le CD non plus, et la question qui tournait en boucle à l'époque c'était : combien de temps tiendrait la protection anti-copie du jeu ? Certains misaient deux semaines après la sortie, d'autres 5 jours maximum...
De son côté, id Software s'apprêtait à presser son shareware sur un disque mais Quake n'occupait que 22 Mo des 640 disponibles. Du gâchis de place ? Pas vraiment puisque le reste du CD a été rempli avec tout le catalogue maison. Des jeux complets en versions chiffrées, c'est-à-dire plusieurs DOOM, Final Doom, Hexen, Heretic qu'on déverrouillait par téléphone...
Le CD est finalement sorti le 30 août 1996 et le concept était bien pensé, sur le papier en tout cas... Le programme affichait un nombre de onze chiffres, les Américains appelaient le 1-800-ID-GAMES, un opérateur encaissait la thune et donnait en échange un numéro de déverrouillage à retaper. Le premier nombre changeait à chaque lancement et tournait toutes les 5 minutes, précisément pour qu'un code ne puisse pas servir deux fois.
Mais le 8 octobre suivant, coup de tonnerre ! Le groupe GNOMON sortait QCRACK.EXE pour faire tout sauter ! Ça n'aura pris que 39 jours !
Ce qu'ils avaient compris, c'est que le numéro donné au téléphone ne contenait aucun secret. Il attestait simplement du paiement et de rien d'autre. Le programme livré sur le CD savait fabriquer ce numéro tout seul à partir de celui qu'il venait lui-même d'afficher, et son seul travail consistait donc à comparer les deux.
Toute la protection tenait, comme souvent, dans le fait que personne n'était censé regarder comment ça fonctionnait.
Toutefois, ce mécanisme de vente n'était pas vraiment une bourde d'id Software. Eux n'étaient que les clients de TestDrive Corp, qui vendait
cette solution brevetée
.
Et ce brevet expliquait très précieusement comment ça fonctionnait... Le poste de l'utilisateur produit un numéro, l'opérateur distant le valide et renvoie un code d'activation, et c'est le poste de l'utilisateur qui vérifie ce code. Le brevet va même jusqu'à donner son exemple, à savoir un numéro dont les chiffres totalisent 10, et un code de retour dont les chiffres totalisent 15.
La faille était donc déposée à l'office des brevets quatre ans avant que le CD arrive en rayon.
Le reste raconte quand même une fin de production difficile. La base qui associe chaque jeu à son identifiant contenait également une faute de casse sur Final Doom, "Final" au lieu de "final", ce qui envoyait la génération du code chercher le mauvais fichier. Résultat, le client qui appelait et payait pour Final Doom n'arrivait pas à le déverrouiller.
Alors que le pirate, lui, y arrivait à tous les coups !
Et si je vous raconte tout ça c'est surtout parce que Fabien Sanglard s'est amusé
à redémonter le CD-Rom cet été
, et qu'il y a aussi trouvé de jolies surprises comme une version en clair de cette base posée juste à côté de sa version chiffrée + des fichiers temporaires et des sauvegardes d'éditeur oubliés au pressage.
Je vous invite vraiment à lire son analyse, c'est super intéressant !
Enfin !! Le
compteur du projet de décompilation
de GoldenEye 007 affiche dorénavant 208 fichiers traités sur 208, et cela pour les trois versions de la cartouche, japonaise et européenne comprises. Le dernier commit du dev KholdFuzion est d'ailleurs classe, puisqu'il porte le titre "*james bond will return. *".
Oh yeah !
Techniquement, le code C reconstitué ressort du compilateur sous la forme d'une ROM identique à celle de 1997, octet pour octet. C'est précisément ce que veut dire le mot "matching" dans ces projets. Ce n'est donc pas un jeu équivalent qui se comporterait pareil que le jeu d'origine... Non, c'est exactement le même binaire !
Après comme vous vous en doutez, le dépôt, lui, n'embarque pas tous les assets nécessaires à la compilation, pour des questions de droits d'auteur comme d'hab. Le
README du projet
nous explique ainsi qu'il faut posséder une copie du jeu, et que les scripts iront extraire ce qui manque de votre côté.
Après c'est pas cette recompilation qui fait que GoldenEye devient soudainement "moddable". En effet, il l'est depuis longtemps, via le
GoldenEye Setup Editor
de SubDrag, Wreck et Zoinkity, capable d'importer vos propres modèles 3D dans le jeu.
Ce qui change par contre, c'est que jusqu'ici on éditait des structures dans un binaire, alors que maintenant on modifie le moteur en C et on recompile. C'est le même chemin qu'avait pris ce bon vieux
Duke Nukem Zero Hour l'an dernier
.
Et c'est d'ailleurs ce que fait KholdFuzion à côté, avec
GoldenRecomp
, qui recompile la ROM en exécutable PC natif. Avec ça, le jeu peut tourner sur un ordinateur. Apparemment, c'est plutôt stable, et le son est bon.
Mais toute l'interface multijoueur reste à faire, le ciel du barrage part en vrille parce que le moteur de rendu ne digère pas les commandes de dessin maison, et certaines armes tirent trop vite maintenant que tout tourne à 60 images par seconde. Ce n'est donc pas encore vraiment jouable.
Aucune release n'a été publiée à ce jour, ni même un tag, ce qui veut dire qu'on est encore loin d'un
portage installable comme celui de Zelda 64
. Faudra compiler vous-même, après avoir "build" une ROM depuis la branche du projet conçue pour ça.
Dans le même style, n'oubliez pas l'existence de
GoldenEye-Recomp de SunJaycy
, qui lui, est déjà jouable avec du multijoueur en ligne, mais qui n'a rien à voir avec tout ça puisqu'il recompile la version Xbox 360 qui n'est jamais sortie, et pas la N64.
Bref, si vous attendiez un exécutable à lancer ce soir, ce n'est pas ce que vous aurez mais ce qui s'annonce ensuite est très prometteur !
Il y en a qui récupèrent des vieux canapés dans des bennes à ordures et puis il y a eWastelander qui passe son temps à
récupérer du matériel électronique pour ses futures bidouilles
. Sa dernière prise, c'est une Xbox 360 à 15 dollars, dénichée au fond du rayon des "défectueux" d'un magasin de jeux qui soldait tout à moitié prix. Elle démarre parfaitement mais son unique défaut, c'est un contrôle parental verrouillé par un code que plus personne ne connaît.
C'est un modèle E, le dernier de la gamme, sorti à peu près au moment de la
Xbox One
. Malheureusement, ce verrou lui interdit tout ce qui dépasse la classification E, soit l'équivalent américain du tout public. Par exemple, le jeu Rock Band Blitz est classé T, donc bloqué. Autrement, dans cette console, il n'y a pas de disque dur, il n'y a aucun profil qui a été enregistré. Et il n'y a absolument rien à récupérer de l'ancien proprio. Voilà, il y a juste le code PIN et c'est tout.
Alors évidemment première tentative, la question secrète de récupération. "Quel est votre plat préféré ?" Il tape pizza, puis burger, puis chicken mais aucun ne passe...
Deuxième tentative, le code de réinitialisation d'usine planqué dans les menus. Il va donc dans les paramètres de la console où se trouvent les informations système. Il faut alors enchaîner une autre combinaison secrète de 6 boutons toujours identiques (gâchette gauche, gâchette droite, X, Y, bumper gauche, bumper droit) suivi de 4 pressions supplémentaires qui, elles, changent d'une console à l'autre. eWastelander programme alors les combinaisons en macros sur une manette 8BitDo, branchée via un adaptateur Brook Wingman et déroule toute la liste. Mais RIEN !
Mais il ne se laisse pas battre par le désespoir et amorce une troisième tentative : l'exploit logiciel bad update, qui se lance sur une console de série sans avoir à l'ouvrir et donne accès à une appli homebrew capable d'afficher le code en clair. Cet exploit ne se déclenche que depuis 2 jeux, Tony Hawk's American Wasteland et Rock Band Blitz. Sauf que, comme je vous le disais, Rock Band Blitz est classé T, et le verrou le bloque. Il bascule alors sur un autre exploit nommé bad avatar, mais la console freeze ! Quel enfer ! Comme cette 360 n'a aucun stockage interne, et que l'exploit réclame un disque dur ou une unité mémoire pour fonctionner, bah ça plante.
Restait la méthode "officielle", telle que décrite sur wiki Console Mods. Cela consiste à enregistrer la console sur son compte Microsoft puis à demander un reset du code, ou appeler le support qui le communique. Mais ce même wiki précise que la méthode "aurait été abandonnée d'après les retours négatifs, mais reste ici pour mémoire". Bref, y'a plus personne au comptoir !
Sa dernière option, qui se présente à lui, un peu comme la solution de la dernière chance, c'est d'effectuer un brute force sur la console. Et ça tombe bien parce qu'un autre dev surnommé Agent24 avait repris en janvier 2020 le code d'un autre bidouilleur (écrit à la base pour Arduino) puis adapté au Teensy.
Le Teensy, si vous ne connaissez pas, c'est une carte qui se fait passer pour un clavier USB et tape les combinaisons une par une. Cela représente 10 000 possibilités pour un code à 4 chiffres, soit entre une seconde et 17 heures selon la chance qu'on a. eWastelander coupe alors l'extinction automatique, laisse la carte tourner, et se barre...
5 heures après, il revient voir ce qu'il en est et, oh magie, sa console est déverrouillée !!
Bravo. Encore une fois, le brut de force a triomphé et ça ne date pas d'hier puisqu'en 2013, déjà,
je vous parlais
d'un bricoleur qui cassait le code PIN d'un GPS Garmin avec un Arduino et un vieux scanner, sur exactement le même nombre de combinaisons que pour la Xbox.
Et voilà comment ressusciter une console qu'on croyait perdue pour toujours à cause d'un simple code de contrôle parental !
727 mots de passe testés par seconde, c'est le score incroyable d'une Game Boy Advance reprogrammée en casseur de mots de passe par solst-ice, un développeur qui avait visiblement une console de 2001 qui traînait et pas mal de temps à tuer ^^. Son projet s'appelle GBA-Hashcat, et c'est un "port" de hashcat (le célèbre outil de crackage) sur le petit hardware portable de Nintendo.
Enfin, un port entre grosses guillemets, parce que le vrai hashcat gère plus de 300 algorithmes de hash optimisés et une palanquée de méthodes d'attaque alors que là, vous avez le droit à un seul truc, du SHA-256, et rien d'autre.
Le programme embarque la wordlist ignis-1M, une liste de 8 Mo qui contient environ 1 million de mots de passe parmi les plus courants. Pour chaque ligne, la GBA calcule le hash SHA-256, le compare à un hash cible codé en dur dans le programme, et regarde si ça correspond.
C'est une attaque par dictionnaire, quoi, sauf que, je vous rappelle, ça tourne sur une puce ARM7TDMI cadencée à 16,78 MHz avec 288 Ko de RAM.
Du coup, forcément, ça rame de fou... au rythme de 727 hachages par seconde mais c'est normal car cette console n'a jamais été pensée pour ce genre de calcul. Pour vous donner une idée, un PC moderne avec un GPU décent va environ 30 millions de fois plus vite, soit des milliards de tentatives par seconde.
Alors que la GBA, elle, met une bonne vingtaine de minutes à avaler toute sa liste de 1 million de mots.
Après côté bidouille c'est assez fort car, certes, la wordlist de 8 Mo tient dans la cartouche, mais faire tourner une routine SHA-256 propre sur une puce aussi poussive, avec ses malheureux 288 Ko de RAM pour bosser, il faut le vouloir ! Solst-ice s'est donc appuyé sur le moteur Butano, un framework C++ open source taillé pour développer des jeux GBA, qu'il a détourné pour faire mouliner des hashs à la place de sprites.
Et voilà, ce projet loufoque rejoint la longue tradition des gens qui font faire n'importe quoi à leur Game Boy Advance, comme ce
clavier GBA à monter soi-même
que je vous montrais récemment.
Bref, comme un ministre ou un notaire, ça ne sert strictement à rien, et c'est pour ça qu'on kiffe ! Le code est sur le
GitHub de solst-ice
si vous voulez jouer.
Y'a un moddeur de génie, Dryxio, qui vient de réussir un truc que Rockstar n'a jamais osé faire : Faire tourner GTA III et Vice City en entier, à l'intérieur de GTA San Andreas. Ouèp, les deux jeux complets, avec leur mode histoire, leurs sauvegardes et leurs réglages !
Dans San Andreas, CJ peut allumer la télé de sa baraque sur Grove Street, ou une borne d'arcade, et hop, une partie de GTA III ou de Vice City se lance. Chaque jeu tourne comme un moteur séparé injecté dans le processus de San Andreas. Du coup vous vous retrouvez avec 3 villes, Liberty City, Vice City et San Andreas, empilées dans une seule fenêtre.
Ça marche grâce à re3 et reVC, deux projets qui réimplémentent les moteurs de GTA III et Vice City. Des fans ont passé des années à les reconstruire par rétro-ingénierie, sans jamais toucher au binaire officiel de l'éditeur. Petit détail qui compte, le mod ne fournit pas les jeux, il vous faut vos propres fichiers de GTA III et Vice City pour que ça tourne. L'idée de faire cohabiter les différents GTA n'est pas neuve d'ailleurs,
j'en parlais déjà en 2011
avec Vice City porté sur le moteur de GTA IV.
Et là, le dernier délire de Dryxio c'est donc de faire tourner Vice City à l'intérieur de GTA III, lui-même tournant dans San Andreas. Un jeu dans un jeu dans un jeu, rendu sur une seule texture de télé in-game. Après cette version poupées russes ressemble pour l'instant à une démo vidéo virale, et pas à un mod que vous allez télécharger et lancer ce soir. On verra si ça sort un jour.
En 2021, Take-Two avait dégainé un DMCA pour faire disparaître le projet Re3 de GitHub. Et voilà que 5 ans plus tard, le même moteur ressuscite à l'intérieur du propre jeu de Rockstar ! Mais quel troll ! D'ailleurs Dryxio n'en est pas à son coup d'essai, puisqu'il maintient aussi un
fork de Multi Theft Auto
, un autre projet que Take-Two a longtemps eu dans le viseur. San Andreas a beau dater de 2004,
il refait régulièrement parler de lui
, plus souvent parfois que des jeux sortis l'an dernier ^^.
Bref, si le retrogaming GTA vous parle, allez jeter un œil aux
démos
.