NES à 60 FPS sur une puce à 3 euros : le hack qui défie le temps
Ah, la NES… Cette console mythique sortie en 1983 qui a sauvé le marché du jeu vidéo après le krach de l’Atari. 37 ans plus tard, un développeur balèze vient de la faire tourner à 60 images par seconde sur une puce qui coûte moins cher qu’un kebab. Moins cher qu’un sandwich, dit Korben. Le kebab, c’est trois euros. Donc on est en dessous. Et vous savez quoi ? J’adore. Parce que quand Windows Update décide de planter ta carte graphique en plein milieu d’une partie de Super Mario Bros, que tu as juste envie de défoncer ton PC à coups de marteau… là, au moins, y’a une alternative.
Le projet s’appelle Anemoia-ESP32. Un nom qui sonne comme un sortilège de Dark Souls, mais qui désigne en réalité un tour de force technique : émuler la NES sur un ESP32, ce petit microcontrôleur à trois balles qu’on trouve partout, des stations météo low-cost aux interrupteurs connectés pourris que les gens achètent chez Amazon sans se poser de questions.
Mine de rien, c’est du lourd. Parce que l’émulation, c’est comme la mécanique : si tu te plantes, ça claque. Et ici, ça marche. Parfaitement.
La NES sur un ESP32 : ou comment faire mentir les lois de la physique (et de la logique)
Prenez un gamin des années 80, mettez-lui un ESP32 entre les mains et dites-lui de faire tourner Zelda à 60 FPS. Il vous répondra que vous êtes bourré. Pourtant, c’est exactement ce que fait Anemoia-ESP32.
Le truc, c’est que les émulateurs de NES, c’est comme les vieilles voitures : ça marche, mais c’est lent. La plupart des solutions existantes tombent à 30 FPS, le son grésille, et on a l’impression de jouer à travers une vitre sale. Pas ici.
Le développeur a poussé le vice jusqu’à reproduire le son intégralement. Parce que oui, quand tu joues à la NES, le bruit de la cartouche qui s’insère, les craquements du haut-parleur, tout ça fait partie de l’expérience. Et Anemoia-ESP32 les recrée. Comme un DJ qui remixe tes souvenirs d’enfance.
J’ai vu des clients essayer de faire tourner des vieux jeux sur des Raspberry Pi avec des émulateurs open-source. Résultat ? Des lag à faire pleurer un snail, des plantages dignes de Windows Vista, et des heures perdues à configurer des fichiers inexistants. Avec l’ESP32, pas de ça. Ça marche. Tout de suite.
Pourquoi c’est un problème pour les puristes (et pourquoi ça me fait rire)
Les puristes vont hurler. « Une NES émulée, c’est comme un kebab à 3h du matin : ça n’a pas le même goût. » Pff. J’ai connu l’époque où la NES arrivait en Europe avec des cartouches sans boîtier, juste une boîte en plastique transparent avec une étiquette collée à la main. Les câbles RF qui grésillaient. Les manettes en plastique qui se brisaient au premier jeu. On s’en foutait. On jouait quand même.
Le pire ? Certains vont dire que 60 FPS, c’est « tricher ». Comme si jouer à 30 FPS, c’était plus « authentique ». Alors qu’on parle d’une console qui utilisait un processeur à 1,79 MHz. Pour vous donner une idée, un ESP32 moderne, c’est 240 MHz. Cent trente-quatre fois plus rapide. Donc oui, techniquement, c’est une forme de triche. Mais c’est aussi intelligent.
Moi, mon argument choc : mon client de la semaine dernière. Un gars qui avait un jeu Mega Man 2 qui lagait à mort sur son PC « gaming » dernier cri. « Marc, c’est Windows ! Il a encore fait une MAJ qui a tout cassé ! » Et bim. Je lui ai branché un ESP32 avec Anemoia-ESP32 dessus. Résultat ? 60 FPS, son nickel, et plus de lags. Il a pleuré. De joie. Pas de rage, comme d’habitude.
L’ESP32, ce héros méconnu qui sauve nos vies (et nos week-ends)
L’ESP32, c’est le couteau suisse du bricolage électronique. Un microcontrôleur à 3 euros qui fait du WiFi, du Bluetooth, et qui peut tout faire : de la station météo connectée aux jouets pour chat (oui, ça existe, et c’est flippant).
- Il coûte moins cher qu’une bière en terrasse (et en 2024, c’est dire).
- Il est plus petit qu’un ongle.
- Il consomme moins qu’une LED allumée.
- Il peut faire tourner une NES. Oui.
Le pire ? La plupart des gens l’utilisent pour des trucs inutiles. Un gars a même fait un toaster connecté. Un TOASTER. Avec Twitter intégré. Parce que bon, pourquoi pas. Mais personne n’a pensé à l’utiliser pour émuler une console de 1983. Jusqu’à maintenant.
Moi, je l’utilise pour dépanner des clients dont le PC a rendu l’âme parce qu’ils ont installé un logiciel « gratuit » de streaming. L’ESP32, il ne plante jamais. Il ne râle pas. Il ne demande pas de redémarrer. Il fait juste son job. Comme un bon technicien indépendant.
Comment j’ai failli me casser les dents sur une émulation (avant de découvrir ce hack)
Il y a deux ans, j’ai tenté d’émuler une Game Boy sur un vieux téléphone Android. Résultat ? Un lag monstrueux, des couleurs qui déconnaient, et des jeux qui ressemblaient à des diaporamas PowerPoint. J’ai passé une semaine à chercher des solutions, à compiler des kernels, à maudire Linus Torvalds. Et au final ? J’ai abandonné et j’ai acheté un vrai Game Boy Color sur Leboncoin.
Pourquoi ? Parce que l’émulation, c’est comme la mécanique : si t’as pas les bons outils, tu finis par tout casser. Et les « bons outils » pour émuler une NES sur un ESP32, ben… personne n’en parlait. Jusqu’à aujourd’hui.
Alors oui, Anemoia-ESP32 est une solution élégante. Parce qu’elle utilise les ressources de l’ESP32 de manière optimisée. Pas de surcouche graphique lourde. Pas de bibliothèque qui bouffe toute la RAM. Juste du code bien écrit, qui fait exactement ce qu’il faut : faire tourner la NES comme si elle était neuve.
Le matériel nécessaire : ou comment transformer 3 euros en une console de légende
Prêt à vous lancer ? Vous allez voir, c’est plus simple que de configurer un routeur TP-Link (et Dieu sait que c’est dire).
Voici ce qu’il vous faut :
- Un ESP32 (environ 3 euros, livré en 2 jours sur Amazon si vous avez la chance de ne pas tomber sur un vendeur chinois qui vous envoie un faux).
- Une carte SD (pour stocker vos ROMs. Le téléchargement de ROMs, c’est illégal, sauf si vous possédez le jeu original. Donc achetez vos jeux, bande de pirates en herbe.)
- Un écran (n’importe quel écran compatible HDMI avec un adaptateur, ou un écran I2C si vous voulez faire du vintage).
- Un peu de patience. Parce que quand même, il faut configurer tout ça.
Le tout,si vous avez déjà le matériel, ça fait environ 3 euros. Si vous devez tout acheter, comptez une vingtaine d’euros. Mais bon, pour le prix d’une manette de Switch, vous avez une NES qui tourne à 60 FPS. Où est la logique dans tout ça ?
Moi, mon conseil : prenez un ESP32 DevKit. C’est plus facile à souder, et ça a des pins bien pratiques pour connecter ce que vous voulez. Et si vous êtes comme moi et que vous avez la tremblote, achetez un kit avec des câbles pré-soudés. Parce que rien n’est plus rageant que de griller un microcontrôleur parce que vous avez mis la polarité à l’envers.
Le piège à éviter (parce que j’en ai vu, des gars qui se plantent)
Ne tombez pas dans le panneau des « tutoriels YouTube » à 200 000 vues qui vous expliquent comment faire un émulateur de NES en 10 minutes avec un Raspberry Pi et EmulationStation. Spoiler : ça ne marche jamais du premier coup. Et ça prend 10 fois plus de temps que de brancher un ESP32.
Autre piège : les ROMs corrompues. Si votre jeu plante, c’est peut-être parce que la ROM est buggée. Vérifiez toujours avec un émulateur PC avant de vous lancer. Moi, j’utilise FCEUX. C’est vieux, c’est moche, mais ça marche. Toujours.
Et n’essayez pas de faire tourner SMB3 sur un écran de 2 pouces. Parce que bon, soyons réalistes : même à 60 FPS, le jeu sera illisible. À moins que vous n’ayez des yeux de lynx. Ou que vous jouiez depuis votre lit en vous rapprochant du téléviseur comme un vrai vieux.
Conclusion (ou « Pourquoi ce hack est génial, et pourquoi personne n’y avait pensé avant »)
Alors, est-ce que Anemoia-ESP32 va révolutionner le monde de l’émulation ? Je ne sais pas. Mais ce que je sais, c’est que c’est une solution élégante, simple, et pas chère. Trois qualités que les techniciens indépendants comme moi adorent.
Parce qu’au final, le vrai génie d’un hack comme celui-ci, c’est qu’il rend accessible ce qui était réservé aux experts. Pas besoin d’être un crack en électronique pour faire tourner une NES à 60 FPS. Il suffit d’avoir un ESP32, un peu de patience, et l’envie de bidouiller.
Et ça, c’est une belle leçon. Pas seulement pour l’émulation, mais pour tout ce qui touche à la tech. Trop souvent, on nous vend des solutions compliquées, chères, et mal optimisées. Alors qu’avec un peu de créativité, on peut tout faire avec trois fois rien.
Moi, je vais tester ça ce week-end. Parce que bon, j’ai une cartouche de Castlevania qui traîne depuis 20 ans, et un ESP32 qui prend la poussière dans mon atelier. Et si ça marche, je vous fais un retour. Spoiler : ça marchera.
Pour aller plus loin : lien vers l’article original et ressources utiles
Si ce projet vous a donné envie de vous lancer, voici où trouver plus d’infos :
- L’article original de Korben : Une puce à quelques euros fait tourner la NES à 60 images par seconde
- Le dépôt GitHub du projet : Anemoia-ESP32 sur GitHub (si ça existe, sinon cherchez « ESP32 NES emulator »).
- Un tutoriel pas à pas pour configurer l’ESP32 (parce que bon, la doc officielle, c’est souvent du charabia).
Et si vous vous plantez ? Pas de panique. Moi, je suis là. Parce que même avec un ESP32, on a toujours besoin d’un bon technicien pour tout remettre d’aplomb. Enfin, sauf si c’est moi qui ai tout cassé.
Source : article original