Emulation FPGA : le futur du rétro ?

FPGA, quatre lettres qui ne vous disent peut-être pas grand-chose… mais qui font tourner la tête des amateurs de rétrogaming depuis plusieurs années. Qu’il s’agisse des consoles d’Analogue (Mega SG, Super NT, Pocket, Duo…) ou bien du projet MiSTer, il semblerait qu’on assiste à un âge d’or du rétro. Mais qu’est-ce que ces projets ont-ils de si spécial ? Et comment une nouvelle approche permet-elle à la fois d’envisager une meilleure préservation des consoles et ordinateurs de notre enfance, tout en offrant une meilleure expérience que les consoles mini commercialisées ces dernières années ?

Histoire d’une disparition : comment préserver l’histoire des machines qui ont fait le jeu vidéo ?

Depuis plusieurs années, un sujet en particulier me trotte en tête : comment peut-on garantir la préservation durable et pérenne des jeux qui ont marqué mon enfance (et probablement la vôtre, si vous lisez cet article) ?

Si l’émulation classique a permis à nombre d’enfants et ados sans le sou d’expérimenter pour la première fois des systèmes qu’ils n’auraient jamais pu s’offrir — comme la Neo-Geo par exemple, je ne sais pas si Metal Slug serait une de mes séries favorites depuis 25 ans si je n’avais pas pu y jouer via NeoRageX — ce n’est pas une réponse durable et complète. Trop d’erreurs, d’imprécisions et l’impression qu’il manquait une partie de la réponse : car si des milliers de passionnés ont œuvré à la préservation des jeux au cours des dernières décennies, la question restait ouverte quant à la préservation des machines.

Qu’il s’agisse d’une désormais antique Nintendo NES (40 ans en 2023 !) ou bien plus récemment d’une Sega Saturn ou Sony PlayStation (30 ans en 2024), toutes ces machines sont faillibles. Qu’il s’agisse de la lentille d’un lecteur CD, d’un port cartouche capricieux ou bien de condensateurs à remplacer régulièrement sur la carte mère sous peine de perdre complètement la machine, ces machines qui nous ont apporté tant de joie et de réconfort ne sont pas éternelles.

Souvent cité en exemple, le cas de la “pile suicide” des systèmes arcade CPS-2 utilisés par Capcom : jusqu’au milieu des années 2010, une batterie défectueuse signifiait qu’un jeu arcade devenait irrécupérable. Un désastre pour la préservation de jeux uniquement disponible en Arcade.

Au cours des dernières années, l’avènement de nouvelles méthodes et technologies ont cependant changé la donne et il y a désormais un chemin clair vers une préservation et même une possible reproduction infinie à l’identique des consoles et ordinateurs de notre enfance.

Tout cela n’aurait jamais pu être possible sans le travail  — acharné — de nombreux passionnés.

Le rétrogaming, de plus en plus tendance

Ces dernières années, le rétrogaming est en vogue. Sortie des consoles mini de Nintendo, Sega et Sony, répliques arcades telles que la NeoGeo Mini ou bien Capcom Home Arcade, il semble que l’on voie toujours plus de nouveaux projets rétro émerger. Une tendance qui n’est pas limitée au grand public, puisque des projets plus niches tels que la PC Engine Mini, AstroCity Mini ou bien Egret II Mini voient le jour.

Nintendo en particulier a trouvé un succès retentissant avec ses mini-consoles. Au 1er janvier 2020, il s’était vendu plus de 13 millions de consoles mini, soit davantage que de Wii U. © Nintendo

Tous ces projets ne sont pas forcément des succès techniques et/ou commerciaux, mais on constate que cette résurgence du rétro s’accompagne aussi d’un intérêt fort et de plus en plus prononcé pour les sujets de préservation du jeu vidéo. Au vu des efforts de certains musées ou associations, on assiste au développement d’une approche de conservation officielle, qui dépasse les collections de fans.

On repensera notamment à l’exposition MuseoGames au début de la décennie précédente. Celle-ci mettait l’accent sur l’accès à des systèmes anciens pour tous, permettant la découverte et la transmission aux plus jeunes. ©CNAM, Trafik

