melonDS
melonDS est un émulateur dédié à la Nintendo DS, conçu pour offrir une exécution rapide et précise. Développé en architecture universelle, il fonctionne sur macOS Intel et Apple Silicon, garantissant une compatibilité étendue avec les configurations récentes.
L’émulateur met en avant un noyau quasi complet (CPU, vidéo, audio) et des fonctionnalités avancées comme un JIT recompiler, un rendu OpenGL avec mise à l’échelle 3D, ou encore la prise en charge des savestates. Il supporte également les périphériques comme le micro, le joystick, et les modes d’affichage personnalisables (rotation, positionnement). En cours de développement, des fonctionnalités comme le Wi-Fi (multi-joueur local et connectivité en ligne) ou l’émulation partielle de la DSi sont envisagées.
Dernière mise à jour :
Plateformes
Architecture
Mac OS X - macOS
Apple Silicon
64 bits
Téléchargement et liens
- Télécharger melonDS
- Site officiel
- Code source
-
brew install --cask melonds
Historique des versions
v1.1
-
Nouveautés majeures pour la compatibilité et les performances :
- Ajout de l'émulation complète du DSP (Digital Signal Processor) pour la DSi, incluant le HLE (High-Level Emulation), le traitement audio et l'entrée micro, ce qui améliore significativement les jeux compatibles.
- Intégration d’un système d’entrée thread-safe, corrigeant les crashes aléatoires en multijoueur.
- Amélioration de la qualité audio avec un resampling haute résolution via blip-buf et réduction du buffer frontal à 512 échantillons pour une meilleure synchronisation.
- Optimisation du rendu 3D : correction des undefined behaviors dans le rendu logiciel (interpolation linéaire + Z-buffer) et ajout de lus opcodes de traitement de données pour l’AR (ARM RISC-V-like).
- Support pour l’import de cheats depuis usrcheat.dat avec une interface utilisateur améliorée.
-
Corrections critiques :
- Fix d’un crash lors de l’accès à une carte SD/MMC non connectée (port inutilisé).
- Correction d’un bug dans le système de sauvegarde pour Legacy of Ys – Books I and II.
- Résolution d’un problème de lecture incorrecte dans le stub GDB (paquet vCont).
- Stabilisation du SPU (Sound Processing Unit) avec une variable non initialisée corrigée, évitant des plantages potentiels.
- Correction de bugs mineurs dans l’exécution Thumb (BLX immediate) et du comportement du registre CAM_MCNT (caméra).
-
Améliorations spécifiques à macOS (absentes dans ce changelog) : Aucune mention.
Changelog complet
v1.0
-
Améliorations matérielles majeures :
- Ajout du support pour le solar sensor (capteur solaire) sans nécessiter de ROM Boktai.
- Intégration complète du Tad key pour le chiffrement AES, améliorant la compatibilité des jeux.
- Support des périphériques Motion Pak et Guitar Grip en slot-2.
-
Corrections critiques :
- Correction des problèmes de latence audio via un buffer unique, réduisant les artefacts.
- Fix des lectures PDATA du DSP et des IRQ NDMA en mode répétition infinie, stabilisant les jeux dépendants.
- Résolution des bugs de transparence 3D et des lectures GBA GPIO (évitait des plantages).
-
Stabilité et compatibilité :
- Correction des framelimiters et des problèmes audio à des FPS < 60.
- Gestion des firmwares multi-joueur depuis des fichiers spécifiques à chaque instance.
- Prise en charge des timings VRAM 32-bit pour la DSi (bit SCFG_EXT9), améliorant les jeux compatibles.
-
UI et corrections techniques :
- Suppression des problèmes OpenGL multi-fenêtres et ajout d’un système de distinction entre fenêtres.
- Précision accrue des timings caméra et du FIFO, réduisant les artefacts visuels.
- Correction des paramètres audio (mic) non appliqués après fermeture de la fenêtre de configuration.
Changelog complet
v1.0rc
-
Nouveautés majeures :
- Ajout d’un système de configuration entièrement refactorisé pour une gestion plus flexible des paramètres.
- Support natif pour plusieurs fenêtres simultanées (multifenêtrage) et connexions LAN (multi-local).
- Intégration d’un système de présets de taux de rafraîchissement (framerate target) pour un contrôle précis du rendu.
- Rendeur OpenGL amélioré : ajout d’un compute shader et correction des artefacts liés au W-buffering (Z undefined).
-
Corrections critiques :
- Résolution des problèmes d’incompatibilité avec FreeBIOS (communication DS/GBA bloquée).
- Correction des registres de débogage NO$GBA (inaccuracies fixes).
- Détection des ROMs DSiWare désormais fiable.
- Suppression du bruit parasite (blow noise) sur l’entrée micro.
-
Améliorations techniques :
- Thread-safety renforcée du frontend pour une meilleure stabilité multi-tâche.
- Support de multi-instances dans un même processus (architecture core refactorisée).
- Précision accrue du rendeur 3D logiciel (corrections de rendu sur plusieurs titres).
- Interpolation audio Gaussian (SNES) pour une meilleure qualité sonore.
-
Spécifique macOS :
- Builds officiels pour Apple Silicon (M1/M2/M3) et architecture x86_64 (pas de mention de macOS minimum ou correctifs Mac spécifiques dans ce changelog).
Changelog complet
v0.9.5
-
Améliorations majeures pour la compatibilité et les fonctionnalités :
- Support fonctionnel du DSP sur DSi (jusqu’alors non opérationnel) et caméra DSi (implémentation complète).
- Multi-joueur amélioré : support natif de plusieurs instances simultanées via un mécanisme de synchronisation par mémoire partagée (Wi-Fi local).
- Corrections critiques sur le Wi-Fi : optimisations de l’émulation et compatibilité avec les jeux multi-joueurs (ex. : Smash Bros. Demo).
- Ratio d’aspect 5:3 pour la 3DS, avec refactorisation du code dédié.
-
Corrections techniques majeures (jeux impactés) :
- Fix des commandes
savememinvalides (résout des bugs dans Dementium). - DLDI corrigé pour le Smash Bros. Demo (évite les plantages).
- DSP et IRQ SD sur DSi : résolution de problèmes bloquants (ex. : Yoshi’s Island grâce à une décompression VRAM-compatible dans FreeBIOS).
- Gestion des fichiers firmware : sauvegarde des paramètres WFC (Wi-Fi) dans un fichier dédié et suppression des overrides UI inutiles.
- Fix des commandes
-
Améliorations ciblées pour macOS :
- Correction de l’affichage OpenGL à 16x résolution (macOS) et gestion des contextes OpenGL (stabilité accrue).
- Mappage des manettes : résolution des bugs sur macOS (triggers mal interprétés comme sticks analogiques et boutons de joystick).
- Compatibilité Apple Silicon (M1/M2) : pas de mention de régression ou de support spécifique ajouté dans ce changelog, mais les correctifs OpenGL profitent aux architectures récentes.
-
Autres corrections mineures mais utiles :
- Lecture des bannières ROM (gère les ROM sans banner) et affichage UTF-16 des titres dans l’interface.
- Alignement forcé des accès mémoire (tous types, pas seulement CPU) pour éviter les corruptions.
Changelog complet
v0.9.4
-
Nouveautés majeures :
- Intégration de DraStic, un remplacement open-source des BIOS Nintendo DS, et génération de firmware non bootable (remplaçant les fichiers officiels).
- Ajout d’un dialogue de synchronisation DLDI/DSi SD vers un dossier, utile pour les sauvegardes et modifications de fichiers système.
- Support avancé du processeur ARM9 (mode interpréteur) pour les code/data abort, améliorant la stabilité des jeux complexes.
-
Corrections importantes :
- Correction d’un bug dans le décodage ADPCM (crackling sonore) et d’un problème de lecture en DMA du BIOS ARM7.
- Résolution de problèmes liés à l’importation de titres DSi et à l’initialisation des sockets (BSD/macOS).
- Optimisation du rafraîchissement de l’affichage pour éviter les surcharges CPU et ajout d’un mode économie d’énergie WiFi.
-
Améliorations spécifiques macOS :
- Fenêtre principale correctement centrée et optimisation du rendu graphique (arrêt des calculs quand l’émulateur n’est pas actif).
- Support natif des appareils Apple Silicon (M1/M2) via des builds optimisés (pas de mention de M3 dans ce changelog).
- Correction de l’initialisation des sockets pour macOS/BSD (compatible avec les versions récentes).
Changelog complet
v0.9.3
-
Améliorations matérielles majeures :
- Ajout du code DSP (DSP emulation), crucial pour une meilleure précision audio sur les jeux GBA/NDS.
- Préliminaire du boot direct en mode DSi (support partiel des jeux DSi sans émulation complète du firmware).
-
Corrections critiques :
- Détection corrigée des touches Modifier (⌘/⌃) sur macOS, évitant les problèmes de contrôleur virtuel.
- Fermeture du micro uniquement quand nécessaire, réduisant les conflits avec les applications audio.
- Correction du verrouillage du rasteriseur multithreadé lors de mouvements du registre VCount (crashs évités).
-
Fonctionnalités DSi étendues :
- Gestion du DSi Title Manager (accès aux métadonnées des jeux DSi).
- Calibration automatique des données touchscreen en mode DSi (meilleure précision tactile).
- Possibilité d’utiliser le footer DSi dans les images NAND (compatibilité accrue avec les sauvegardes).
-
Optimisations techniques :
- JIT optimisé avec corrections de performance et de stabilité.
- Sauvegarde de l’état de la fenêtre (position/tailles mémorisées).
- Interpolation audio et support de SOUNDBIAS/10-bit audio (meilleure qualité sonore).
-
Interface utilisateur :
- Option Setup Cheats réapparue sur macOS (accessible via le menu).
- Dialogue d’info ROM ajouté (détails techniques sur le jeu chargé).
- Hotkey pour le frame step (avancement image par image, utile pour le débogage).
Changelog complet
v0.9.2
-
Correction majeure pour macOS (Apple Silicon) :
- Correction des problèmes liés au JIT (Just-In-Time) sur les Mac ARM (M1/M2), améliorant la stabilité des performances sur ces architectures.
-
Améliorations globales de performance et de compatibilité :
- Optimisation des commandes GX à un seul paramètre, réduisant la charge CPU.
- Meilleure gestion des écrans avec un raccourci clavier dédié pour basculer entre les modes.
- Amélioration des écrans 3D/GL avec des corrections ciblées pour divers bugs graphiques.
- Optimisation des écritures en mémoire sauvegardée, réduisant les latences.
-
Nouveautés fonctionnelles :
- Ajout d’un menu "Fichiers récents" pour un accès rapide aux sauvegardes ou ROMs.
- Support pour le chargement de fichiers depuis des archives (ZIP, RAR, etc.).
- Ajout du support pour la mémoire NAND sauvegardée (jeux comme WarioWare DIY ou Jam with the Band).
-
Corrections critiques sur les interfaces matérielles :
- Résolution des bugs liés à DSi I2C et aux interfaces SD/MMC, améliorant la compatibilité avec certains jeux ou accessoires.
-
Améliorations graphiques et d’affichage :
- Correction du scaling OpenGL sur les écrans hiDPI, pour une meilleure qualité visuelle sur les Mac modernes.
- Réorganisation du code GPU2D et des classes NDSCart/GBACart pour faciliter les futures intégrations (notamment le rendu OpenGL complet).
-
Nouveautés mineures mais utiles :
- Ajout de nouveaux modes d’écran (résolution, aspect ratio), offrant plus de flexibilité pour l’affichage.
Changelog complet
v0.9.1
-
Nouveautés majeures :
- Ajout d’un soutien préliminaire pour la caméra (pattern de bandes fixes, utile pour les jeux compatibles comme Animal Crossing: Wild World).
- Exécution de NANDs DSi non signées (via unlaunch’d), élargissant la compatibilité avec les sauvegardes et les jeux non officiels.
- Amélioration du GPU : émulation d’un registre de défilement séparé pour la couche 3D (meilleure précision des animations et des effets visuels).
-
Corrections importantes :
- Fermeture d’une faille potentielle dans les timers serrés (résout des bugs sur ZXDS et d’autres jeux sensibles au timing).
- Corrections des problèmes dans les gestionnaires d’E/S (réduction des artefacts ou plantages liés à l’entrée/sortie périphérique).
- Réparation de plusieurs bugs dans le JIT (stabilité accrue, moins de crashes liés à l’optimisation dynamique).
- Optimisation du SPU : légère amélioration du mixeur audio pour un rendu plus fluide.
-
Autres améliorations :
- Limiteur de framerate affiné pour une expérience plus stable (moins de stuttering).
- Mise à jour de la liste des types de sauvegardes ROM (corrections mineures pour la compatibilité avec certains jeux).
- Suppression d’une clé de débogage hardcodée (F11) qui pouvait causer des conflits avec les raccourcis utilisateur.
Changelog complet
v0.9
-
Ajout de support expérimental pour la Nintendo DSi (nouvelle plateforme émulée) et amélioration de la compatibilité avec ses spécificités matérielles.
-
Optimisations et corrections majeures en 2D :
- Correction du Y-flip des sprites (affichage correct de la symétrie verticale).
- Meilleure gestion des palettes de couleurs pour les sprites (retard de lookup pour éviter les artefacts).
- Tentatives de correction du mosaic (effet de pixelisation contrôlée).
-
Améliorations 3D/GPU :
- Correction des bugs de transparence (alignement avec le comportement matériel).
- Implémentation de
DISP_1DOT_DEPTH(fonctionnalité de profondeur pour le rendu 3D). - Transformation de viewport plus précise (meilleure correspondance avec le hardware).
- Changement du clipping pour s’approcher davantage du comportement réel.
-
Corrections critiques :
- Gestion corrigée des ROMs avec une zone sécurisée chiffrée (évite les plantages ou comportements erratiques).
- Suppression du traitement des canaux audio inutiles dans le SPU (gain de performance).
- Activation des canaux audio SPU uniquement lorsqu’ils sont opérationnels (réduction des artefacts sonores).
-
Nouveautés techniques :
- Ajout d’un récompilateur JIT (pour une exécution plus rapide des instructions CPU).
- Support des cheat codes au format AR (compatibilité avec des outils tiers comme ARMS).
- Interface utilisateur redessinée avec Qt (expérience utilisateur modernisée).
-
Corrections de build et de compatibilité :
- Mise à jour des fichiers de build (corrections de compilation, notamment par Nadia).
- Avertissement intégré contre l’utilisation de firmwares modifiés (risque de sécurité ou de stabilité).
Changelog complet
v0.8.3
-
Amélioration majeure de la compatibilité 2D :
- Ajout du support pour les paramètres
forcedblanketmasterbrightness(utile pour les jeux nécessitant des ajustements d'affichage). - Complétion des lacunes dans l'implémentation des modes graphiques 2D : mode 6 sur le GPU secondaire, mode 7, et gestion des tailles/prohibitions pour les OBJ et largeBG.
- Ajout du support pour les paramètres
-
Corrections critiques pour la stabilité :
- Correction d'un problème d'opérandes ARM dans les décalages par registre (impactait le minijouet Stick and Spin de Mario Party DS).
- Suppression de l'appel obsolète
glBindImageTexture()(nécessitait OpenGL 4.2, inutilisé). - Résolution des bugs d'entrée liés à l'utilisation de Ctrl/Alt/Shift comme touches de boutons (ex. : R pour Run).
- Correction d'une faille potentielle de crash lors de la fermeture de l'émulateur (récurrent dans les versions précédentes).
-
Nouveautés techniques :
- Ajout d'un limiteur de FPS, de la synchronisation audio et du VSync pour OpenGL (meilleure fluidité et réduction des artefacts).
- Affichage d'un message d'avertissement si le fichier
romlist.bin(utilisé par Zettymaster) est introuvable.
-
Correction mineure :
- Fix d'une erreur de division dans un cas limite (affectait xperia64).
Changelog complet
v0.1
-
Première version publique : sortie initiale de l’émulateur avec une architecture de base fonctionnelle pour l’exécution des jeux Nintendo DS, incluant le noyau d’émulation (CPU, GPU, son, etc.) et une interface utilisateur basique.
-
Compatibilité limitée mais fonctionnelle : prise en charge des jeux simples ou peu exigeants, mais avec des performances et une précision variables selon les titres (pas de support des fonctionnalités avancées comme le Wi-Fi ou le micro).
-
Pas de support spécifique pour macOS : aucune mention de builds dédiés, d’optimisations pour Apple Silicon (M1/M2/M3) ou de contraintes liées à macOS (comme une version minimale requise).
Changelog complet
v0.2
-
Améliorations majeures :
- Ajout d’un système audio préliminaire (fonctionnel mais probablement encore en développement).
- Émulation des délais de transfert de cartouches pour une meilleure synchronisation des jeux.
-
Corrections et stabilité :
- Compatibilité améliorée et corrections diverses pour un fonctionnement plus stable.
- Optimisations de vitesse ciblées sur les performances.
- RTC (Real-Time Clock) utilisant l’heure système pour éviter les décalages temporels.
- Stub pour le Wi-Fi : les jeux dépendant du Wi-Fi ne bloquent plus indéfiniment (fonctionnalité basique mais opérationnelle).
-
Graphismes 2D et 3D :
- Améliorations 2D : prise en charge des fenêtres et corrections pour les captures d’écran.
- Améliorations 3D : ombres, ombrures toon/highlight, et support du polygonID.
- Tests de collision (box test), de position (pos test) et de vecteurs (vec test) pour le rendu 3D.
Changelog complet
v0.3
-
Améliorations majeures pour la compatibilité et le rendu graphique :
- Correction du comportement du POSTFLG lors du démarrage direct des jeux (résout les problèmes sur les jeux Pokémon et probablement d'autres).
- Fix du DMA de la cartouche et stabilisation du boot depuis le firmware.
- Meilleure émulation des retards de transfert de cartouche et des heuristiques de type de sauvegarde.
- Support de l’écriture dans VCount (compteur de ligne verticale).
- Correction des modes de fusion pour les captures d’écran 2D et implémentation du flip horizontal (X-flip) pour les sprites bitmap.
-
Corrections critiques du rendu 3D :
- Fix de la génération des coordonnées de texture en mode 3 (vertex) (ex. : Eledees ne semble plus déformé).
- Correction du Z-buffering et amélioration du culling (élimination des faces cachées).
- Latche (verrouillage) de tous les registres liés au rendu à la VBlank et délai du début du rendu pour les jeux qui démarrent en retard.
- Calcul alpha corrigé quand l’alphablending est désactivé via DISP3DCNT.
- Ajout du brouillard (fog) et de la marquage des arêtes en 3D.
- Passage à un rendu par scanline avec un buffer stencil précis et option de threading pour le rendu.
-
Améliorations réseau (Wi-Fi) :
- Fonctionnalités supplémentaires émulées, avec une première tentative de transmission/reception de données.
-
Optimisations diverses :
- Framerate limiteur amélioré et corrections mineures de bugs.
Changelog complet
v0.4
-
Améliorations majeures pour le Wi-Fi :
- Mise en œuvre des transferts multi-joueur (cmd/reply/ack) et amélioration de l’émulation des registres RFSTATUS et RFPINS, permettant à des jeux comme Pictochat, NSMB ou Pokémon de fonctionner en multiplayer.
-
Corrections critiques en 2D et 3D :
- Fix des problèmes de rendu et d’ordre de capture en 2D, implémentation du mode 6 (BG large) et correction des tailles de bitmap BG et des sprites rotatifs/scalés.
- Correction des erreurs en 3D : MatrixTranslate, mode de surbrillance toon, bug boxtest, transformation de viewport, tri Y des polygones, et amélioration de l’interpolation (Z/W) pour réduire les Z-fighting.
-
Améliorations matérielles et logicielles :
- Implémentation des modes d’accès pour certains registres IO non gérés, émulation correcte du registre RCNT (au lieu d’un hardcoding), et écriture de firmware via SPI avec correction des bugs associés.
- Détection améliorée des sauvegardes (savemem) et émulation des retards pour les transferts SPI et les opérations div/sqrt.
-
Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.
Changelog complet
v0.5
-
Nouvelle interface utilisateur : refonte complète pour une stabilité accrue et une réduction des fenêtres parasites, avec abandon de la bibliothèque wxWidgets pour un gain de légèreté.
-
Améliorations graphiques majeures :
- Prise en charge de la lecture du format BLDALPHA en 2D.
- Correction des problèmes potentiels liés aux écritures dans le registre VCount.
- Mise en œuvre des accès en 8 bits pour certains registres.
- Ajout du rendu mosaic (partiellement fonctionnel pour les sprites tournés/redimensionnés).
- Précision accrue du fog et des bords des polygones en 3D (bien que non parfait).
- Ajout du antialiasing en 3D et optimisations diverses.
-
Fonctionnalités système :
- Support des firmwares de 128 Ko pour les consoles DSi et 3DS.
- Correction du culling en 3D (élimination des polygones cachés).
Changelog complet
v0.6b
-
Amélioration majeure de la qualité audio : ajout d’un resampler avec une faible tolérance pour réduire les clics et coupures sonores en mode plein débit, améliorant significativement l’expérience audio sur les jeux sensibles (notamment les titres avec des effets sonores rapides ou des musiques complexes).
-
Correction critique : résolution d’un problème d’initialisation du menu des options d’affichage (screen option menu), évitant des plantages ou des comportements erratiques lors de son ouverture.
-
Ajout visuel : intégration d’une icône pour l’émulateur (sans préciser son style ou son origine, mais utile pour une meilleure intégration dans les interfaces utilisateur).
(Aucune mention spécifique à macOS ou aux architectures Apple dans ce changelog.)
Changelog complet
v0.6
-
Améliorations graphiques majeures :
- Ajout de modes de redimensionnement et d'affichage (scaling, rotation, écarts d'écran, filtres linéaires) pour une meilleure compatibilité avec les jeux et une personnalisation avancée.
-
Corrections critiques :
- Gestion des erreurs améliorée : l'émulateur ne s'arrête plus en cas d'échec de l'initialisation SDL (retour haptique) ou de chargement de ROM, avec un message d'erreur plus clair.
- Correction du son : résolution des problèmes de capture/lecture audio (notamment pour les configurations surround), évitant les distorsions ou silences.
- Corrections matérielles : prise en charge des accès 8bit à GXSTAT (registres graphiques) et réinitialisation correcte des registres IE/IF (interruptions matérielles), améliorant la stabilité des jeux.
-
Fonctionnalités techniques :
- Retour du compteur de FPS (optionnel), utile pour le débogage ou l'analyse des performances.
- Support des fichiers Unicode (sous Windows) pour une meilleure compatibilité avec les noms de ROMs contenant des caractères spéciaux.
Changelog complet
v0.7
-
Nouveauté majeure :
- Ajout d’un mode point d’accès Wi-Fi expérimental (melonAP) pour tester les jeux nécessitant une connexion sans fil (fonctionnalité très bêta).
-
Corrections critiques :
- Correction des opcodes SMULWx/SMLAWx, résolvant les problèmes de musique dans The Sims 2.
- Suppression des crashs possibles lors de la fermeture de l’émulateur.
- Correction d’un bug en 3D (interaction ombres/anti-aliasing), visible dans la prévisualisation du menu de sélection de Mario Kart DS.
-
Fonctionnalités système :
- Support des savestates (sauvegardes de jeu).
- Lecture/écriture 32-bit IPCSYNC (compatibilité avec certains jeux).
-
Gestion des fichiers :
- Possibilité de charger les fichiers BIOS/firmware et les configurations depuis :
AppDataou~/.config/melonds(dossiers utilisateur),- Le répertoire d’exécution (compatibilité rétroactive).
- Possibilité de charger les fichiers BIOS/firmware et les configurations depuis :
Changelog complet
v0.7.1
-
Améliorations techniques majeures :
- Correction des lignes déformées en 3D et des fenêtres inversées (backwards windows), améliorant la stabilité visuelle.
-
Précision matérielle accrue :
- Meilleure synchronisation des timings du GPU (GX) et des transferts mémoire (DMA), réduisant les décalages et les artefacts.
-
Fiabilité des configurations :
- Détection explicite des fichiers de configuration dans le répertoire dédié de l’émulateur, évitant les conflits de chemins.
-
Compatibilité périphériques :
- Acceptation des événements d’axes de manette même sans maquette de boutons D-pad, élargissant les options de contrôle.
Changelog complet
v0.7.2
-
Nouveautés majeures :
- Ajout d’un système de micro (entrée physique, bruit ambiant, fichiers WAV) pour l’émulation audio interactive.
- Intégration d’un mode d’affichage des logs console au style nocash (format lisible pour les développeurs).
- Implémentation d’un système de hotkeys et d’un dialogue de configuration audio (réglage du volume + micro).
- Ajout d’un limiteur de framerate personnalisable (via la commande
abcdjdj). - Correction de problèmes de timing dans le GX (commande
SWAP_BUFFERS) et gestion du busy flag pour éviter des conditions de course (race conditions).
-
Corrections importantes :
- Fonctionnalités 2D/3D :
- Mélange correct des sprites semi-transparents et de la couche 3D (bypass des effets de couleur liés aux fenêtres).
- Correction du test de profondeur "equal" dans le Z-buffering (résout des artefacts dans Puzzlers World 2).
- SPU (Sound Processing Unit) :
- Support du mode de répétition de canal 3 (comportement identique au mode 1).
- Nettoyage systématique des buffers audio des canaux 0-7 en mode 3 (résout des bugs dans American Girl - Kit Mystery Challenge!).
- Fichier
romlist.bin: mises à jour des entrées pour une meilleure compatibilité.
- Fonctionnalités 2D/3D :
-
Améliorations UI/logiciel :
- Optimisation du dialogue de configuration d’entrée (cache de la taille idéale des boutons, réduction des lag).
- Gestion de l’état de l’écran (ouverture/fermeture du couvercle, mode veille).
- Sauvegarde du dernier dossier utilisé pour l’ouverture de ROMs (interface GTK uniquement).
- Ajout d’un manifest Flatpak pour une distribution simplifiée sur Linux.
Changelog complet
Captures d'écran