Ryujinx-Nextendo est un émulateur Nintendo Switch basé sur Ryujinx, auquel a été intégré nativement le support du Nextendo Network, un service en ligne privé et communautaire destiné à remplacer le service officiel de Nintendo.
Le projet reprend le cœur d’émulation de Ryujinx, notamment pour le processeur, le GPU, l’audio, les contrôles et le système de fichiers. Les modifications apportées par Nextendo concernent principalement la partie réseau et l’interface utilisateur.
L’objectif est notamment de permettre aux jeux compatibles de retrouver des fonctionnalités de jeu en ligne via le Nextendo Network, sans nécessiter de configuration manuelle particulière, de modification du fichier hosts ou de contournement SSL de la part de l’utilisateur.
Les changements sont:
New Home Launcher
– Added a new console-style home screen.
– Games are displayed as covers in a grid or carousel.
– Added online player counts directly on game covers.
– The classic game list remains available.
– Added quick-access buttons for the profile, Discord, news, Mii editor, controller settings and emulator settings.
– The preferred home view can now be saved: Home, List or Grid.
Nextendo Profile
– Added a dedicated Nextendo profile screen.
– Displays your username, friend code and profile picture.
– Added Friends, Recently Met and Play History tabs.
– Added the ability to add friends by friend code.
– Friend requests can be accepted or declined directly from the emulator.
– Players can be reported without leaving the emulator.
Mii Editor
– Fixed an issue where closing the Mii editor could leave the emulator stuck on a black screen at 0 FPS.
– Applets that close themselves now correctly return to the launcher.
Interface
– Added support for custom wallpapers on the home launcher.
– Added the ability to select a background image from Interface settings.
– The new interface is fully translated into all 20 supported languages.
– Improved localisation of relative dates and times.
Contributors
– New launcher, profile interface and Mii editor fix contributed by Mars-Hermetto.
NXEmu est un émulateur Nintendo Switch open-source écrit en C++ pour Windows. Il en est encore à un stade précoce. N3XOX1 a commencé à travailler sur NXEmu en 2018 avec des progrès lents mais constants. Maintenant qu’il affiche des graphismes, l’auteur pense que c’est le bon moment pour montrer ce qu’il a réalisé jusqu’à présent.
Les changements:
Compatibility
– Compatibility improved across a wide range of games thanks to extensive community testing and fixes.
– Numerous issues identified through testing have been addressed.
Profiles & User Management
– Added a profile manager.
– Create and manage multiple user profiles with separate save data.
– Select the active user profile.
– Assign a custom profile image or use avatars from installed firmware.
– Added support for games requiring the profile selection applet at startup.
Keyboard Applet
– Added support for the Switch keyboard applet.
– Games requiring text input can now properly display and use the virtual keyboard.
– Fixed issues where games would previously stall or use default text when requesting user input.
Compatibility Reporting
– Added the NxEmu compatibility reporting system.
– Reports can be submitted for individual games or general emulator issues.
– Reports include the NxEmu build being used.
– Added access to the reporting system directly from the emulator’s Help menu.
– Reports can be managed through the dedicated website.
Add-ons / DLC / Mods
– Added configurable add-on directories.
– Updates, DLC and mods can now be loaded without modifying the base game.
– Added per-game management of detected add-ons.
– Individual DLC and mods can be enabled or disabled.
– Added the ability to select which game update version is applied.
Linux / Android
– Added a CMake build system.
– Expanded the Linux build infrastructure.
– Added initial Android/ARM64 groundwork.
– Foundation laid for future Linux and Android versions.
Quality of Life
– Added Discord Rich Presence displaying the currently running game.
– Added FPS Unlock to disable the speed limiter.
– Improved FPS accuracy by fixing occasional 50–55 FPS drops caused by the Windows timer.
– Added controller vibration support.
– Added vibration configuration in controller settings.
– Added automatic mouse cursor hiding when idle during gameplay.
– Added direct access to save and mod folders from the UI context menu.
Next Steps
– Android build planned as the main focus for the next release.
– Continued Linux development.
– Planned multi-language support.
– Planned per-game settings.
– Planned Amiibo support.
– Continued compatibility improvements.
NeXium est un émulateur Nintendo Switch moderne, entièrement écrit en Rust, qui s’appuie sur une architecture modulaire. Il intègre un GPU basé sur Vulkan et deux JIT AArch64 interchangeables, Dynarmic et Rustarmic, que l’on peut choisir dynamiquement au moment de l’exécution. L’émulateur permet déjà de lancer des homebrews de manière jouable, et les conteneurs commerciaux déchiffrés démarrent désormais jusqu’à l’interface réelle des jeux. Chaque couche du système reste suffisamment visible et instrumentée pour être déboguée, ce qui fait de Nexium un environnement à la fois orienté usage et très adapté à l’analyse technique et au développement autour de la Switch.
Ruzu est un émulateur Nintendo Switch écrit en Rust, développé comme une expérience visant à déterminer si l’IA, via des modèles de langage (LLM), pouvait réaliser le portage complet d’un projet logiciel de très grande taille de C++ vers Rust.
Le projet est basé sur le code de yuzu/Eden et représente environ 500 000 lignes de code portées exclusivement avec l’aide de LLM, sur une période d’environ six mois. L’objectif n’était pas simplement d’obtenir un programme fonctionnel, mais de conserver au maximum la structure du projet original, avec une correspondance entre les fichiers et les différentes parties du code C++ et Rust.
Ruzu intègre notamment un kernel HLE avec ordonnanceur, fibres, IPC et services, un processeur de commandes GPU, un recompilateur de shaders et un JIT. La recompilation dynamique du code ARM est assurée par rdynarmic, un portage Rust de Dynarmic, avec des backends natifs x86-64 et ARM64. Le projet comprend également rxbyak, un portage Rust de Xbyak pour la génération de code machine x86-64.
L’émulateur est déjà capable de démarrer et d’exécuter des jeux commerciaux, avec l’objectif affiché d’atteindre les performances de l’implémentation C++ originale. Le projet reste toutefois en développement.
Ruzu dispose également d’un frontend graphique ainsi que d’un frontend en ligne de commande, et peut être compilé sous Windows, Linux, macOS et plusieurs systèmes BSD.
B’can est un émulateur de la console taïwanaise Super A’Can, développé par BillyJr et basé sur MAME 0.287.
Le projet reprend l’émulation existante de la Super A’Can et vise à corriger les problèmes encore présents, notamment au niveau de l’affichage et du son. BillyJr indique avoir repris et corrigé le code à de nombreuses reprises avec l’aide de l’IA et affirme que tous les problèmes actuellement connus ont été corrigés.
Le code source est encore en cours de nettoyage. BillyJr prévoit ensuite de soumettre les améliorations à MAME.
Un autre projet (non lié à BillyJr) d’émulation online est disponible ici.
Voici un historique de l’émulation de la Super A’Can:
Vers 2002
Mr. Lee aide à dumper le jeu 爆爆動物園 depuis une cartouche. À cette époque, la Super A’Can reste pratiquement sans recherches consacrées à son émulation.
2004
BillyJr cherche quelqu’un pour étudier la Super A’Can et contacte Tomasz Slanina (dox), développeur notamment de l’émulateur WonderSwan Cygne. Tomasz accepte de travailler sur la console.
Il confie ensuite le travail à Peter Trauner, développeur important des débuts de MAME/MESS.
17 décembre 2004
Peter Trauner commence à développer l’émulation de la Super A’Can à partir de la ROM de 爆爆動物園. La première version présente encore plusieurs problèmes, notamment au niveau du son, de la rotation, du zoom et de la communication entre les CPU 68000 et 6502.
19 décembre 2004
Peter annonce à BillyJr que 爆爆動物園 est désormais jouable.
Comme Peter ne possède pas de Super A’Can, BillyJr effectue des tests directement sur la console à Taïwan afin de lui fournir des informations sur le fonctionnement réel du matériel et de l’affichage.
Fin 2005
Peter Trauner dispose des sauvegardes de 10 jeux Super A’Can.
2010
MESS 0.136 intègre officiellement le driver Super A’Can. Wilbert Pol fait partie des contributeurs importants de cette période.
2019
Le développeur MAME Ryan Holtz entreprend une importante réorganisation de l’émulation de la Super A’Can. Il corrige notamment le comportement des sprites, le CPU sonore, le Reset et le Halt, ainsi que la communication avec les manettes. Il corrige également l’hypothèse concernant le support des troisième et quatrième joueurs.
2021
Ryan Holtz et superctr ajoutent une première version de l’émulation sonore de la Super A’Can.
2023
Ryan Holtz et wxhsplash intègrent le Boot ROM du 68000 de la console dans l’émulation.
2024
Angelo Salese commence à traiter de nombreux problèmes restants concernant notamment les Tilemaps, les Sprites, l’Overscan, les couches d’affichage, le défilement et la mémoire de sauvegarde des cartouches.
MAME 0.284
La Super A’Can est finalement classée officiellement Working dans MAME. Les deux principaux contributeurs indiqués sont Angelo Salese et Ryan Holtz.
Juillet 2026
BillyJr reprend le travail sur l’émulation en utilisant MAME 0.287 comme base, avec l’aide de l’IA. Il indique avoir repris le code plus de 50 fois et avoir corrigé tous les problèmes connus.
Le code source est encore en cours de réorganisation. Une fois ce travail terminé, BillyJr indique vouloir soumettre ses améliorations à MAME.
Les changements:
Bcan 0.0.8d
– Added support for **Gamate** handheld games, with automatic detection of known games.
– Unknown games can also be manually assigned and the selection will be remembered.
– Fixed Gamate screenshots.
– Added anti-flicker and cheat code support.
– A’Can and Gamate now have separate volume settings, which are saved independently.
– Increased the default A’Can volume.
– Added volume hotkeys and an on-screen volume bar.
– The default display mode is now **pixel-perfect**, using the original square pixels.
– Added an option to freely switch between the original square-pixel display and **4:3**.
– Screenshots and video recordings now follow the selected aspect ratio.
– Added full **command-line support**, making Bcan easier to use with external frontends.
– Added command-line options for fullscreen/windowed mode and 1x to 5x scaling.
– Fixed a major slowdown that occurred when a configured controller/joystick was not connected.
– The emulator now only displays a warning once when the configured joystick is missing, while the game continues to run normally.
– The joystick is automatically detected again when it is reconnected.
Command-line options
* `-f1` to `-f5`: fullscreen mode with 1x to 5x scaling.
* `-w1` to `-w5`: windowed mode with 1x to 5x scaling.
* `-s`: use 4:3 aspect ratio.
* `-s0`: use the original square-pixel display.
* `-h`: display command-line help.
* Without display parameters: use the settings stored in `Bcan.ini`.
Examples
– `Bcan.exe -f3 -s « F:\emulator\roms\acan\game.zip »` — launch a game in fullscreen at 3x scaling with a 4:3 aspect ratio.
– `Bcan.exe -w2 -s0 « F:\emulator\roms\acan\game.zip »` — launch a game in a 2x window using the original square-pixel display.
– `Bcan.exe « F:\emulator\roms\acan\game.zip »` — launch a game using the existing Bcan.ini settings.
Other
– Added a small Easter egg: entering the **Konami Code** when no game is running triggers a surprise.
– Fixed a speed issue in one Gamate baseball game that was causing an unpleasant high-frequency sound.
Gecko est un émulateur et débogueur multiplateforme moderne de Nintendo GameCube et Wii, entièrement développé en langage Rust.
Conçu par un développeur solo sans l’objectif de concurrencer l’incontournable Dolphin, ce projet est encore en cours de développement et peut présenter des incompatibilités selon les jeux.
Techniquement, il utilise un recompilateur à la volée basé sur Cranelift et s’appuie sur l’API moderne WGPU pour son rendu graphique, ce qui lui permet également d’être compilé en WebAssembly pour tourner directement dans un navigateur web.
En plus de lire les formats ISO, RVZ ou ZIP et de gérer les sauvegardes Wii, il se distingue par des outils très poussés pour le reverse engineering, incluant une interface de débogage élégante en egui, le support de scripts Lua et une boîte à outils pour analyser le code et les fichiers des jeux.
POM2 est un émulateur Apple II moderne et open source, capable d’émuler plusieurs machines de la famille Apple II, de l’Apple ][ original de 1977 jusqu’à l’Apple //c+ de 1988. Il vise une émulation très précise du matériel, avec un rendu vidéo synchronisé au niveau du cycle CPU.
Il prend notamment en charge l’Apple ][, ][+, //e, //e Enhanced, //c et //c+, ainsi que deux variantes PAL, dont le //c « Le Chat Mauve ».
Parmi ses particularités, POM2 propose un rendu NTSC composite, des effets CRT/phosphore, une vue 3D en voxels, le rewind, l’émulation de nombreuses cartes d’extension comme les Mockingboard, Phasor, Super Serial Card, CFFA 2.0 et Uthernet, ainsi que la prise en charge des imprimantes ImageWriter II.
L’émulateur gère de nombreux formats de disquettes et supports Apple II (.dsk, .do, .po, .nib, .2mg, .2img, .woz, .hdv) et intègre une émulation fidèle du Disk II. Il dispose également d’un support réseau via Uthernet et peut même fonctionner directement dans un navigateur grâce à WebAssembly.
Le projet KytyPS5 est un émulateur PlayStation 5 pour Windows, développé par Nmzik, qui s’appuie sur une version profondément modifiée du Kyty original créé par InoriRus. Il vise à offrir une compatibilité PS5 nettement supérieure à celle du projet initial, en se concentrant sur le démarrage des jeux, la stabilité et la prise en charge progressive des titres commerciaux. L’émulateur est conçu pour fonctionner sans modules LLE externes, ce qui simplifie son utilisation et réduit les dépendances techniques. Le développeur indique que le projet est encore en phase expérimentale, mais déjà capable de lancer certains jeux 2D et plusieurs jeux 3D, avec un objectif clair: améliorer la compatibilité avant de se concentrer sur les performances ou la précision graphique.
KytyPS5 fonctionne exclusivement sous Windows et semble optimisé en priorité pour les cartes graphiques NVIDIA, même si d’autres GPU peuvent fonctionner avec des résultats variables. Le projet adopte une approche pragmatique: il cherche d’abord à faire démarrer les jeux, quitte à sacrifier la fidélité visuelle ou la vitesse d’exécution dans les premières versions. Le code est activement développé, avec des mises à jour fréquentes, ce qui en fait l’un des projets PS5 les plus dynamiques actuellement disponibles. Le développeur met en avant une volonté de transparence, en remerciant explicitement InoriRus pour le projet original, tout en assumant une réécriture et une refonte majeure du code.
En résumé, KytyPS5 est une continuation non officielle mais assumée du premier Kyty, transformée en un émulateur PS5 moderne, plus ambitieux et plus fonctionnel, qui cherche à devenir une référence dans l’émulation de la console de Sony.
Les changements: – renderer: widen buffer readback windows
– renderer: grow repeatedly joined buffer ranges (perf)
– renderer: remove dynamic draw state from pipeline keys
Ngpcraft est un émulateur Neo Geo Pocket et Neo Geo Pocket Color qui combine la vitesse d’un cœur natif en C++ avec l’élégance d’une interface graphique en PyQt6. Son moteur est méticuleusement calibré sur le matériel d’origine, ajustant chaque cycle microprocesseur et temps d’accès à la mémoire flash pour que des jeux auto-cadencés comme Densha de Go tournent enfin à leurs 30 images par seconde réelles.
L’expérience de jeu y est particulièrement soignée grâce à une bibliothèque dynamique avec vignettes de pochettes, recherche avancée, tri par temps de jeu et gestion des favoris. La console reproduit le démarrage BIOS officiel avec sa séquence d’intro originale, garde en mémoire la pile bouton pour maintenir la date et l’horloge RTC à jour, et permet même de déclencher les alarmes intégrées aux jeux au bon moment.
Pour le confort visuel et matériel, le logiciel s’adapte à vos envies grâce à un redimensionnement fenêtré ou plein écran, divers filtres vidéo (LCD-grid, CRT, scanlines), la gestion des thèmes sombre et clair sans redémarrage, ainsi qu’une prise en charge complète des manettes Xbox (XInput) avec autofire réglable et remappage intuitif sur un schéma visuel de la console.
Côté fonctionnalités en partie, vous disposez de 8 emplacements de save states par jeu, de sauvegardes internes NVRAM, d’une option de rembobinage en direct (rewind avec tampon de 10 à 30 secondes), du pas-à-pas image par image, de la capture d’écran d’un clic (F12) et de l’accélération ou du ralenti de 0,25× à 4×. Même les cartouches noir et blanc profitent d’une palette de colorisation automatique lorsqu’elles tournent en mode Pocket Color.
Enfin, c’est un outil formidable pour le développement et la préservation de ROMs: son moteur intègre un véritable débogueur complet (points d’arrêt, inspection de la pile, recherche RAM, export audio VGM), un module d’analyse automatique testant les jeux sur 400 frames sans planter, ainsi qu’un générateur de rapports de crash ultra-détaillés en cas d’erreur sur une instruction.
KytyPlus est un fork de KytyPS5, lui-même dérivé du projet original Kyty. Il reprend son émulation de la PlayStation 5 tout en ajoutant plusieurs améliorations, notamment le support expérimental des jeux PS4 via shadPS4, le FSR 1.0, un cache Vulkan permettant de conserver les pipelines compilés et différentes optimisations destinées aux GPU intégrés (iGPU). Il permet également l’installation des fichiers PKG depuis son interface et propose une gestion unifiée des jeux PS4 et PS5. Le projet est encore en développement et de nombreux jeux peuvent rencontrer des plantages, des écrans noirs ou des problèmes graphiques.
Les changements:
New features:
🌐 Networking
Added: A real HTTP/1.1 client. sceHttpSendRequest now actually connects: DNS resolve, TCP connect, request send, and full status/headers/body response parsing over the existing netstack (16 MiB body safety cap). Games’ network worker threads no longer stall on requests that can never complete.
Added: sceHttpWaitRequest now wakes as soon as the request it watches completes, instead of idle-sleeping to the timeout.
📜 Logging
Added: Duplicate-line collapsing. Consecutive identical log lines are written once, followed by [previous message repeated N times] when a different line arrives (or on shutdown). Nothing is lost — but a runaway stub can no longer produce a multi-GB log; the same information fits in kilobytes.
Bug fixes:
🗂️ File handling (PKG / PFS)
Fixed: Zero block pointers in PFS inodes are treated as « unused » again — the v3.1 bounds-check change accidentally made them valid, which could read the superblock as file data on images that don’t terminate block lists with -1. Caught by the new parser test suite.
🎨 Graphics
Fixed: The Vulkan pipeline cache is no longer discarded after a driver update. The cache header identifies the device (vendor/device ID); the driver UUID only identifies the cache format, so the cache is now validated and reused across driver versions, with the driver validating individual entries. A .uuid sidecar file is written next to the cache for debugging.
🔧 Compatibility
Fixed: Oodle core discovery now also searches the emulator’s executable directory on Linux/macOS (dlopen does not search it natively, unlike Windows). KYTY_OODLE_LIB still overrides everything.
PS5PCEM est un émulateur PlayStation 5 expérimental et un projet de recherche sur l’interopérabilité, développé en Zig. Il permet notamment l’exécution native de code x86-64, le chargement d’exécutables PS5 déchiffrés, l’exécution de commandes graphiques AGC, la traduction de shaders RDNA2 vers SPIR-V et le rendu via Vulkan.
Fonctionnalités
– Exécution native du code x86-64 invité sous Windows.
– Chargement des exécutables ELF/SELF, relocation, liaison des modules et gestion du TLS.
– HLE de plusieurs fonctions du firmware PS5.
– Exécution des flux de commandes AGC pour le GPU.
– Traduction progressive des shaders RDNA2 vers SPIR-V.
– Rendu Vulkan avec gestion des render targets, du depth/stencil et du MSAA.
– Gestion de la mémoire GPU et des textures avec notamment le detiling.
– Prise en charge du VideoOut Vulkan.
– Audio hôte et lecture H.264/AAC via FFmpeg.
– Support des contrôleurs DualSense et DualShock via HID.
– Support XInput et clavier.
– Gestion des sauvegardes par titre.
– Lanceur Windows natif avec jaquettes locales, profils de contrôleurs et lancement direct des jeux.
– Jusqu’à huit titres récents peuvent être conservés dans le lanceur.
– Plusieurs jeux atteignent désormais le gameplay et certains sont déjà jouables, mais la compatibilité, les performances, les graphismes, l’audio et la stabilité restent variables selon les titres et le matériel.
Jeux ayant atteint différents niveaux de fonctionnement
– Terminator 2D: No Fate
– Jets ‘n’ Guns 2
– Asterix & Obelix: Slap Them All!
– The Precinct
– Cat Quest III
– Jurassic Park Classic Games Collection
Les captures et résultats présentés par le projet sont des résultats de développement et ne constituent pas nécessairement des indications de compatibilité générale.
Configuration
– Windows 10 version 2004 ou ultérieure.
– Processeur x86-64.
– GPU compatible Vulkan 1.2.
Développement
PS5PCEM est développé en Zig et est distribué sous licence GNU GPL v3 ou ultérieure.
Le projet ne fournit ni jeux, ni firmware PS5, ni clés, ni bibliothèques système de la console.
État du projet
PS5PCEM est toujours en développement actif. L’émulation PS5 reste incomplète et la compatibilité varie fortement selon les jeux. Le projet dispose néanmoins déjà d’une implémentation fonctionnelle de plusieurs éléments importants de l’architecture PS5, notamment l’exécution x86-64, le système graphique RDNA2/AGC, la traduction des shaders et le rendu Vulkan.
Il s’agit d’un très bon émulateur Amstrad CPC (464/664/6128 et compatibles) pour Windows conçu par Thomas Guillemin. Sugarbox est agréable pour sa simplicité d’utilisation.
Les changements: 🐞 New: DAP debugger for VS Code
– Added a TCP DebugServer (JSON over TCP) under Sugarbox/debugers/, with a full protocol covering registers, memory, breakpoints, snapshots (.sna), keyboard input, and hardware state (CRTC/GA/PPI/PSG/FDC/Tape).
– Integrated the amstrad-cpc-debug VS Code extension (new Git submodule).
– Removed the old DebugSocket and the partially-implemented legacy debuggers (cleanup).
– Added a pytest integration test suite (protocol, step, evaluate).
⚙️ CPCCore
– New debug interface (IDebug): breakpoints, memory display, synchronous snapshot loading (LoadSnapshotNow) usable even while paused.
– Added the ED FF break opcode (RASM standard) and support for RASM debug chunks.
– Full rework of keyboard handling (Raspberry Pi keyboard support, function keys, real keyboard state exposed for tests).
– Renamed the debug interface so it’s no longer tied to gdb terminology.
– Misc fixes: missing virtual destructor on IMedia, disk refresh on load via external command, temporarily disabled WAV/TCN regression tests.
🔧 CI / Build
– Fixed macOS build (AGL framework removed from the newer Xcode SDK → dylib stub workaround).
– Bumped to Node.js 24 and actions/checkout@v4 across all workflows.