À la confluence de ces deux tendances, on voit apparaître des acteurs, qui non seulement promeuvent une expérience rétro de qualité pour l’utilisateur, mais veulent aussi préserver l’héritage de périodes entières du jeu vidéo. Ayant à cœur de documenter complètement des machines qui ne sont pas éternelles, ils réalisent un travail digne de conservateurs de musée. Pour cela, des passionnés désassemblent des consoles ou des bornes d’arcade et vont même jusqu’à dessouder les puces qui en sont le cœur et les cataloguent dans le but d’en percer tous les secrets. L’objectif ? Sauvegarder pour toujours, sous forme de schémas électroniques et de code, ces systèmes afin d’en permettre la reproduction à l’identique.

Reproduction du comportement des puces de la borne d’arcade Cadash de Taito. © Furrtek

Bienvenue dans le monde du FPGA (Field Programmable Gate Array), qui a le potentiel de changer notre rapport à la manière dont on profite de ces jeux, mais aussi dont on les conserve.

“Sans vouloir glorifier les FPGA en tant que composants magiques qui solutionneraient le problème de la préservation des machines rétro, je pense que la voie et le travail de recherche qui mènent ensuite à les utiliser ont leur importance dans le domaine.”

Sean Gonsalves aka Furrtek, un des acteurs incontournables dans le domaine de l’émulation FPGA

Années 90, le Far-West de l’émulation

Afin de bien comprendre ce qu’est l’émulation FPGA et ce qui différencie cette nouvelle méthode des approches précédentes, remontons d’abord un peu dans le temps.

À la fin des années 90, certains logiciels permettent de reproduire le comportement d’une console pour en faire tourner les jeux. Peu importe la console, de la GameBoy de Nintendo (avec Virtual GameBoy) à la Neo-Geo de SNK (avec NeoRageX), ceux-ci semblent alors apparaître de partout.

Interface de l’émulateur NeoRageX, un émulateur sur lequel j’ai passé de nombreuses heures…

Tous ces programmes — dénommés émulateurs — ont en commun qu’ils ne nécessitent pas la console qu’ils cherchent à imiter. Au contraire, ils se contentent d’un matériel accessible à de plus en plus de gens à ce moment-là, un PC, pour fonctionner. Bien sûr, cela pose déjà des questions quant à la légalité du procédé. Par souci de simplicité et de brièveté, nous nous concentrerons ici sur la partie technique de ces logiciels. À noter qu’il existe plusieurs formes d’émulation. Celle-ci peut-être logicielle ou bien matérielle. Nous allons laisser la deuxième de côté pour le moment et nous pencher un peu plus sur la première.

L’émulation logicielle possède le grand avantage d’imposer moins de pré-requis sur le matériel possédé par l’utilisateur donc, mais aussi par les créateurs de tels logiciels. De ce fait, au tournant des années 2000, ces émulateurs permettent à des générations de joueurs de s’essayer à de vieux systèmes ou ceux qu’ils ne possèdent pas. Ce type d’émulation a néanmoins ses limites. Arriver à une émulation qui marche avec quelques jeux triés sur le volet est une chose. Mais proposer un logiciel avec une compatibilité avec l’ensemble des jeux du système originel est une autre paire de manches.

Sans parler de la préservation des jeux et des systèmes, pas vraiment une priorité pour les joueurs d’alors  ni pour les studios de développement d’ailleurs, qui s’en mordront parfois les doigts plus tard, se reposant sur leurs communautés pour restaurer leurs propres jeux.

Non, à cette époque, le principal attrait et challenge est de faire tourner le maximum de jeux, et ce, dans des conditions à peu près passables. L’objectif est de permettre à une personne de jouer malgré quelques bugs mineurs, artefacts graphiques ou glitchs sonores par exemple. L’émulateur UltraHLE est à ce titre un bon exemple de cette époque.

UltraHLE, véritable révolution à sa sortie. Site de UltraHLE capturé grâce à la Internet Archive Wayback Machine.

L’arrivée de cet émulateur Nintendo 64 en janvier 1999 est un moment critique. Après de nombreux faux logiciels prétendant pouvoir émuler des jeux de la puissante N64, nombreux sont ceux qui croient à une arnaque de plus. Cela pousse même des médias de l’époque tels que le site américain IGN à tester le logiciel en question. Il s’avère qu’UltraHLE était effectivement le premier émulateur à faire tourner des jeux commerciaux comme Super Mario 64, mais l’approche utilisée par les développeurs signifiait qu’il n’était pas possible de prendre n’importe quel ROM (la copie clonée du jeu original) et de la charger dans le logiciel pour y jouer. Au contraire, il s’agissait d’un processus long et complexe requérant un nombre important de changements pour chaque jeu. Seulement une vingtaine de titres seront ainsi jouables avec UltraHLE.

