Si vous n'avez pas connu la scène de l'émulation à la fin des années 90, vous avez peut-être vu passer quelques news parlant d'un programme nommé "SNESticle" sans comprendre bien pourquoi ce dernier provoque tant d'excitation chez certains.
Établissons le contexte : en 1996, le PC est désormais établi en solide machine de jeu, Intel vend du Pentium par camions, la concurrence n'est pas seulement AMD mais également Cyrix, et pour le consommateur le marché bouge vite. Très vite. En fait, trop vite.
Il était, à la fin des 90s, ruineux d'être joueur sur PC. Les machines évoluaient très rapidement, les processeurs bien sûr, mais c'est également l'époque de l'explosion des cartes accélératrices 3D. Formats (3Dfx, PowerVR), API (Glide, OpenGL, Direct3D), le bordel.
Une machine achetée une dizaine de milliers de francs début 96 (plus de 2100 Euros avec l'inflation) est souvent dépassée dix-huit mois plus tard, parfois moins. Les jeux récents tournent mal dessus, voire même pas du tout, faute de carte accélératrice 3D. Ça fait mal.
C'est difficile à imaginer de nos jours, mais j'ai vécu le problème et je vous garantis que me pointer face à mes parents moins de deux ans après l'achat pour leur dire que mon PC était bon pour la benne parce que les derniers jeux ne tournaient pas, ils l'ont assez mal pris.
Du coup pas de nouveau PC, donc l'obligation de se pencher sur autre chose que les jeux récents. Dans mon cas, ce furent les oldies, Linux, et une catégorie de programmes qui à l'époque étaient très peu connus y compris des amateurs, les émulateurs.
C'est PC Team #18 de Novembre 1996 qui me fait découvrir ce concept, jusqu'ici inimaginable : avec un PC, on peut en théorie jouer aux jeux NES, Master System, Megadrive... et même Super Nintendo. Le rêve absolu face aux screenshots, pour moi qui n'avais pas Internet. https://t.co/x4OMaAE6NO
Après avoir récupéré quelques roms par des moyens plus ou moins avouables, je lance les émulateurs fournis sur le CD-ROM du magazine (eh oui à l'époque les magazines filaient des softs sur CD pour les pauvres qui n'avaient pas le net) et là le miracle s'accomplit. Presque.
J'arrive en effet à lancer les jeux via les émulateurs, mais au format timbre poste dans une fenêtre Windows pour jouer à pleine vitesse à la NES / MasterSystem. En plein écran ça rame, les API Windows 95 de l'époque n'étant pas super au point et étirant l'image salement.
Mais qu'importe, à l'époque cela suffit à m'émerveiller. Je joue à The Legend of Zelda sur mon PC, bon sang ! Tant pis si iNES, l'émulateur en question, affiche un gros "iNES DEMO" en caractères rouges au milieu de l'écran. Et qu'il n'y a pas de son. Je suis refait.
Dès lors, je suivrai avec assiduité la scène, lisant régulièrement des sites comme Dave's Videogame Classics ou Zophar's Domain. J'essaie tout ce qui sort, principalement pour émuler NES, Master ou Game Boy vu que je n'ose même pas rêver d'émuler de la 16bits.
Un jour d'avril 1997 débarque un programme qui va redéfinir la scène toute entière. Un émulateur si performant, qu'il mettra une claque à la totalité des émulateurs existants. Il est l'œuvre d'un hacker nommé Sardu (pas Michel) au sein de Bloodlust Software.
Ce programme s'appelle NESticle et derrière le jeu de mots graveleux se cache tout simplement la nouvelle référence en matière d'émulation NES. Entièrement en C++ et en Assembleur, NESticle était incroyablement rapide même sur des machines modestes.
Mais outre sa rapidité, NESticle proposait un tas d'options assez folles. On pouvait enregistrer des vidéos. On pouvait modifier les palettes de couleur. NESticle a inventé les Save States. NESticle a démocratisé le rom hacking. NESticle a rendu l'émulation accessible.
Malgré des problèmes internes à l'équipe (et le vol du code source de NESticle) Sardu continuera son travail et sortira deux autres émulateurs. Le premier, Genecyst, était un émulateur Megadrive tout aussi fabuleux que NESticle.
Non content d'apporter un tas de fonctionnalités diverses, il était lui aussi redoutablement rapide et permettait d'émuler la 16bits de Sega sur des machines modestes. Mon Pentium 90 faisait sans aucun problème tourner même les jeux Megadrive les plus exigeants.
Mais le coup de grâce fut le troisième, et malheureusement final, émulateur de Bloodlust : Callus. Moins connu que les deux précédents, et pourtant un incroyable tour de force. Callus est un émulateur de CPS-1, le hardware d'arcade de Capcom derrière Street Fighter II.
À l'époque, MAME est encore à ses balbutiements. L'arcade est un domaine mal émulé, et surtout les perfs ne sont pas là. Callus débarque et fait tourner de manière fluide les hits d'arcade de Capcom : entre autres Final Fight, Ghouls'n Ghosts, Strider et évidemment SF2.
Après trois coups aussi extraordinaire, les rumeurs vont bon train sur un éventuel SNESticle, parce que SNES97, si abouti qu'il soit, demande encore pas mal de puissance. ZSNES n'est pas encore très avancé. Et tout le monde espère que Sardu va commettre un hold-up.
J'ai bien écrit SNES97, ce n'est pas une typo, le projet deviendra SNES9X l'année suivante.
Malheureusement, peut-être lassé des remous internes de la communauté, et possiblement affecté par le vol initial du code source de NESticle, Sardu met un terme à ses émulateurs et disparait de la scène après avoir mis à jour leurs ultimes versions.
D'autres émulateurs, plus précis, plus souvent mis à jour, apparaissent. Et surtout, les processeurs devenant de plus en plus véloces, plus personne n'essaye d'émuler une NES sur un 486. Les émulateurs de Sardu sont de moins en moins utilisés.
Pourtant sa légende subsiste chez certains nostalgiques, et en 2017 un article de Vice https://t.co/X77WEkARf9 raconte l'histoire de Sardu. Il note que le programmeur, désormais, travaille pour EA. Et qu'un jeu Gamecube, Fight Night Round 2, inclut Super Punch Out en déblocable.
En extrayant les données du jeu via l'émulateur Dolphin, il est possible d'y trouver la chaine de caractères "SNESticle" et "Icer Addis", le véritable nom de Sardu. L'émulateur existe donc réellement, et récemment un développeur a décidé d'en extraire le code source.
Il a pour celà utilisé Ghidra, un outil open source développé par la NSA et très utile pour l'analyse logicielle dans le cadre de la sécurité informatique. En décompilant le code du jeu Gamecube, il a réussi à recréer une version fonctionnelle de SNESticle https://t.co/XcWTBLad3K
Il ainsi découvert que SNESticle pouvait non seulement lancer Super Punch-Out, comme on le savait, mais également une foultitude d'autres jeux SNES dont certains utilisent des fonctions *absentes* de Super Punch-Out. Addis avait bien fait son travail.
Ultime coup de théatre ? Addis en personne a finalement publié le code source de son émulateur sur Github. Fidèle à lui-même, il y adresse un message à tous les gens qui se sont acharnés à retrouver ce code : https://t.co/hGKii02MrT
Fin.