Après plusieurs années, ce très bon émulateur Nes, vient de passer de la version 0.975 à la version 0.980. Voici les nouveautés :
Dans l'ensemble :
- Ajustement du code pour utiliser les routines d'allocation de mémoire C++ lorsque c'est possible.
- Ajout de la prise en charge des builds 64 bits.
- Divers nettoyages de code et corrections de bugs.
APU :
- Ajout d'une logique séparée pour les événements de mise sous tension et de réinitialisation logicielle.
- Mise à jour de divers compteurs pour mieux correspondre au comportement réel du matériel.
- Mise à jour du code de lecture audio pour utiliser DirectSound 8.0.
CPU :
- Amélioration de la logique d'émulation du DMA pour gérer correctement les sprites et les PCM qui se déroulent en même temps.
- Suppression de tous les assemblages en ligne pour la prise en charge 64 bits.
- Correction du timing d'interruption pour instruction de la branche sur la page sans les croix.
- Ajout d'un paramètre de configuration pour supprimer les instructions de débogage pour
- opcodes invalides.
- Ajout de la prise en charge des opcodes non définis AAC, ASR, ARR, ATX et AXS.
Contrôleurs :
- Renommage de "Clavier Alternatif" en "Clavier Subor".
- Mise à jour des claviers Family Basic et Subor pour supporter l'enregistrement d'un film et le playback.
- Mise à jour des contrôleurs pour utiliser les routines de Sauvegarde/Chargement au lieu d'exposer
leur état interne sous forme de tableaux d'octets compressés.
- Mise à jour des manettes Arkanoid pour supporter la configuration des axes et l'ajustement de la gamme des positions valides.
- Ajout du support de la souris SNES.
- Correction de la configurations des enclencheurs POV en tant qu'axes et non en tant que boutons.
Débugueur :
- Mise à jour du débogueur CPU et de la sortie du journal de suivi pour inclure le nombre total de cycles CPU écoulés depuis la réinitialisation.
- Amélioration de la prise en charge des points d'arrêt pour gérer correctement les lectures intermédiaires.
- Amélioration du débogueur PPU pour ne redessiner que les tables de motifs et les sprites lorsque leurs palettes correspondantes ont effectivement changé.
Graphismes :
- Ajout de palettes par défaut séparées pour chaque région.
- Amélioration du code plein écran pour tenter de sélectionner une résolution qui correspond au rapport hauteur/largeur de votre moniteur.
- Correction d'un bug avec l'émulation du Zapper en mode plein écran.
- Ajout d'une palette Playchoice-10 alternative.
- Ajout d'un paramètre de configuration pour les palettes Playchoice-10 à contrôler si oui ou non des couleurs grises supplémentaires doivent être ajoutées à 1D/2D/3D.
- Correction de l'accentuation des couleurs pour permuter les bits rouge/vert sur PAL et Dendy.
- Mise à jour de la génération de la palette NTSC.
- Ajout d'une option permettant d'étirer horizontalement la fenêtre pour produire le fichier bon rapport hauteur/largeur.
Editeur d'en tête iNES :
- Déplacement de l'éditeur d'en-tête dans son propre fichier source.
- Ajout de la prise en charge de l'édition des champs au format NES 2.0.
Interface des mappers :
- Mise à jour de la version 3.7 à 3.9 de l'interface Mapper.
- Réorganisation de plusieurs types d'énumération pour être plus cohérents.
- Ajout de la prise en charge des gestionnaires de lecture sans risque de débogage qui ne déclenchent pas d'effets secondaires.
- Amélioration de la gestion de plusieurs DLLs supportant le même mappeur.
Programme principal :
- Mise à jour du plugin Winamp pour supporter Unicode.
- Ajout de la prise en charge de la synchronisation hybride (Dendy) - de la fréquence d'image 50Hz du PAL, sauf du rapport d'horloge CPU/PPU du NTSC et de la longueur du VBLANK.
- Réorganisation du code pour l'enregistrement et le chargement des paramètres de configuration qui doivent être localisé en fonction de la fonction.
- Augmentation de la RAM PRG maximale supportée de 64KB à 1024KB.
- Augmentation de la RAM maximale prise en charge par le CHR de 32KB à 256KB.
- Modification de l'écriture du disque FDS pour utiliser un nouveau format de fichier qui permet le suivi des numéros de version.
- Ajout de la prise en charge complète du format NES 2.0.
- Commandes de sauvegarde/réinitialisation retravaillées pour éviter l'arrêt et le redémarrage la lecture du son (et provoquant des pops).
- Correction des points d'arrêt du débogueur pour désactiver correctement les périphériques d'entrée.
- Correction d'un plantage lors de la sortie du programme en mode plein écran.
- Ajout d'une option " Parcourir les fichiers enregistrés " dans le menu Fichier.
PPU :
- Suppression de certaines optimisations inutiles qui ne fonctionnaient pas avec la version 64 bits et qui n'étaient plus utile avec la version 32 bits.
- Correction de la ligne de balayage de pré-rendu pour réinitialiser les bits de défilement vertical pour chaque cycle en 280-304 au lieu de seulement le dernier.
- Suppression de l'ancienne logique d'évaluation des sprites " imprécise ".
- Correction de l'émulation des accès $2007 pendant le rendu et comment ils affectent l'adresse VRAM.
- Ajout de la prise en charge des PPU Unisystem qui renvoient des valeurs spéciales à partir des bits inférieurs de $2002.
Sauvegardes d'Etats :
- Mise à jour de la logique des sauvegardes d'états pour mieux gérer les différences de version.
Mappers :
- Ajout de la prise en charge des tailles SRAM personnalisées NES 2.0
- Ajout de la prise en charge de divers mappeurs iNES utilisant la RAM CHR lorsqu'il n'y a pas de ROM.présente.
- Mise à jour de l'émulation MMC2 pour la commutation de la banque de ROM CHR inférieure.
- Mise à jour des compteurs d'IRQ pour le MMC3, MMC5, MMC6, VRC4, VRC6, VRC6, VRC7, et Tengen RAMBO-1.
- Mise à jour de la synchronisation du compteur de longueur de son MMC5 et prise en charge supplémentaire du PCM déclenché en lecture.
- Mise à jour des mappeurs iNES 1 et 4 pour prendre en charge les tailles de RAM NES 2.0 PRG.
- Mise à jour de iNES mapper 16 pour prendre en charge les sauvegardes EEPROM, et ajout du mapper 159 comme variante.
- Ajout du mapper 210 iNES comme variante du mapper 19.
- Correction des mappeurs iNES 21, 22, 23, et 25 pour refléter correctement leur fonctionnalité réelle.
- Compatibilité améliorée pour le mapper 185 iNES.
- Ajout du support des cartes NES-AN1ROM, HVC-FKROM, NES-PEEOROM, NES-SC1ROM, NES-SHROM, NES-SH1ROM, NES-SIROM, NES-SJROM, NES-SJROM, NES-SL2ROM, NES-SL3ROM, NES-SLRROM, NES-SMROM, NES-TBROM, NES-TEROM, NES-TKSROM, NES-TKSROM, NES-TL2ROM, NES-TLSROM, NES-TNROM, NES-TQROM, et NES-TVROM.
- Ajout de la prise en charge des mappeurs iNES 28, 31, 36, 36, 48, 57, 72, 77, 82, 92, 101, 107, 152, 154, 155, 159, 165, 191, 192, 193, 194, 200, 201, 203, 205, 206, 207, 240, 242 et 245.
- Fusion du mappeur iNES 151 (Extended Vs. Unisystem) en 75 (VRC1).
- Correction du lecteur NSF pour faire taire les canaux internes lors d'un changement de chaîne pistes.