Devant la pression des joueurs demandant une compatibilité toujours plus importante, mais aussi et surtout la menace d’un procès avec Nintendo, les deux auteurs, connus sous les pseudonymes RealityMan et Epsilon, décident de mettre un terme au développement de UltraHLE à la fin de l’an 2000.

L’arrivée de la next gen d’alors : PS2 / Xbox / GameCube et la fin des projets amateurs

Peu à peu, au fil des années, grâce à la montée en puissance des ordinateurs que l’on retrouve dans de plus en plus de foyers, on assiste à un changement d’approche. De logiciels bricolés par 1 ou 2 amateurs, on va passer à des projets mobilisant parfois plusieurs dizaines de personnes. L’objectif ? Offrir une plus grande fidélité à l’expérience originale et toujours plus de compatibilité, demande première des utilisateurs.

Cela engendre un changement d’état d’esprit commun à tous les émulateurs logiciels du début de ce nouveau millénaire ou presque : plutôt que de proposer une expérience passable pour quelques jeux commerciaux connus, ils mettent de plus en plus en avant la fiabilité de leur émulation et l’authenticité au système original.

On peut ainsi citer mGBA pour la Game Boy Advance par Endrift, ou bien bsnes (devenu Higan par la suite) par Near pour la Super Nintendo, mais nombre d’émulateurs actuels se concentrent ainsi sur une émulation particulièrement fidèle au système d’origine, facilitant donc de possibles efforts de conservation. Un objectif explicitement visé par Near, l’auteur·rice de l’émulateur bsnes, expliquant dans cette tribune sur le site Ars Technica sa quête de précision.

BSnes, émulateur Super Nintendo visant la précision absolue par Byuu/Near, décédé·e en 2021.

Alors que l’émulation était souvent un hobby de programmeurs seuls ou en petit groupe au tournant des années 2000, cela va se transformer en de véritables projets collaboratifs. C’est qu’avec la complexification des consoles de 6ème génération (PlayStation 2, GameCube, Xbox) et l’évolution des protections anti-piratage des constructeurs, il n’est plus possible de développer un émulateur seul dans son coin.

L’émulateur Dolphin, qui a pour but le support des jeux Gamecube et Wii, est un bon exemple de cela. Créé et développé par quelques personnes de manière propriétaire au début, il sera abandonné… avant d’être repris et transformé en un projet open source. PCSX2, émulateur PS2, a une histoire similaire.

Dolphin et PCSX2, émulateurs encore actifs après plus de 20 ans de développement. En 2022, ce sont bien souvent les seules manières de rejouer à des jeux Nintendo GameCube ou Sony PlayStation 2. Création personnelle.

Ces projets sont maintenus et développés par des centaines de contributeurs bénévoles au cours des 15 dernières années. Encore en développement actif en 2022 sur PC, Mac et Android, ce sont probablement les émulateurs les plus anciens encore actifs à ce jour. On peut même dire que l’on assiste à une renaissance puisque ces émulateurs ont désormais de nouveaux objectifs avec la montée en puissance des smartphones ainsi que l’arrivée des Mac avec puce M1 complètement conçue en interne par Apple.

FPG-Quoi ? C’est un nouveau genre de RPG ça ?

Ces dernières années, en plus de projets d’émulation logicielle comme ceux mentionnés, on assiste à l’émergence d’un nouveau type d’émulation.

Au lieu de créer un logiciel essayant de reproduire le fonctionnement d’un système (console ou borne d’arcade), pourquoi ne pas copier complètement le système entier ? Le but est d’arriver à une émulation matérielle des systèmes qui permet alors de reproduire la manière dont le système marche, via ce qu’on appelle des puces FPGA. Arriver à une émulation totalement fidèle via logiciel peut s’avérer extrêmement complexe. De plus, cela ne résout pas la question de la préservation des vieux systèmes, devenue un vrai enjeu ces dernières années. À ces deux problématiques, les puces FPGA apportent une solution.

Pour les émulateurs des années 90, parvenir à faire tourner un jeu était un petit miracle. Répliquer le comportement de la console à partir d’une poignée de jeux — sans aucune documentation — était un objectif quasi impossible. Heureusement, c’est précisément là la force des puces FPGA. À l’aide de consoles encore fonctionnelles, il s’agit plutôt de “cloner” leur fonctionnement, puce par puce. Si vous ne vous représentez pas le travail de titan que cela peut être, alors voilà ce que représente uniquement le processeur de la toute première GameBoy, documenté par Furrtek. 

