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..
Wiesław Šoltés
, un développeur open source spécialiste de .NET et d'Avalonia, a publié d'un coup sur son Github, plusieurs reconstitutions de Windows 3.1, 95, 98, Me, 2000, XP, Vista et même Mac OS 9 directement utilisables dans le navigateur ! Vous cliquez sur le lien, la page se charge en moins de deux secondes, et hop, vous voilà devant le Program Manager, le menu Démarrer ou le Finder.
Les huit bureaux au démarrage : Windows 3.1, 95, 98 et Me en haut, 2000, XP, Vista et Mac OS 9 en bas
Et ce ne sont pas des coquilles vides comme on le voit parfois mais de vrais OS complets. Le Windows 3.1 compte 28 applications rangées dans les groupes d'origine du Program Manager, XP en a 56, et Windows Me monte à 60 app en comptant les panneaux de configuration. Donc si vous n'avez jamais connu ces machines en vrai parce que vous êtes un.e petit.e jeune, c'est l'occasion de tripoter vous-même ce que vos aînés vous racontent depuis des années.
Le Démineur de Windows 3.1, ouvert par-dessus les groupes du Program Manager
Toutes les applis d'un même bureau partagent en plus un disque virtuel. Ainsi, sous Windows 95, un document enregistré dans Notepad apparaîtra dans l'Explorer tout comme dans l'invite MS-DOS, et l'interpréteur de commandes gère les redirections et les jokers (les *) sans soucis.
Voici par exemple le début d'une petite séquence que propose le README, à taper dans une invite de commande MS-DOS pour créer un fichier :
CD "C:\My Documents"
ECHO Hello from DOS>hello.txt
TYPE hello.txt
DIR /B *.txt
L'invite MS-DOS de Windows 95 après la séquence ci-dessus : hello.txt est créé, lu puis listé
Côté jeux, XP propose le Spider Solitaire, une Dame de pique contre trois adversaires pilotés par l'ordinateur et un flipper dont le tableau original, s'inspire de Space Cadet. Vista, quant à lui, ressort Chess Titans, Mahjong Titans, Purble Place et InkBall avec ses gadgets sur le côté, et Mac OS 9 a son Finder spatial, ses 33 tableaux de bord et sa Graphing Calculator.
Le flipper de Windows XP, une table originale inspirée de Space Cadet
Chess Titans sous Vista, avec l'horloge, le diaporama et le calendrier en gadgets
Mac OS 9 et sa Graphing Calculator, qui trace ici y = sin(x)
Maintenant, ce qui m'a intrigué, c'est comment ça peut démarrer aussi vite ???
Eh bien tout simplement parce que rien n'est émulé ! Par exemple, un émulateur comme
v86
, dont je vous parlais en 2022, traduit à la volée le code machine x86 en WebAssembly pour faire tourner Windows lui-même dans le browser. Mais ici, il n'y a ni noyau Windows ni processeur virtuel, car chaque fenêtre, chaque menu et chaque application ont été réécrits en HTML, CSS et modules JavaScript. Les fenêtres sont donc des éléments de page web ordinaires, que le navigateur affiche comme n'importe quel site.
Le code, lui, est volontairement dépouillé, avec par exemple Windows 3.1 qui n'a besoin d'aucun framework ni d'aucun bundler, ou encore le bureau de Windows 95 qui s'affiche via un simple python3 -m http.server.
Seuls le fond d'écran, les économiseurs et certaines opérations de dessin passent par le GPU en WebGPU, avec un repli sur WebGL2 puis sur Canvas 2D si votre machine ne suit pas. Et sur Windows 3.1 comme sur Mac OS 9, l'image ne se redessine que quand quelque chose change, donc un bureau au repos ne relance aucun rendu au niveau GPU.
Pour le poids, pareil, c'est super léger. Cache désactivé, chaque "OS" charge très peu de data : 183 Ko pour Windows 95, 180 Ko pour Mac OS 9 et 306 Ko pour Windows 2000. Et XP et Vista montent à 4,5 et 2,5 Mo. À titre de comparaison,
DrawingSpace
, un éditeur de diagrammes façon Visio du même auteur, écrit en C# et compilé en WebAssembly avec Uno Platform, en réclame 17 Mo.
DrawingSpace, l'éditeur de diagrammes du même auteur, écrit en C# et compilé en WebAssembly
Le revers de la médaille, vous l'aurez compris, c'est que vous n'avez pas Windows sous la main, mais sa reconstitution. Aucun programme d'origine ne s'exécute, et l'équivalence au pixel près n'a pas été établie. Pour montrer à quoi ressemblait un bureau à quelqu'un qui ne l'a pas connu, ou pour choper un peu de code afin de développer votre propre bureau Windows HTML pour y mettre votre site web, c'est parfait. Mais pour relancer un logiciel d'époque tel qu'il était, faudra passer par v86, par
Infinite Mac
pour Mac OS 9, ou encore par
RetroTick
, qui exécute les vrais .exe Windows et DOS.
Mais le plus beau morceau de tout ce que le garçon nous a sorti, c'est je trouve,
VB6 Studio Web
, publié le même jour. C'est un Visual Basic 6 dans un onglet, avec sa boîte à outils, sa fenêtre Properties, son concepteur de formulaires et un débogueur pas à pas. Vous appuyez sur F5 et le projet d'exemple (une saisie de commandes shopping) se lance aussitôt. Et le code VB n'est pas confié à un eval JavaScript, mais réellement exécuté par un compilateur et une machine virtuelle maison, avec 37 types de contrôles différents dispos.
VB6 Studio Web après un F5 : le projet d'exemple Order Entry tourne dans l'IDE
Ouvrez ensuite l'exemple Calculator par File, New Project..., puis lancez File, Make Calculator.html, et votre programme deviendra une page HTML unique qui embarquera son propre runtime. Sur l'exemple Calculator, ça m'a donné un fichier de 1,9 Mo qui s'ouvre directement depuis le disque, sans l'IDE, et qui répond bien 42 quand je lui demande de faire un 6x7 (ouais, six-seven, on soutient la cause lycéenne ici !).
Pour ceux qui ont des archives, il peut aussi ouvrir les projets .vbp et .vbg d'époque, depuis des fichiers, un dossier ou un ZIP, et il embarque même un agent de code qui pilote l'IDE avec votre propre clé OpenAI, Anthropic ou Gemini.
L'entrée voisine, "Make Calculator.exe" (Win32 AOT), va encore plus loin puisqu'un éditeur de liens PE32 et un générateur de code x86 écrits en JavaScript y fabriquent un exécutable Windows natif, sans quitter le navigateur.
Chez moi, après compilation, j'ai obtenu un fichier de 34 ko que la commande file identifie comme un véritable exécutable PE32 pour Windows. Je ne l'ai pas lancé sous un vrai Windows, mais ça devrait normalement se lancer vu que c'est assez basique comme code.
Le projet Calculator après Make Calculator.exe : la barre d'état annonce 34304 octets, code x86, contrôles natifs et GDI, sans extraction
La même calculatrice exportée en un seul fichier HTML, ouverte hors de l'IDE : 7 × 6 = 42
Bref, le mec a fait des trucs de zinzin, à se demander comment un développeur peut-il sortir autant de choses à lui tout seul ?
Probablement grâce à l'IA, puisque les projets contiennent pour la plupart un fichier .openai/hosting.json mais peu importe, même si c'est vibe codé, c'est quand même un gros boulot et la qualité est au rendez-vous.
Vos fichiers créés dans ces "OS" resteront bien sûr dans le navigateur dans un IndexedDB, donc si vous videz les données du site ou si vous changez de navigateur, votre ordinateur virtuel repartira de zéro...
Sous Windows 95, l'outil Backup exportera le disque en JSON donc il y a quand même moyen de faire un petit export si ça vous amuse et bonne nouvelle, son VB6 Studio Web est sous licence MIT, donc si vous avez encore un vieux projet VB6 qui dort sur un disque dur, vous savez maintenant où aller pour tenter de le rouvrir !
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 ^^.
Je vous ai déjà parlé des fameuses
collections de Retro-eXo
, dont le fameux eXoDOS en tête qui contient des milliers de jeux DOS, Windows 3.x, Windows 95/98 et ScummVM livrés clé en main, tout bien configurés. Sauf que sur Mac, bah pas de bol, eXo n'est pas supporté faute de volontaire pour y porter l'interface.
Alors c'est là qu'arrive
Exodium
sur son cheval blanc, qui n'est ni plus ni moins qu'un merveilleux lanceur gratuit et open source pour Mac Apple Silicon, Linux et Windows et dont la mission est de remplacer LaunchBox, l'interface Windows fournie avec les collections. Le catalogue de jeux est bien sûr livré avec l'appli, donc vous parcourez les fiches sans rien télécharger, et quand un jeu vous branche, vous cliquez simplement sur "Download" et hop, il descend des torrents officiels d'eXo tel un rafteur en manque d'adrénaline, puis se lance dans l'émulateur qui va bien (ou presque... mais je vais y revenir).
L'étagère des collections, et un jeu en cours de téléchargement
Et surtout, ça ne se limite pas à eXoDOS puisque vous avez aussi ses packs allemand, espagnol et polonais, ainsi que eXoWin3x, et eXoScummVM, où chaque jeu tourne sur la version de ScummVM qui va bien pour lui (c'est eXo qui choisit).
Quant à eXoWin9x, il boote carrément un vrai Windows 95 / 98 sous DOSBox-X ou 86Box, que l'appli va chercher avec votre premier jeu Win9x, ainsi qu'environ 2,5 Go d'images système.
Moi, ce que j'adore, c'est l'ambiance avec de la musique MT-32 et General MIDI qui fonctionne au poil, puisque les ROM Roland et la banque de sons SoundCanvas sont récupérées direct dans la collection. Les manuels, les scans de boîtes et les pubs de magazines sont là aussi, et comme les vidéos d'aperçu sont lues directement dans les archives, vous pouvez voir ce que donne le jeu, avant même de le récupérer. Et pour chaque titre, vous pouvez aussi activer un shader CRT, régler les cycles CPU ou éditer la config DOSBox à la main. Bref, c'est assez souple pour que chacun s'y retrouve.
Par contre, hors Windows, les quelques 2 400 jeux qu'eXo a réglés pour DOSBox ECE (c'est une des variantes de DOSBox) passent tous sous DOSBox Staging, avec une config traduite automatiquement. La fiche du jeu vous prévient donc que l'expérience peut "varier", et comme y'a qu'une poignée de titres qui exploitent les spécificités d'ECE, comme par exemple les réglages 3dfx Voodoo ou le pistolet GunStick, les jeux peuvent se comporter parfois bizarrement ou différemment de ce dont vous avez l'habitude. Par contre, sous Windows, c'est le vrai ECE d'eXo qui se lance, donc 0 souci !
L'autre chose à savoir, et là c'est qu'Exodium est un client BitTorrent. Donc il rejoindra l'essaim d'eXoDOS et renverra des bouts de data aux autres joueurs tant qu'il restera ouvert. Ça c'est le comportement prévu par défaut, mais si vous ne voulez rien partager, il suffit de décocher l'option lors de l'installation.
Ou plus tard de couper le partage dans les réglages réseau de eXo. L'envoi tombera alors à 1 ko/s au lieu de s'arrêter. Maintenant si vous avez déjà la collection sur un disque, sachez que le mode hors ligne ne lancera pas le client torrent.
3 jeux en cours, avec le nombre de pairs et le volume partagé
Niveau installation, le DMG macOS est réservé aux Mac Apple Silicon, donc rien pour les malheureux qui sont encore sous Mac Intel. Et comme l'appli n'est pas signée avec un Developer ID Apple, Gatekeeper vous enverra chier au premier lancement, donc levez le blocage, glissez-la dans Applications, puis tapez une fois dans un terminal :
Maintenant, sous Linux spécifiquement, Exodium n'est pas indispensable pour eXoDOS car
les patchs Linux officiels
le font déjà tourner avec leur interface exogui. Mais ça sert surtout pour eXoWin3x, eXoWin9x et eXoScummVM, qui sont totalement absents de la liste de ces patchs. Notez que sur Mac, il existe aussi
le patch non officiel de NightsPaladin
, mais il vous faudra la collection eXoDOS sur un disque ainsi que Homebrew et Python alors qu'Exodium, lui, vous laissera commencer l'aventure avec un seul jeu sans avoir à récup toute la collection !
Allez, je continue dans le retro gaming avec cette vidéo de Throaty Mumbo qui vient de sortir, où on le voit rajouter un lecteur CD à une NES. Pour rappel, Throaty Mumbo c'est le bidouilleur dont je vous avais déjà parlé qui avait fait lire
des DVD à une Dreamcast
sans toucher à la console.
Son bricolage, il l'a nommé
NESCD
tout comme son dépôt GitHub, et c'est un vrai lecteur avec, s'il vous plait, bouton d'éjection et molette de volume, tout ça placé dans un boîtier imprimé en 3D sur lequel la NES vient se caler. Cette idée lui est venue en lisant cette histoire très connue du lecteur CD-ROM qui avait été planifié pour la SNES avant que Nintendo ne rétropédale. Comme il a trouvé ça drôle, il s'est dit qu'il allait faire pareil avec la NES.
Tout ceci repose sur un microcontrôleur RP2350B posé entre un lecteur de CD IDE et une Everdrive N8 Pro, la cartouche universelle qui permet de charger n'importe quelle ROM à partir d'une carte SD. Une fois le système en place, vous glissez un CD gravé pendant que la NES est allumée sur le menu de l'Everdrive et hop, le microcontrôleur lit la ROM, l'envoie à la cartouche via USB, et le jeu démarre tout seul.
Sympa non ?
Dans sa vidéo, il montre un Super Mario Bros. CD Edition, qui est sa version à lui du jeu, avec une cinématique à l'ouverture et de la musique qui sort directement du disque. À part ça, c'est exactement le même jeu sauf, bien sûr que ce Mario-là, vous ne le trouverez nulle part, pas même dans vos brocantes ^^.
Après y'a le dépôt Github qui est très cool aussi puisqu'il contient de quoi faire pareil chez vous. Vous y trouverez le schéma du montage, le PCB, les fichiers STL du boîtier et surtout le firmware, sous licence MIT, sans oublier les scripts pour mettre votre propre ROM sur un CD.
Il y a aussi de quoi fabriquer une ROM cdplayer.nes qui est sans doute l'usage le plus pratique du projet selon l'auteur, qui regrette de ne pas y avoir pensé avant sa vidéo. Vous copiez la ROM sur la carte SD de l'Everdrive, vous la lancez depuis le menu, vous glissez un CD audio ordinaire, et la NES devient une platine CD ^^. Délire non ?
Bref, je vous laisse creuser car y'en a encore plein de petits détails à savoir avant de vous lancer, mais regardez la vidéo, c'est chouette comme bricolage.
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 !
Les progrès dans l'émulation PS5 sont fulgurants. Ce lundi 28 septembre, une démonstration montre Marvel's Wolverine, sorti le 15 septembre sur la console de Sony, se lancer déjà sur PC.
J'sais pas si vous êtes de la team
Dumbphone
, mais quand Emir Karşıyakalı tape une recherche Google sur son vieux Nokia 6300 de 2007, il se fait gentiment envoyer chier vers une mise à jour de son browser. Alors, parce qu'il en avait marre de vivre 2026 comme s'il était resté bloqué en 2007, il a codé
Claude S40
, un client Claude non officiel pour les Nokia Series 40 qui font tourner du Java.
Et le plus fou c'est que non seulement, c'est vibe codé mais qu'en plus, ça marche du feu de dieu :
Vous tapez votre question au clavier et la réponse s'affiche sur ce tout petit écran. Pour la météo ou l'actu, Claude fait sa recherche web côté serveur sans passer par le navigateur du Nokia. Il est même capable d'inscrire un rendez-vous pour vous dans l'agenda du téléphone.
Évidemment, le téléphone ne cause pas directement à l'API d'Anthropic. En fait, tout passe par un petit serveur écrit en Go, qui est proposé sous la forme d'une image Docker que vous devez héberger vous-même. Et c'est ce serveur qui conserve la clé API d'Anthropic, qui va donc découper les réponses que lui renvoie Claude pour les envoyer au téléphone qui ne lit pas plus de 8 Ko à la fois. Et ce serveur conserve les conversations durant 30 jours max.
Et c'est là que ce vieux Nokia rend la tâche difficile car il ne discute qu'en TLS 1.0 (Les boomers appellent ça "le petit cadenas"), n'envoie pas de SNI (le nom du site demandé) et ses certificats racines datent des années 90 et 2000 donc, autant dire que niveau dates de péremptions, c'est comme visiter la cave à conserves d'un survivaliste...
Le serveur est donc capable de discuter en HTTPS avec le web et de faire suivre la data chiffrée en HTTPS entre lui-même et le Nokia, grâce à un certificat auto-signé, dont la racine a été installée sur le téléphone.
Le code de Claude S40 est bien sûr libre, sous licence MIT, et côté hébergement, il suffit de mettre ça sur un petit VPS à quelques euros par mois et vous êtes tranquille. Ensuite, le reste se facture aux messages puisque chaque question, comme chaque recherche web, passe par votre clé API Claude... Donc, n'oubliez pas de mettre une petite limite de dépense dans votre console Anthropic, histoire de ne pas cramer votre compte en banque.
Par contre, l'appli n'a pour le moment été testée que sur le Nokia 6300 (RM-217) et il lui faut une carte SIM avec les données mobiles activées évidemment. Or le 6300 ne fait QUE du
GSM, GPRS et EDGE
, et
Orange coupe progressivement sa 2G
. En effet, depuis mars, 44 départements vont la perdre à partir du 6 octobre, et toute la métropole, hors zones blanches, sera sans 2G dès le 20 octobre 2026. Donc si vous êtes chez Orange, faut pas traîner pour tester car après, ça ne fonctionnera plus !! Sniiiif.
Mais rassurez-vous, Emir ne compte pas s'arrêter là puisqu'il est en train de reverser le firmware du téléphone pour contourner la couche Java et ensuite pouvoir lui faire faire ce qu'il veut. Voilà, si vous avez encore un 6300 dans un tiroir, c'est donc le bon moment de le ressortir, avant de passer à
un dumbphone compatible 4G
.
Je sais que vous étiez tous très concentrés sur les ravages de l'IA dans la littérature, mais il y a 5 jours, il s'est passé quelque chose d'incroyable que vous avez probablement manqué ! Une valkyrie naine baptisée CodexDelver a déposé l'Amulette de Yendor sur l'autel de son dieu au bout de "seulement" 37 140 tours de NetHack. Et pour une fois, aux commandes du jeu, on ne retrouve pas un no-life qui n'a pas vu le soleil depuis 2002 mais le gars sûr du moment,
GPT-6 Astra, le nouveau modèle d'OpenAI
. Et d'après celui qui a monté l'expérience, c'est la première victoire au monde d'un agent LLM sur ce jeu (on va le croire, c'est pas vérifiable).
Maintenant, pour ceux qui ne connaissent pas NetHack, c'est un jeu d'exploration de donjon sorti en 1987, 100% en caractères ASCII et où la mort est définitive. Pour gagner dans ce jeu des enfers, il faut récupérer l'Amulette dans le sanctuaire de Moloch, puis aller l'offrir à son dieu sur le plan Astral, et si j'en crois
le wiki du jeu
, certains joueurs y jouent même depuis des décennies sans jamais être arrivés à remplir cette mission.
Le plus drôle là-dedans, c'est que Kenny, le dresseur d'IA qui a réalisé l'expérience, n'a lui-même jamais gagné. Il est sur le dossier depuis janvier, et ses propres agents faits maison plafonnaient tristement au niveau 10 du donjon. Alors il a craqué et a demandé à Astra de jouer directement dans un terminal, diffusant la partie sur Twitch, et cette dernière a non seulement bien réussi mais a en plus écrit ses propres outils pour y parvenir.
La première partie a d'ailleurs bien failli être la bonne puisqu'après plus de 33 000 tours, GPT-6 Astra avait accompli le rituel des sept bougies, de la cloche et du livre, et s'apprêtait à entrer dans le sanctuaire de Moloch. Mais le Magicien de Yendor, cet enfoiré sans race, est revenu aussitôt lui voler son Orbe du Destin. Dèèèg ! Puis après elle s'est fait transformer en Slime vert au niveau 51 et n'avait rien dans son équipement pour contrer le sort.
La deuxième partie s'est arrêtée bien plus tôt puisqu'au tour 12 271, en pleine progression dans le Château, un sergent a tiré avec une baguette de mort et l'IA est tombée d'un coup, alors qu'elle avait tous ses points de vie. Elle n'avait ni résistance à la magie ni réflexion pour renvoyer le rayon.
La troisième partie, celle de la grande victoire, a duré un peu plus longtemps, du 9 au 21 septembre, pauses comprises. L'IA, forte de ses 2 précédentes expériences, y a récupéré l'épée Excalibur, puis l'amulette de réflexion qui avait tant manqué au Château. Et quand son outil a rencontré des erreurs, elle a corrigé d'elle-même son code, relancé ses tests et continué.
Toutefois, c'est sur le plan Astral que ça a le plus chauffé car ses deux dernières baguettes de mort étaient vides et Pestilence l'a frappée de maladie mortelle pendant qu'elle en rechargeait une. L'IA a alors eu Pestilence au deuxième tir, mais ses points de vie sont descendus juste après à 3 sur 200, avec heureusement une amulette de sauvegarde de vie au cou... Ouf.
Puis quelques tours plus tard, elle offrait l'Amulette à Tyr avec seulement 35 points de vie, comme le confirme
le relevé de fin de partie
. Et sur l'écran de victoire que Kenny lui a demandé de créer, elle a inscrit "Three hit points from oblivion. One offering from immortality." (à trois points de vie du néant, à une offrande de l'immortalité). Quelle poète cette IA, on sent que cette expérience d'être passée pas loin de la mort l'a marquée ! lol.
Après ce n'est pas encore un programme autonome qui a gagné car, certes, l'IA choisissait chaque action, mais avec derrière, un humain qui lançait et arrêtait les sessions + un accès libre au wiki et au code source du jeu, ainsi que des outils modifiables en pleine partie. Mais c'est un bel exploit quand même. Notez qu'un bot programmé à la main,
BotHack
, avait déjà terminé le jeu en janvier 2015 donc c'est pas non plus infaisable sans IA.
La bonne nouvelle c'est que le code des outils développé par Astra est maintenant
sur GitHub sous licence MIT
et les trois parties peuvent se rejouer au tour par tour directement sur le blog de Kenny, si vous voulez revivre l'événement avec en bonus les commentaires que l'IA diffusait en jouant.
Des développeurs parviennent à faire tourner Astro Bot et Demon’s Souls sur PC avec des émulateurs PS5. Les progrès se multiplient depuis quelques semaines et pourraient compliquer la lutte de Sony contre le piratage, alors que ces exclusivités servent encore à vendre sa console.
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 !
L'équipe derrière
suyu
, l'émulateur Nintendo Switch né des cendres de
yuzu
, a publié le début septembre une dernière version de son logiciel, puis a fermé le
dépôt
sur un ultime commit intitulé "FINAL". Et cette version d'adieu embarque un truc que j'ai trouvé intéressant. C'est un mode baptisé Recompiler, qui change totalement la façon dont le code du jeu est "traduit".
D'habitude, un émulateur traduit les instructions ARM de la console en instructions x86 au fur et à mesure que le jeu tourne. C'est ce qu'on appelle un JIT. Alors que là, le mode Recompiler fait le boulot à l'avance en prenant le code ARM64 du jeu et en le convertissant en code C.
Le
code de suyu
ne cache pas d'où vient l'idée, puisqu'il se décrit lui-même comme un moteur produisant du C portable "à la manière de N64Recomp". Grâce à cette technique de recompilation, en bout de la chaîne, vous obtenez un vrai binaire .exe sous Windows, ELF sous Linux, ou Mach-O sous macOS.
Faut savoir qu'un jeu entier, ça fait des millions de blocs de code (oui, des millions !), et réunis dans un seul fichier C, ça pèserait des centaines de mégaoctets. Soit de quoi occuper un compilateur durant des heures avec beaucoup de mémoire consommée et éventuellement un abandon par K-O technique ^^... Alors qu'en le recompilant, on peut profiter de perfs natives sans éclater la machine.
Maintenant la réalité c'est que le programme obtenu grâce à cette recompilation, ne se débrouille pas tout seul. Le JIT n'a pas vraiment disparu, mais se construit à la demande, dès que l'exécution tombe sur une adresse que l'analyse statique n'avait pas repérée (un appel indirect, typiquement). Sans ce filet de sécurité, le jeu se figerait sur un écran noir. Je vois bien comment ça marche parce que c'est ce que j'ai exploré avec mon outil de recompilation Kompote.
Et ensuite, le jeu recompilé continue de passer par la couche d'émulation de suyu pour ses services système et son GPU. Bref, on est encore loin du jeu Switch qui tournerait tout seul sur votre PC, mais je n'ai aucun doute sur le fait que ça arrivera bientôt.
Notez que les binaires téléchargeables datent tous du 4 septembre, alors que les derniers correctifs ont été committés les 12 et 13. Il faudra donc compiler le code pour profiter de cette dernière version.
Quant à savoir pourquoi le projet s'arrête maintenant, l'équipe n'en dit pas un mot mais je sais juste qu'un
avis DMCA de Nintendo
avait déjà emporté son dépôt principal en juillet 2024, et qu'un
nouvel avis du 17 août dernier
avait fait tomber d'un coup 307 dépôts dont l'adresse contenait le mot suyu.
Mais rassurez-vous, ça ne veut pas dire que l'émulation Switch s'arrête pour autant puisqu'un
fork
a repris le code dans la foulée et enchaîne déjà les versions.
Et
Eden
, le projet dont suyu descend directement, continue tranquillement sa route sur son propre serveur, loin de GitHub, avec une version publiée en juin et un dépôt encore actif à la mi-septembre. C'est donc là qu'il faut regarder si vous cherchez un émulateur Switch encore suivi.
Source : le dépôt archivé de suyu et l'article de
Wccftech
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...
Le développeur Mayuki Sawatari vient de publier
ReProgman
, un clone du Program Manager de Windows 3.1.
Ça ne vous dit rien ? C'est parce que vous êtes des bébés !
En fait, progman.exe, c'est ce truc qui servait d'interface principale à Windows avant que le menu Démarrer ne débarque avec Windows 95. Et aujourd'hui, grâce au taf de Sawatari, ça tourne aussi bien sur Windows 11 que sur macOS.
Pour ceux qui ont commencé l'informatique après 1995, faut savoir qu'avant ça, on n'avait pas de bureau, pas de barre des tâches, mais juste une grande fenêtre grise remplie de sous-fenêtres, et dans chaque sous-fenêtre y'avait des icônes de programmes alignées sur une grille. Vous double-cliquiez sur l'une d'elles, le programme se lançait, et voilà, vous aviez fait le tour de Windows !
Le groupe Main ouvert sur Windows 11, et la rangée de groupes réduits en bas de la fenêtre
Regardez bien les icônes sur cette capture : Docker, Edge et Claude rangés dans une ambiance de 1992...
Car ReProgman ne se contente pas de reproduire la déco. Au premier lancement, il scanne votre menu Démarrer (ou vos dossiers Applications si vous êtes sur Mac), transforme chaque dossier en groupe et range le tout dans son propre fichier Groups.ini. Après ça, il n'y retourne plus tout seul, et ce que vous déplacez, renommez ou supprimez dedans ne redescend jamais vers vos vrais raccourcis. Un menu permet quand même de relancer l'import à la main, et il n'ajoute alors que ce qui manque.
Du coup, vous récupérez les gestes de l'époque pour de vrai. Vous attrapez une icône, vous la lâchez dans une autre fenêtre et elle déménage, avec Ctrl enfoncé elle se copie, le menu Window vous range tout ça en cascade ou en mosaïque, et les fenêtres réduites redeviennent des icônes alignées en bas de la fenêtre principale. Même la boîte de dialogue de sortie a été refaite, à ceci près qu'elle annonce la fin de votre session ReProgman et non celle de Windows.
Maintenant, d'où ça sort comme délire ?
Hé bien, l'auteur raconte, dans un message relayé par Tom's Hardware, qu'il a simplement demandé à Claude de lui fabriquer ce clone, et que la première version obtenue en une heure était déjà plutôt correcte, même s'il a ensuite fallu rattraper les imperfections.
Ce qui est intéressant, c'est que dans son dépôt git, on trouve un document de spécification de plusieurs centaines de lignes qui décrit l'interface au pixel près, relevée sur des captures 640x480 du Windows original. Le cadre d'une fenêtre y fait 1 pixel noir, 2 pixels gris et encore 1 pixel noir, et la petite barre du menu système mesure 13 pixels sur la fenêtre principale contre 7 sur une fenêtre enfant. C'est d'ailleurs comme ça qu'on les distinguait à l'époque.... Fallait avoir l'oeil !
Si vous voulez l'essayer, ça se présente sous la forme d'un binaire autonome. Par contre sur Mac, la version distribuée n'est pas notarisée, il faudra donc lui passer un xattr -cr ReProgman.app ou utiliser
Sentinel
avant qu'elle accepte de démarrer. Ah et le code est sous licence MIT.
Le périmètre annoncé par le projet est d'ailleurs plus étroit qu'il en a l'air, puisque c'est Windows 11 en x64 et en Arm, et macOS uniquement sur Apple Silicon. Donc si vous êtes resté sur Windows 10 parce que vous aimez le risque ou sur un Mac Intel parce que vous aimez prendre votre temps, il n'y a rien pour vous amuser... Il faudra alors retourner du côté de
ce musée de vieux systèmes d'exploitation
que je vous avais montré, qui lui passe par l'émulation.
Après, je pense pas que vous y ferez votre vie mais ça vous donnera environ 30 secondes de nostalgie avant de refermer la fenêtre. C'est déjà ça de pris...