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 ouv
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
q
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 q
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 fl
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
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
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.
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...
Vous vous souvenez de GTA Vice City ?
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 moteu
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
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
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 d
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
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 An
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
.
Alors ça, c'est un sacré morceau qui va ravir tous les fans de rétro gaming ! Patchzy, le dev de
Wheel Wizard
(le launcher de Retro Rewind), vient d'annoncer Mario Kart Wii compiled, ce qu'il présente comme le premier jeu Wii recompilé en natif pour PC. Pas émulé, hein recompilé. Et vous allez voir pourquoi c'est mieux !
alors pour le moment c'est pas encore dispo, mais c'est une annonce qui est faite en amont de la sortie en bêta qui aura lieu au mois d'août. Cette version de Mar
Alors ça, c'est un sacré morceau qui va ravir tous les fans de rétro gaming ! Patchzy, le dev de
Wheel Wizard
(le launcher de Retro Rewind), vient d'annoncer Mario Kart Wii compiled, ce qu'il présente comme le premier jeu Wii recompilé en natif pour PC. Pas émulé, hein recompilé. Et vous allez voir pourquoi c'est mieux !
alors pour le moment c'est pas encore dispo, mais c'est une annonce qui est faite en amont de la sortie en bêta qui aura lieu au mois d'août. Cette version de Mario Kart est la première recompilation statique d'un jeu Wii. L'avantage de la recompilation, c'est qu'on peut lui ajouter de nouvelles fonctionnalités et il y aura notamment du jeu en ligne, de la 4K (avec les textures de 2008 dedans par contre...), un framerate débloqué, ainsi qu'un support optionnel de Retro Rewind, ce qui lui apportera plus de 200 circuits.
On a donc une date et on a donc cette vidéo qui va vous mettre l'eau à la bouche :
La recompilation statique, pour faire simple, ça prend le code machine du jeu et ça le retraduit en programme natif pour votre PC. Pas de couche d'émulation qui fait tourner une Wii fantôme en arrière-plan, juste un exécutable que vous lancez comme n'importe quel jeu Steam.
La scène sait faire ça sur N64 depuis un moment, et c'est comme ça que
Banjo-Kazooie a atterri sur PC en 4K
, et quelques projets s'y sont collés sur Xbox 360. Pour ma part, moi je suis en train de coder une espèce de recompilateur universel qui supportera plein de consoles différentes, mais c'est pas encore prêt et je sais pas encore si je mettrai ça sous licence libre ou si ce sera juste un binaire pour mes Patreons. On verra bien, c'est pas fini, et je prends mon temps mais c'est un petit peu mon passe-temps du moment.
Au moment où j'écris cet article, je suis en train de bosser sur la recompilation de l'ensemble des jeux N64 :
Après sur Wii, le terrain n'était pas complètement vierge non plus, puisque DolRecomp, un recompilateur statique GameCube et Wii, traîne sur GitHub depuis le mois de juin. Alors pourquoi est-ce qu'on s'excite tous si on peut déjà faire tourner Mario Kart Wii nickel sous Dolphin depuis des années ?
Eh bien parce que comme je vous le disais, en théorie, un binaire natif, déjà ça vous épargne tous les problèmes liés à l'émulation, je pense à la surcharge que ça peut engendrer sur les petites configs ou les petits lags, ce genre de choses.
Puis en plus ça peut permettre de supporter par exemple des mods. Je pense à Retro Rewind évidemment, mais pourquoi pas aussi implémenter des nouvelles fonctionnalités dans le jeu. Et puis ça suivra les évolutions de votre machine sans que vous ayez à vous traîner un émulateur... C'est ça qui rend par exemple la
recompilation PC d'Animal Crossing
intéressante.
En tout cas, ce qui est sûr, c'est qu'avec Patchzy, ça va être du lourd ! En plus, comme Nintendo vient d'annoncer
la fin des serveurs de Mario Kart Tour
pour le 29 septembre, cette bêta d'août va pouvoir prendre le relais donc ça c'est super cool !!
Après côté légal, le projet ne distribue aucun asset Nintendo, ce sera donc à vous de fournir votre propre ROM. On verra bien si ça empêche Nintendo de dégainer ses avocats...
Un bidouilleur du nom de Throaty Mumbo a décidé de s'attaquer à la Game Boy Color (sortie en 1998, ça ne nous rajeunit pas) pour y faire tourner YouTube ! Et du vrai YouTube hein, en streaming, sur 160x144 pixels. Ça s'appelle GBCYoutube et je vous explique tout en détail...
Ce qu'il a fait en fait, c'est se bricoler une cartouche maison avec dedans, un microcontrôleur RP2350B (le cerveau du Raspberry Pi Pico 2) qui fait tourner le lecteur, et une puce ESP32-C6 qui sert juste de pont WiFi. Vous
Un bidouilleur du nom de Throaty Mumbo a décidé de s'attaquer à la Game Boy Color (sortie en 1998, ça ne nous rajeunit pas) pour y faire tourner YouTube ! Et du vrai YouTube hein, en streaming, sur 160x144 pixels. Ça s'appelle GBCYoutube et je vous explique tout en détail...
Ce qu'il a fait en fait, c'est se bricoler une cartouche maison avec dedans, un microcontrôleur RP2350B (le cerveau du Raspberry Pi Pico 2) qui fait tourner le lecteur, et une puce ESP32-C6 qui sert juste de pont WiFi. Vous tapez le titre d'une vidéo sur un clavier affiché à l'écran, la console balance l'info à votre PC, et là yt-dlp récupère la vidéo pendant que ffmpeg l'encode à la volée. Les images repartent ensuite par WiFi vers la cartouche qui les pousse à l'écran en flux continu, sans avoir besoin de stocker quoi que ce soit. Je vous laisse mater la vidéo, c'est impressionnant :
Côté rendu, vous avez le choix entre deux modes. Le premier c'est pour avoir du full screen (160x144 à 30 fps, c'est Las Vegas babyyy) et le second monte en couleurs mais tombe à 5 fps, donc forcément, ça ressemble plus à un diaporama qu'à une vidéo. Le son ne passe même pas par le haut-parleur d'origine. Throaty a glissé, pour cela, un petit haut-parleur dédié dans la cartouche, piloté par le RP2350B "pour libérer les cycles CPU de la Game Boy".
Puis comme le son est souvent désynchronisé avec l'image, c'est pas ouf non plus. Mais pour la beauté du geste, je salue !
Et c'est pas la première tentative, vous vous en doutez. Chromalock streamait déjà de la vidéo sur la même console, sauf que ça passait par le câble link, un goulot d'étranglement à 512 kHz qui plafonne vite. Alors que là, on passe au WiFi et à une vraie appli YouTube, avec recherche embarquée et tout le tralala.
Et surtout pas besoin de charcuter votre console pour reproduire le truc, puisque la cartouche passe par le port standard, donc un modèle d'origine suffit.
Il y a des problèmes qui n'existent pas, et des gens qui les résolvent quand même... Ray Foss en fait partie. Ce dernier a fait en sorte que sa Steam Controller flambant neuve rampe toute seule jusqu'à son chargeur, sans qu'il ait à lever le petit doigt. Et pour cela, il a codé son
Triton Auto-Charge Vision Tracker
qui tourne
entièrement dans le navigateur
et qui est utilisable par tous !
Le principe est bien tordu... Vous collez une webcam au-dessus de votre bureau, vous ouvrez la page, et vous
Il y a des problèmes qui n'existent pas, et des gens qui les résolvent quand même... Ray Foss en fait partie. Ce dernier a fait en sorte que sa Steam Controller flambant neuve rampe toute seule jusqu'à son chargeur, sans qu'il ait à lever le petit doigt. Et pour cela, il a codé son
Triton Auto-Charge Vision Tracker
qui tourne
entièrement dans le navigateur
et qui est utilisable par tous !
Le principe est bien tordu... Vous collez une webcam au-dessus de votre bureau, vous ouvrez la page, et vous cliquez sur trois points à l'écran : le palet de charge, l'avant de la manette, l'arrière. À partir de là, la vision par ordinateur suit la manette en temps réel pendant que le code pilote ses deux petits moteurs de vibration internes.
Petit rappel si vous aviez hiberné, Valve a ressorti sa
Steam Controller
en mai dernier, des années après avoir lâché la première. Elle se recharge sur un palet magnétique, et c'est pile poil cette dernière étape que Foss a automatisée. La Steam Controller, c'est aussi la manette dans laquelle Valve a
planqué un cri Wilhelm
, et visiblement elle attire les bidouilleurs.
En pulsant ces moteurs de façon asymétrique, autour de 70 Hz, la page fait littéralement ramper la manette sur le bureau et la réoriente petit à petit vers le palet. C'est le principe de ces
bristlebots
faits avec une brosse à dents et un moteur vibreur de téléphone, sauf qu'ici les moteurs étaient prévus pour faire vibrer la manette dans vos jeux, et surement pas pour la balader sur le bureau...
Pas d'install, pas de pilote à régler non plus, c'est la page qui se connecte directement à la manette via WebHID, la même techno qui permet déjà de
tester son matos gaming dans le navigateur
, à condition d'être sur Chrome ou Edge parce que Firefox et Safari boudent toujours cette API.
L'interface de l'outil, avec les points de repère à placer sur la manette et le palet.
Au passage, elle lit la batterie de la manette et vous affiche le pourcentage et même le voltage de la cellule, histoire de confirmer que le contact magnétique se fait bien.
Foss a aussi prévu un mode approche en douceur qui réduit de moitié la fréquence des vibrations quand la manette arrive tout près du palet, pour qu'elle se pose dedans au lieu de le percuter. Enfin, en théorie, parce qu'il prévient lui-même que l'amarrage n'est pas garanti.
La vraie limite du truc, c'est que le calage des points de repère reste assez pénible à faire.
Ça ne sert strictement à rien, mais c'est marrant. Le projet est en open source sur GitHub si vous voulez tenter le coup chez vous.
Les développeurs de Dolphin viennent de mettre un point final à un truc qu'ils se traînaient depuis 16 ans : leur émulateur GameCube et Wii sait maintenant émuler le Game Boy Player.
Pour tester ça, faut charger une ROM Game Boy via le réglage "Game Boy Player ROM" planqué dans les paramètres GameCube de Dolphin, puis vous lancez le Start-Up disc officiel du Game Boy Player ou le homebrew Game Boy Interface, et c'est parti ! L'émulateur attache alors automatiquement le matériel quand il le faut.
Les développeurs de Dolphin viennent de mettre un point final à un truc qu'ils se traînaient depuis 16 ans : leur émulateur GameCube et Wii sait maintenant émuler le Game Boy Player.
Pour tester ça, faut charger une ROM Game Boy via le réglage "Game Boy Player ROM" planqué dans les paramètres GameCube de Dolphin, puis vous lancez le Start-Up disc officiel du Game Boy Player ou le homebrew Game Boy Interface, et c'est parti ! L'émulateur attache alors automatiquement le matériel quand il le faut. Annoncée sous forme de blague le 1er avril, cette version est enfin dispo depuis le 25 juin pour Windows, macOS, Linux et Android.
Maintenant pour ceux qui débarquent et qui ne sont pas très au fait de l'univers de la GameCube, le Game Boy Player c'était un petit boîtier qu'on clipsait sous la GameCube pour jouer à ses cartouches Game Boy Advance sur la télé. En gros c'est une Game Boy sans écran quoi, et ça envoyait l'image et le son à la console et récupérait les inputs de la manette. Nintendo avait même choisi d'y coller une vraie puce GBA plutôt que de coder un émulateur, parce qu'émuler proprement une GBA à l'époque, c'était mission quasi impossible.
Et comme supporter le Game Boy Player, ça voulait dire émuler une GBA entière en plus de sa communication avec la GameCube, bah c'est pour ça que ça a pris quelques années. Personne ne voulait se taper ce chantier monstrueux, que l'équipe appelle elle-même "une curiosité". Puis il y a environ cinq ans, quand mGBA a été intégré à Dolphin pour gérer les jeux GameCube qui causaient avec une GBA, d'un coup, la brique manquante était là !! Endrift, le dev du projet s'est alors lancé sur une implémentation... avant que le projet ne s'endorme et tombe dans l'oubli.
Et ça c'était jusqu'à fin mars, où Billiard, l'un des autres mainteneurs du projet, est retombé sur le code quasi terminé de son précédent collègue et a eu comme idée tordue de le finir pour le sortir le 1er avril.
Quelques jours de rush plus tard (pull request, review, test, merge, wesh tu connais), le support a fini par arriver quelques heures après minuit le jour J. L'équipe a alors posté une image énigmatique sur ses réseaux sans aucune explication, et a regardé la confusion des gens virer à l'excitation. Sauf que dans la foulée, un autre gars nommé extrems (une encyclopédie vivante de la GameCube et l'auteur de Game Boy Interface) a déboulé dans le chat des devs parce qu'il a tout de suite repéré ce que tout le monde avait loupé : un son strident à vous percer les tympans.
Le bug était passé sous le radar parce que les tests avaient été faits sur le Start-Up disc officiel, qui filtre et écrase tellement l'audio que ça sonnait juste un peu pâteux. Ils ont dû corriger vite, et c'est désormais propre.
Après Dolphin c'est pas vraiment un émulateur Game Boy. Il émule la GameCube, la Wii et la
Triforce
et ce support GB reste un peu en marge, comme une curiosité. C'est pas la meilleure façon de
relancer vos jeux Game Boy
et pour ça, les émulateurs dédiés font franchement mieux.
Et tant qu'à faire, cette version 2606 rend aussi enfin jouable The Key of Avalon (le dernier jeu Triforce qui résistait encore), corrige un vieux bug graphique en haute résolution qui traînait depuis la nuit des temps, et apporte enfin les
RetroAchievements
sur les jeux Wii. En tout cas, ça reste le même bon vieux Dolphin avec lequel un dev a réussi à
faire parler Animal Crossing avec une IA
en hackant la RAM émulée, si vous aviez loupé ce délire.
Voilà... 16 ans d'attente, un poisson d'avril foireux, et le plus vieux ticket du projet enfin refermé ! Bravo la team Dolphin !
Decrazyo vient de sortir
ANES
, un mod hardware qui transforme votre vieille NES en lui collant un deuxième PPU, la puce graphique de la console.
Résultat, plus de couleurs à l'écran, plus de sprites, et même du parallax scrolling, ces décors qui défilent sur plusieurs plans comme sur les bornes d'arcade. Que des trucs que la petite Nintendo de 1985 n'a jamais su faire, la miskine.
Le hic, c'est qu'il vous faut deux NES pour ça. Une qu'on garde, et une qu'on démonte pour lui piquer son PPU (
Decrazyo vient de sortir
ANES
, un mod hardware qui transforme votre vieille NES en lui collant un deuxième PPU, la puce graphique de la console.
Résultat, plus de couleurs à l'écran, plus de sprites, et même du parallax scrolling, ces décors qui défilent sur plusieurs plans comme sur les bornes d'arcade. Que des trucs que la petite Nintendo de 1985 n'a jamais su faire, la miskine.
Le hic, c'est qu'il vous faut deux NES pour ça. Une qu'on garde, et une qu'on démonte pour lui piquer son PPU (le fameux RP2C02) pour ensuite le greffer sur la première via une carte maison bardée de logique. Ensuite (et attention, ça devient technique), un démultiplexeur 74LS139 aiguille le processeur vers l'un ou l'autre PPU selon l'adresse mémoire, un latch 74LS373 verrouille les signaux, et 8 Ko de RAM statique dédiée alimentent le second PPU.
En gros, le CPU jongle entre deux cartes graphiques au lieu d'une. C'est tout ce que vous devez savoir.
Pour comprendre pourquoi c'est énorme comme news, faut bien se rappeler les limites de la bestiole. La NES affiche 25 couleurs à l'écran maximum, piochées dans une palette de 64. Et elle ne dessine que 8 sprites par ligne horizontale, d'où le clignotement légendaire des persos quand ça se bouscule (les vétérans de Mega Man voient de quoi je parle). Alors qu'avec deux PPU qui bossent en parallèle, vous doublez le budget graphique d'un coup.
Decrazyo est le premier à reconnaître que personne ne va se lancer là-dedans parce que c'est bien relou à faire. Faut déjà sacrifier deux consoles, sortir le fer à souder, dessouder des puces et se taper du wire-wrap sur une carte prototype. On est dans de la bidouille de l'extrême, celle qu'on fait
pour la beauté du geste
.
Sauf que, bonne nouvelle les amis, vous allez pouvoir goûter au résultat sans flinguer la moindre console puisque decrazyo a forké l'émulateur Mesen2 pour simuler le double PPU. C'est dispo en build "Dual PPU Mesen 2.1.1" sur Windows, Linux et macOS, Intel comme Apple Silicon. Vous chargez la démo, et vous voyez de vos yeux ce que donnerait une NES dopée.
Ça me rappelle vraiment pourquoi j'adore toujours la
scène homebrew NES
, 40 ans après. Ces gens sans amis, ni famille (je plaisante, humour, humour, pas taper !) qui continuent de
tordre ce hardware
dans tous les sens juste pour voir jusqu'où il peut aller, c'est fou ! Les schémas KiCad et le code sont
sur le GitHub de Decrazyo
, sous licence GPL, si vous voulez fouiller.
Matt Sephton, alias gingerbeardman, a passé une nuit d'avril à arracher un parcours de golf des entrailles d'un vieux jeu, et il en est ressorti avec une idée bien plus tordue. Vous connaissez New 3D Golf Simulation, la série de T&E Soft qui tournait sur PC-9801 dès 1989 ?
La Mega Drive en avait déjà eu quatre épisodes japonais à l'époque. Sauf que Matt a trouvé le moyen d'y faire entrer des parcours qui n'y avaient jamais mis les pieds puisqu'il a reverse-engineeré le format des données de
Matt Sephton, alias gingerbeardman, a passé une nuit d'avril à arracher un parcours de golf des entrailles d'un vieux jeu, et il en est ressorti avec une idée bien plus tordue. Vous connaissez New 3D Golf Simulation, la série de T&E Soft qui tournait sur PC-9801 dès 1989 ?
La Mega Drive en avait déjà eu quatre épisodes japonais à l'époque. Sauf que Matt a trouvé le moyen d'y faire entrer des parcours qui n'y avaient jamais mis les pieds puisqu'il a reverse-engineeré le format des données de terrain du jeu. Une fois ce format compris, vous ne lisez donc plus une cartouche, vous lisez une carte. Il a ensuite balancé tout ça dans un visualiseur Three.js dans son navigateur, et en une semaine son petit bricolage ressemblait déjà à un vrai jeu de golf 3D jouable.
À partir de là, il a pu extraire trois parcours nés ailleurs et les patcher direct dans la ROM Mega Drive. T&E Selection et Eight Lakes étaient planqués sur des disquettes additionnelles du PC-9801, et Papillon C.C. dormait carrément dans T&E Virtual Golf sorti sur le Virtual Boy de Nintendo. Des parcours Virtual Boy qui tournent sur Mega Drive, c'est pas quelque chose que j'aurais pensé voir un jour, j'avoue.
Et surtout, côté technique,
c'est une jolie leçon de débrouille
ambiance années 80 car la Mega Drive n'a pas de depth buffer pour gérer quel polygone passe devant quel autre. Du coup l'ordre de dessin est gravé à l'avance dans les données du parcours, du fond vers l'avant (le bon vieil algorithme des peintres ^^).
Et c'est précisément ce qui a mis Matt sur la piste. Comme l'ordre de tri ne collait pas avec celui du PC-9801 d'origine, cela voulait dire que quelqu'un avait retravaillé les données spécialement pour la console de Sega. Pour démêler tout ça, il a donc sorti l'artillerie du désassemblage moderne, rizin pour fouiller le binaire 68000, vasmm68k pour réassembler, et l'émulateur BlastEm pour vérifier que ses bidouilles ne plantaient pas la machine.
Et en bonus, Matt a même déterré une jolie histoire sur le jeu original. En 1989, T&E Soft n'avait pas pompé le parcours de golf Augusta de loin avec des photos, ils avaient signé un vrai contrat avec le club et bossé sur les plans officiels du parcours.
Et le club ne rigolait pas avec sa réputation car selon Matt, "Augusta a renvoyé environ 60 corrections", du genre arbres trop courts et trop espacés, fleurs trop roses, sable des bunkers de la mauvaise couleur. Le tout codé en grande partie par un seul gars, Eiji Kato, ce qui vous fait mieux comprendre pourquoi ces données valent la peine qu'on aille les déterrer 37 ans plus tard.
Mon détail préféré de ce jeu reste quand même la physique puisque le trou est trois fois trop gros, aspirant n'importe quelle balle qui passe à moins de 17 centimètres, soit le triple du rayon réel. Les balles tombent donc de bien plus loin qu'on ne le croit, ce qui est une petite triche d'ergonomie planquée là depuis trente ans que personne n'avait vraiment remarquée avant qu'on rouvre le code.
Après, je vais être clair sur l'état du chantier : ce n'est pas une ROM finie à télécharger pour ce week-end. Faut voir plutôt ça comme une démo expérimentale. Mais l'intérêt n'est pas là. Non, ce qui est beau, je trouve, c'est cette archéologie qui traite un jeu comme un site de fouilles et qui permet de mettre au jour de très belles choses enfouies dans le code.
Afska, le développeur derrière une flopée d'outils pour Game Boy Advance, a eu avec son studio [r]labs une idée géniale ! Ça s'appelle EmuDevz, et c'est un jeu vidéo dans lequel vous devez coder votre propre émulateur NES. Et pas en cliquant sur des boutons comme un loser, hein mais en pissant du vrai code pour le processeur, la puce graphique et la puce audio de la console de Nintendo.
L'émulation, normalement, c'est un truc réputé aride où vous passez des semaines le nez dans la nesdev wik
Afska, le développeur derrière une flopée d'outils pour Game Boy Advance, a eu avec son studio [r]labs une idée géniale ! Ça s'appelle EmuDevz, et c'est un jeu vidéo dans lequel vous devez coder votre propre émulateur NES. Et pas en cliquant sur des boutons comme un loser, hein mais en pissant du vrai code pour le processeur, la puce graphique et la puce audio de la console de Nintendo.
L'émulation, normalement, c'est un truc réputé aride où vous passez des semaines le nez dans la nesdev wiki à piger comment le 6502 gère ses cycles d'horloge. Et pourtant, là, tout devient clair et facile puisque vous avez un éditeur de code intégré façon shell Unix, et vous implémentez le CPU, le PPU et l'APU dans l'ordre que vous voulez. Puis au fil de votre progression, vous débloquez des ROMs et des homebrews à faire tourner dans l'émulateur que vous venez de pondre. Et pour vérifier que votre code tient la route, le jeu fournit même des tests unitaires, des tests vidéo et des tests audio.
Mais le truc qui m'a scotché dans ce "jeu", c'est le debugger. Dans celui-ci, vous avez droit à un visualiseur de mémoire, un log d'instructions, les nametables, la CHR, les sprites, les palettes, les canaux APU affichés un par un, le monitoring du contrôleur... l'arsenal complet du mec qui développe pour de vrai, mais emballé dans une interface gaming. Y'a même un tuto interactif pour apprendre l'assembleur 6502 si vous débarquez sans rien connaître...
Voilà, c'est génial pour apprendre des concepts liés à l'émulation et au développement de jeux retro. On savait déjà qu'il était possible d'
apprendre Prolog grâce aux Pokemon
ou de recréer une
carte 3dfx de zéro
et voilà que maintenant, on nous propose carrément de dompter l'émulation de la NES.
Puis surtout, une fois que vous maitriserez un peu plus, le mode libre de EmuDevz vous permettra de commencer à coder des émulateurs pour d'autres systèmes. Ah et y'a même une bande son retro-synthwave dans l'appli pour se mettre dans l'ambiance.