Un boulot de plus de 191 heures, complètement disponible sur GitHub.

En plus de représenter les centaines de traces du processeur (DMG-001) de la Game Boy, la documentation s’accompagne de plus de 36 pages de schémas électriques. © Furrtek.

Comme mentionné plus tôt, la documentation des consoles constitue les “bibles” des constructeurs de machines. Elles sont donc précieusement gardées secrètes… à moins de fuites comme récemment avec Nintendo et l’affaire Gigaleak. Résultat du piratage d’une entreprise partenaire de Nintendo, on a pu voir apparaître sur le web tous les diagrammes et schémas électroniques de la Wii.

À noter que ce véritable butin de données n’est cependant d’aucune utilité pour les équipes derrière certains émulateurs puisqu’il s’agit de code copyrighté. Il faut donc trouver d’autres manières d’implémenter les fonctionnalités recherchées sans recourir à ces fuites. Pourquoi ? Eh bien, s’il est possible pour les constructeurs tels que Nintendo de copyrighter les jeux, firmwares et systèmes d’exploitation de leurs machines, il n’est pas interdit de reproduire le fonctionnement logique des consoles. C’était un des enjeux du procès entre l’émulateur Bleem et Sony au début des années 2000, et qui avait conclu à la possibilité de créer un tel logiciel. Une décision qui fait encore référence aujourd’hui et sous laquelle se placent les émulateurs modernes.

Depuis plusieurs années, on assiste donc à une course à la documentation de toutes les puces des consoles encore en état dans l’espoir de pouvoir préserver des comportements uniques. Une puce sonore particulière par-ci, un accélérateur permettant des calculs vectoriels par là… Les exemples ne manquent pas et seront sûrement plus parlants.

Dans les vieilles consoles, comme la MegaDrive ou la Super Nintendo, différentes puces spécialisées s’occupent de tâches très spécifiques. On peut notamment citer la puce sonore de la Mega Drive, le Yamaha YM2612 utilisé à la perfection par Yuzo Koshiro dans Streets of Rage 2. Ou bien du côté Nintendo, le DSP-1 utilisé dans Super Mario Kart et Pilotwings pour offrir des effets de rotation en extension du fameux Mode 7 de la console.

Puce Yamaha YM2612, responsable de la gestion de l’audio sur la Mega Drive. Qui eût cru qu’une simple puce pourrait produire quelques-unes des bandes-son les plus mémorables de toute l’histoire du jeu vidéo ?

Le point commun de ces puces ? Elles sont conçues pour effectuer une seule tâche et l’effectuer à la perfection. Dénommées ASIC (Application-specific integrated circuit), une fois fabriquées, elles ne sont pas interchangeables dans leur fonction. Il n’est ainsi pas possible d’utiliser une puce son pour calculer des effets de rotation par exemple.

Les FPGA au contraire, comme leur nom complet l’indique, sont programmables. Elles sont constituées de blocs logiques, qui peuvent être présents de plusieurs milliers à plusieurs millions sur une seule puce. Elles sont dites programmables, car un développeur peut choisir de rerouter le signal à travers ces blocs de la manière qu’il le souhaite. Concrètement, cela veut dire que l’on peut dicter à la puce de reproduire matériellement, sans logiciel externe, le comportement d’une puce de Mega Drive ou de Super Nintendo. Et puisque les FPGA récents sont assez puissants, il est possible d’émuler simultanément le comportement de toutes les puces qui se trouvent normalement sur une carte mère de console !

Exemple d’une carte FPGA, ici avec un processeur Cyclone V contenant une partie reprogrammable (FPGA) ainsi qu’une partie classique (ARM).

Évidemment, il peut y avoir des dizaines de puces sur un circuit imprimé d’une console. Et le cas de l’arcade est encore plus complexe : on pense ainsi au cas du CPS-2 de Capcom ou à la Neo-Geo MVS, version arcade du système de SNK.

Une Neo-Geo MVS (avec modifications) avec le slot pour cartouches situé au-dessus du PCB.

À noter que les ASIC et les FPGA ont toutefois chacune leurs forces et leurs faiblesses. L’une n’est pas forcément automatiquement meilleure que l’autre et elles sont utilisées avec des buts différents. Si les puces FPGA sont très polyvalentes, puisque totalement reprogrammables, elles sont affreusement chères, pouvant coûter des centaines ou des milliers d’euros à l’unité ! Les ASIC à l’inverse, ne pourront jamais dévier de leur programme insufflé en usine, mais sont particulièrement bon marché : elles coûtent entre quelques dizaines de centimes à plusieurs euros (coût en milliers d’unités).

