Bienvenue sur la page officielle de JadeNES. Je me présente, je suis MrOlaf44. JadeNES est un projet rédigé en Visual Basic .NET 2022 ayant pour objectif d'émuler la console NES de Nintendo®. En effet, fasciné par le domaine de l'émulation, je rêve de créer mon propre émulateur depuis 2006, année à partir de laquelle j'ai découvert le domaine de l'émulation et de la programmation.
Bien que cela ne soit pas le projet le plus facile, j'ai décidé de partir depuis zéro. Après des années de recherche, d'accumulation de connaissances, de tentatives de créer un émulateur, et de peaufinage dans la maîtrise des outils de développement, j'ai en 2014 repris un projet existant nommé Mercury Project v0.02, optimisé son code, mis à jour le rendu, et publié sous le nom de Mercury Revival v0.03, avec l'aimable participation d'Emu-France pour répertorier cet émulateur sur leur site (j'avais déclaré que c'était fait en 2016, mais en vrai, c'est en 2014, je rectifie).
En Février 2022, dans un accès de courage, j'ai décidé de créer un projet d'émulateur NES cette fois-ci fonctionnel. Pas juste un frontend, ni un émulateur qui ne tourne pas du tout. Il aurait pu avoir comme nom celui de mes anciens projets: SystemNES, EmilioNES, 3xNES, EmptyNES ou ShaïNESs, mais finalement je l'ai appelé JadeNES. Et ce projet fonctionne, car il peut déjà émuler quelques démonstrations de jeux, ou des écrans titres.
JadeNES supporte le mapper #0 et #2, ainsi que le VROM. Le CPU est quasiment complet, ainsi que le PPU, qui a été corrigé une nouvelle fois dans la v0.8. Le logiciel supporte aussi la manette #1 de la NES, bien que cela soit implémenté de manière assez rudimentaire. En revanche, l'émulateur ne supporte pas l'APU de la NES (audio), ainsi que d'autres fonctionnalités diverses. Mais ne vous inquiétez pas, je travaillerai à les implémenter aussitôt que l'essentiel sera fini. Le moteur de rendu des tiles/sprites et le code du timing du VBlank sont basés sur celui de Mercury Project, j'essaierai de créer mon propre moteur en faisant du nouveau code.
Etant donné que c'est ma première tentative publiée, ne vous attendez donc pas à ce que l'émulateur fasse tourner tout le catalogue de jeux de la NES, même si certains m'ont apporté de l'aide. D'ailleurs je vais les citer de ce pas. Entre autres, je remercie l'équipe du forum de NESDev, qui a répondu à mes nombreuses questions, Ronan, mon grand-frère, et tous les codeurs qui ont fourni leur code source au grand public comme BasicNES, Mercury Project, EmilNES, Pretendo, etc.
La nouvelle version 0.8 ajoute le mapper #2 et palie les lacunes des anciennes versions de mon émulateur.
Vous pouvez télécharger les versions voulues en cliquant sur le lien ci-dessous :
Télécharger JadeNES 0.8 Alpha (23/11/2024)
Télécharger JadeNES 0.7 Alpha (23/01/2023)
Télécharger JadeNES 0.6 Alpha (23/12/2022)
Télécharger JadeNES 0.5 Alpha (31/10/2022)
Le fichier ZIP dans sa dernière version contient les fichiers suivants :
- JadeNES.exe: L'émulateur en lui-même. Cliquez dessus pour le lancer.
- LisezMoi.txt: Fichier à lire avant de lancer l'émulateur. Il raconte un peu son histoire, et combien le logiciel est livré sous la licence freeware sans garantie.
- NESEMU.DLL: Fichier DLL compilé par Visual Basic, et nécessaire au fonctionnement de l'émulateur. Ne pas égarer ce fichier, il est indispensable.
- JUNKROM.NES: Démonstration de ROM NES sous licence freeware.
- NESEMU.deps.json: Fichier également indispensable au fonctionnement, pour éviter qu'un message d'erreur apparaisse au lancement.
- NESEMU.runtimeconfig.json: Encore un fichier de 1Ko indispensable au fonctionnement. Fichtre, je n'en avais pas besoin, avant.
- j_recent.ini: Ce fichier apparaît au lancement, il contient juste la liste des ROMs récentes ouvertes par l'utilisateur. Effaçable sans risque.
- j_default.pal: Fichier binaire contenant la dernière palette extraite par l'émulateur. Ce fichier apparaîtra lorsqu'un jeu sera lancé.
Je remercie tous ceux qui ont soutenu le projet, ou qui ont rendu visite à cette page.
À la prochaine !