Le DSP-1 de la Super Nintendo est par exemple un ASIC (tout comme la puce YM2612 sur Mega Drive). © FFVIMan.fr

Ces deux types de puces ont donc chacune leur place dans l’industrie du jeu vidéo. Et ce depuis des décennies comme l’explique Furrtek : « Lorsqu’on parle de volumes en millions, les FPGA deviennent extrêmement chers comparés à des ASIC. C’est pour cela qu’on peut trouver des photos de prototypes de consoles ou de cartouches de jeux sur lesquelles on voit des FPGA : ils sont utilisés pour le développement. Le fait qu’ils soient reprogrammables permet de tester et de changer la logique sans avoir à commander de nouveaux ASIC (qui eux sont très chers en faibles quantités et longs à fabriquer). Une fois que la logique est validée sur FPGA, elle est convertie pour être implémentée dans un ASIC. Le fait que les blocs logiques inutilisés du FPGA et que le système de programmation sont absents fait que l’ASIC est bien plus intéressant économiquement pour la production en masse. »

Vue schématique interne d’une puce FPGA. © JJMK

Une communauté de passionnés qui se professionnalise, au service de la préservation des consoles et systèmes qui disparaissent petit à petit

C’est dans ce cadre qu’apparaissent de nouveaux acteurs. Outre-Atlantique, un nom revient sur toutes les lèvres depuis plusieurs années : Analogue. Une entreprise commercialisant des consoles rétro qui utilisent ces puces FPGA. Plus connu sous le pseudonyme Kevtris, Kevin Horton est un ingénieur qui travaillait auparavant dans le refroidissement de systèmes industriels avant de rejoindre Analogue. Depuis 2015, il travaille sur les différents projets de consoles rétro de l’entreprise.

Celle-ci a décidé de répliquer complètement — à l’identique — les systèmes rétro qu’ils ont choisi de proposer, en fournissant une réplique qui se veut exacte, au cycle d’instruction près, afin d’assurer une compatibilité avec la totalité du catalogue d’origine. Puisqu’il s’agit de créer une nouvelle Super Nintendo ou Mega Drive, on peut alors brancher ses cartouches d’origine dans ces nouvelles machines… et celles-ci fonctionnent alors parfaitement. La cartouche pense qu’il s’agit en effet d’une Super Nintendo ou Mega Drive d’origine par exemple.

L’Analogue Mega SG, une réplique de la Sega Mega Drive, mais avec sortie HDMI et propulsée par une puce FPGA Altera Cyclone V. © Analogue

Mais ces consoles néo-rétro, en plus d’offrir une émulation extrêmement fidèle sans soucis d’artefacts graphiques ou de son déformé ou distordu (typiques d’une émulation logicielle pas forcément toujours aboutie), rajoutent aussi des fonctionnalités modernes. Ainsi, elles peuvent également augmenter la définition de l’image en 1080p en interne tout en gardant une image fidèle à l’original. Pourvues d’un port HDMI pour se brancher sur un téléviseur récent, ces consoles (comme la Mega SG ou la Super NT, un autre modèle d’Analogue, une réplique de la Super Nintendo) offrent le meilleur des deux mondes : fidélité à l’original et confort moderne.

Avec ces consoles, il est par exemple possible de choisir parmi différentes options d’upscale afin d’augmenter la définition interne de l’image directement depuis la console. © Arekuse

Mais pour en arriver à l’émulation parfaite des différents systèmes, il faut effectuer un travail de titan. Afin de reproduire parfaitement une console, il faut avoir une connaissance absolue des différentes puces qui composent la console d’origine. C’est là qu’on se rend compte de l’ampleur de la tâche accomplie par des acteurs commerciaux comme Analogue, mais aussi et surtout par des passionnés. À ce titre, la France n’est pas dépourvue de talents, comme Sean Gonsalves par exemple, plus connu sous le pseudonyme Furrtek.

Depuis plusieurs années, il désassemble différents systèmes tels que la Game Boy, la Neo-Geo ou la PC Engine dans le but de cataloguer et produire par retro-engineering des schémas publics permettant une meilleure compréhension, et donc reproduction, de ces systèmes. Il s’agit de documents d’une importance vitale puisque certains constructeurs n’existent plus (Commodore ou Amiga par exemple). D’autres se sont fait racheter au cours des années comme Hudson, père de la PC Engine acquis par Konami en 2012. D’autres encore comme SNK — récemment racheté par la fondation du Prince d’Arabie saoudite, mais différent de l’entreprise de l’époque — ont-ils seulement encore la documentation de systèmes vieux de plusieurs décennies ? Enfin, on voit mal les restants (tels que Nintendo) publier ces éléments, pourtant si critiques à la sauvegarde du patrimoine vidéoludique.

Un travail essentiel pour la préservation de systèmes qui finiront par ne plus marcher. Furrtek explique ainsi l’intérêt de documenter le fonctionnement des systèmes pour pouvoir les reproduire à l’avenir : “le fait de pouvoir définir le fonctionnement logique des consoles dans des langages indépendants du matériel fait […] qu’il n’y a rien besoin d’autre pour décrire précisément comment les circuits logiques fonctionnent.

Avant de s’attaquer à des chantiers d’une telle ampleur, Furrtek a déjà développé une expertise au cours des années. Ainsi, un des systèmes qu’il connaît le mieux est la Neo-Geo. En 2013, il avait par exemple proposé un adaptateur de cartouches MVS (la version arcade de la Neo-Geo) pour consoles de salon AES. Un moyen relativement abordable pour un possesseur de Neo-Geo de s’affranchir des tarifs délirants des cartouches de salon (pouvant atteindre plusieurs milliers d’euros pour les versions de salon tandis que les mêmes jeux dépassent rarement les 200 € pour les versions arcades).

Le projet Fusion, un adaptateur de cartouches MVS vers AES par Furrtek avait fait l’objet d’un financement participatif sur la plateforme Indiegogo en 2013.

Début 2020, il propose également le NeoCD SD Loader pour Neo-Geo CD. Version avec lecteur de disques de la Neo-Geo, c’est un des premiers éléments à tomber en panne. Ce kit permet donc de se passer du lecteur optique pour utiliser directement des cartes mémoires SD, plus fiables et abordables.

Le NeoCD SD Loader de Furrtek, permettant de se passer du lecteur CD de la Neo-Geo CD. © Furrtek

Mais son plus grand fait d’armes, il le doit à un projet commencé en 2016. Il travaille sur une description complète de la Neo-Geo en Verilog, un format de description des circuits électroniques au sein d’un système. Il s’agit en quelque sorte du code source, mais pour un hardware donné au lieu d’un software. Grâce à ce code, il est ainsi possible de reproduire de manière infinie le comportement de la Neo-Geo. Plus besoin donc de se reposer sur un stock de consoles qui ne va qu’en se raréfiant et de compter sur des machines qui ne seront peut-être plus fonctionnelles d’ici quelques années, malgré les soins des collectionneurs.

Le Verilog est un langage informatique qui permet de décrire en code le fonctionnement de circuits électroniques. © Steve Arar / All About Circuits

Grâce à ce travail sur la traduction des puces et des circuits qui constituent la console en Verilog, Furrtek a pu proposer fin 2019 une manière de faire tourner parfaitement les jeux de Neo-Geo sur un tout autre système, le MiSTer. Il s’agit d’un projet collaboratif de console FPGA qui fait parler de lui depuis fin 2018. En voyant les progrès réalisés, on peut se demander si l’on tient là le futur de l’émulation. Moins médiatique et “glamour” que les consoles d’Analogue qui peuvent se targuer d’être une solution prête à l’emploi avec un design attractif, il s’agit pourtant d’un principe similaire.

Le MiSTer utilise une carte de développement, le DE-10 Nano de Terasic, à la base commercialisée à des fins d’éducation et pour de petits projets.

Le DE-10 Nano, carte de développement FPGA détournée en bête de rétrogaming par le projet MiSTer.

Le DE-10 est en fait détourné de son but original pour en faire un appareil capable de se faire passer pour un grand nombre de consoles différentes. Cela permet au MiSTer d’atteindre une fidélité bien supérieure à d’autres consoles rétro comme la récente Mega Drive Mini par exemple. Cela offre également un accès à une plus grande variété de systèmes (ne se limitant pas à une seule console comme la Super Nintendo Classic) grâce justement à des passionnés comme Furrtek ayant travaillé à leur préservation et documentation.

À la fin de l’année 2019, il sort un “core” Neo-Geo, permettant de reproduire avec une précision inégalée jusque-là les jeux de cette console considérée comme la “Rolls des consoles de salon” dans les années 90. Une nouvelle qui a ravi de nombreux amateurs et attiré une nouvelle audience, intriguée par les capacités des puces FPGA au cœur du MiSTer.

Qu’il s’agisse des consoles d’Analogue, comme du projet MiSTer, les deux ont leurs avantages et inconvénients.

Du côté d’Analogue, la marque propose depuis 2016 des produits extrêmement bien finis, très simples d’utilisation, plaisants esthétiquement et avec des capacités alors inédites. Mais ceux-ci sont également plutôt chers, souvent plusieurs centaines d’euros, et surtout peu disponibles. En effet, au lancement de presque chaque nouvelle console, on constate une rupture de stock quasi immédiate qui laisse un mauvais goût dans la bouche des amateurs de rétrogaming. S’agit-il d’une entreprise débordée par le nombre de commandes, ou bien cela fait-il partie du plan de communication de la marque afin de souligner le côté exclusif des produits d’Analogue ? Dur à dire. En août 2020, l’ouverture des précommandes de l’Analogue Pocket avait fait de nombreux déçus, incapables de s’en procurer une, dont l’acteur de cinéma Eljiah Wood.

Par contraste, MiSTer incarne presque tout ce que ne sont pas les produits d’Analogue. Déjà, il n’est pas spécialement beau puisqu’il s’agit d’une carte nue requérant un boîtier. Pas vraiment plug’n’play non plus puisqu’il faudra installer le système d’exploitation de celui-ci vous-même. Enfin, il vous faut décider si vous souhaitez ajouter à la carte de base des composants optionnels comme une barrette de mémoire requise pour certains systèmes (comme la Neo-Geo) ou pour avoir plusieurs sorties audio/vidéo par exemple. Tout cela n’est pas très difficile dans l’absolu, mais on ne peut pas simplement brancher un MiSTer à sa télévision, utiliser ses cartouches directement comme sur Analogue et jouer instantanément.

De son côté, la plus grande force du MiSTer est sans conteste qu’il s’agit d’une plateforme ouverte et communautaire. Celle-ci est constamment mise à jour avec de nouveaux systèmes supportés, pour un coût qui s’en retrouve donc de plus en plus raisonnable (environ 150 € avec une barrette de mémoire contre 200 à 500 € pour une console d’Analogue, si vous parvenez à en acheter une, les tarifs sur eBay et autres sites étant bien plus élevés encore).

Il s’agit donc clairement de deux philosophies différentes, l’un privilégiant une solution clé en main, mais pas forcément abordable pour toutes les bourses. L’autre sera plus abordable et peut-être plus fun aussi pour ceux qui ont une âme de bidouilleur.

Mais en effectuant des recherches et en discutant avec Furrtek, une chose est claire : le MiSTer est le fruit du hasard. Un projet open source fédérant une communauté de passionnés de plus en plus importante issu d’un matériel qui n’est à la base pas du tout pensé pour le marché du jeu vidéo : « Il est clair pour moi que le MiSTer est un heureux accident. À la base, c’est une carte de développement pour les écoles qui a pour seule vocation de fournir une plateforme d’apprentissage à prix bas (et peut-être aussi pour placer une marque devant les yeux des étudiants ;))

Une renaissance du rétro au bon vouloir de quelques grands industriels ?

Comme le laisse entendre Furrtek, le prix relativement abordable des cartes FPGA utilisées dans le cadre du MiSTer (environ une centaine de dollars/euros pour un DE-10 Nano) trouve son explication économique assez rapidement quand on s’intéresse d’un peu plus près aux entreprises produisant ce type de puces.

Car ces puces programmables ne sont pas une chose aisée à concevoir et il n’y a d’ailleurs que quelques acteurs majeurs dans ce domaine, tous américains : Altera entreprise pionnière du domaine, fondée en 1983, Xilinx et Actel (devenu MicroSemi). Pouvant coûter plusieurs milliers de dollars, ces puces ne représentaient pas une alternative spécialement pratique et financièrement abordable pour l’émulation de consoles. À un prix aussi élevé, ce serait certes un bel exploit technique, mais qui pourrait s’offrir un tel matériel, mis à part quelques amateurs millionnaires ?

À la base, les cartes FPGA ne sont pas vraiment abordables pour un particulier. Quelques exemples de cartes haut de gamme. © Terasic

Ce prix se justifie aisément puisque ces cartes ne sont, à la base, pas vendues pour satisfaire les amateurs d’émulation parfaite, mais plutôt pour des applications dans l’automobile ou l’aéronautique. Ce n’est plus le cas de nos jours puisque Altera propose des puces comme le Cyclone V dans des produits coûtant environ 100 $. Si ces kits de développement sont vendus à un prix relativement abordable, ce n’est pas seulement, car il s’agit d’une version d’entrée de gamme de cartes bien plus onéreuses. Mais aussi parce que Altera — dont la puce Cyclone V est au cœur du DE-10 Nano — est subventionné par un géant de l’industrie souhaitant imposer sa plateforme de développement : Intel.

En effet, il y a quelques années, le géant des processeurs PC a racheté Altera pour 17 milliards de dollars. On retrouve donc des kits, comme le DE-10 Nano de Terasic, presque prêts à l’emploi, à 130 $. Ces acteurs et technologies sont d’un grand intérêt pour les grandes entreprises comme Intel. En effet, ils sont au cœur d’industries tout autre que le jeu vidéo, comme l’indique Furrtek “[Ils sont] essentiels dans de nombreuses industries qui brassent énormément d’argent (militaire, aérospatiale…).« 

On les retrouve par exemple dans certains avions de chasse ou bien dans les antennes relais des réseaux mobiles 5G quand il n’existe pas encore de puces ASIC moins chères pour le moment. Ils fournissent de plus aux opérateurs la possibilité de reprogrammer les puces en cas de besoin. Fin 2020 par exemple, Xilinx, un autre grand nom du domaine, annonçait son rachat par AMD pour 35 milliards de dollars.

Annoncé fin 2020 et complété début 2022, AMD s’est offert l’autre grand nom du marché des FPGA, Xilinx.

Mais si demain ces grands acteurs se désintéressent du marché FPGA, peut-on encore espérer de nouvelles plateformes abordables permettant l’émergence de projets comme le MiSTer ? Pour Furrtek, il y a peu de risques de les voir disparaître et même si c’était le cas, ce ne serait pas forcément un problème :

“Le fait qu’elle n’ait pas été conçue comme une console de jeu n’est pas un problème (la preuve !), mais le fait qu’elle soit fabriquée par une entreprise qui n’a rien à voir avec le jeu vidéo fait que la plateforme pourrait très bien disparaître, même si des milliers de personnes voudraient encore se la procurer. Il serait toujours possible pour une autre ou une nouvelle entreprise de fabriquer de nouveaux DE-10 Nano, les schémas sont disponibles publiquement et le design est assez « générique » pour être reproduit sans risquer de procès, mais sans l’avantage que Terasic ont au niveau du coût d’achat des composants Altera/Intel, le prix risque d’être bien différent…”

Ici encore, l’utilisation de formats ouverts et indépendants d’un quelconque constructeur comme le Verilog prouvent leur utilité. Puisqu’il est possible de décrire le fonctionnement de systèmes (et donc de nos chères consoles et bornes d’arcade) de manière abstraite dans un langage qui est un standard ouvert, alors il s’agit peut-être de la clé pour s’assurer que l’histoire du jeu vidéo puisse être durablement conservée. Cela assure ainsi la possibilité de contourner une entreprise un peu trop cupide, cherchant à maximiser ses profits : “Le fait de pouvoir définir le fonctionnement logique des consoles dans des langages indépendants du matériel fait que même si les FPGA venaient à disparaître, ou qu’Intel ou AMD augmentent leurs prix de 500 %, les fichiers eux seront toujours d’utilité. Non seulement, car ils peuvent être copiés à l’infini bien sûr, mais parce qu’il n’y a rien besoin d’autre pour décrire précisément comment les circuits logiques fonctionnent.”

De fait, en se projetant dans le futur, avec de tels fichiers, on pourrait alors imaginer un retour à l’émulation logicielle qui n’aurait besoin que de ces fichiers pour reproduire parfaitement un système donné. Une sorte de retour aux débuts de l’émulation du jeu vidéo des années 90 qui n’est cependant pas près d’arriver, faute de puissance… pour le moment.

Il serait donc techniquement possible de concevoir un émulateur (logiciel) qui lirait ces fichiers pour devenir une sorte d’émulateur-de-FPGA sur ordinateur. C’est d’ailleurs exactement ce qui se passe quand on utilise un simulateur pour tester la logique avant de programmer un FPGA. Le seul souci, c’est qu’à titre d’exemple, mon ordinateur plutôt récent qui simule le core Neo Geo a besoin d’environ 20 minutes pour produire l’équivalent d’une seconde de vidéo et d’audio…

Furrtek
Aucun commentaire

Laisser un commentaire

Votre adresse email ne sera pas rendue publique.