Forum › Autour de l’Amiga › Amiga OS 4 – MorphOS – UAE – AROS › [UAE] WinUAE
- Ce sujet contient 331 réponses, 16 participants et a été mis à jour pour la dernière fois par
Aladin, le il y a 6 mois.
-
CréateurSujet
-
23 avril 2017 à 19 h 57 min #3138Staff
Aladin
- Level 25
- Messages : 15744

WinUAE émulateur Amiga
Site officiel:
http://www.winuae.net/Traduction française:
http://www.tradu-france.com/
Pour ajouter le support des IPF, il faut ajouter les librairies CAPSImg.dll et/ou CAPSImg_x64.dll vers les exécutables winuae.exe et/ou winuae64.exe:
http://www.softpres.org/downloadDiscussion en anglais:
http://eab.abime.net/showthread.php?t=85939 -
CréateurSujet
-
AuteurRéponses
-
14 juin 2024 à 16 h 37 min #182597Staff
Aladin
- Level 25
- Messages : 15744
WinUAE 5.3.0 beta 09 (20 Mai 2024)
https://eab.abime.net/showpost.php?p=1678004Changelog:
– Le registre des couleurs du mode AGA avec un bit de genlock activé était mal détecté comme étant un blanking activé. (b1 l’a rendu visible mais le vrai bug a été introduit il y a longtemps)
Téléchargement:
https://eab.abime.net/showpost.php?p=1685598&postcount=61
14 juin 2024 à 16 h 38 min #182598Staff
Aladin
- Level 25
- Messages : 15744
WinUAE 5.3.0 beta 10 (27 Mai 2024)
https://eab.abime.net/showpost.php?p=1678004Changelog:
– Mode de bouclage rapide de l’unité centrale et du port série : l’émission n’a jamais été terminée, rien n’a été reçu.
– Fonctionnalité non documentée du port série émulée : L’écriture INTREQ CPU/Cuivre qui active le bit RBF active également le bit SERDATR OVRUN.
– La commande ATAPI CD MODE SELECT est corrigée. (Utilisée pour contrôler le volume audio des CD analogiques)Téléchargement:
https://eab.abime.net/showpost.php?p=1686769&postcount=6214 juin 2024 à 16 h 40 min #182599Staff
Aladin
- Level 25
- Messages : 15744
WinUAE 5.3.0 (01 Juin 2024)
https://eab.abime.net/showthread.php?t=117730Changelog:
Nouvelles cartes RTG émulées
– CyberVision/BlizzardVision PPC. 2D uniquement, la 3D n’est pas implémentée. (Permedia 2)
– GVP EGS 110/24. (INMOS G364)
– Graffity. (Cirrus Logic CL-GD5428)
– Merlin, inclut le support pour le numéro de série configurable utilisé par ProBench (Tseng ET4000W32)
– oMniBus (Tseng ET4000AX ou ET4000W32)
– Rainbow III (INMOS G360)
– Visiona (INMOS G300)
Toutes les cartes RTG « classiques » des années 1990 sont maintenant émulées.Nouvelles fonctionnalités/mises à jour
– Emulation du pont PCI Prometheus FireStorm
– Libère les périphériques d’entrée bruts lorsque l’interface graphique est ouverte (sauf pendant le test d’entrée/Remap) ou lorsque la fenêtre du débogueur est active. – Permet aux touches de raccourci Windows comme Win+E de fonctionner sans qu’il soit nécessaire de déconcentrer la fenêtre.
– Ajout d’une option dans le panneau Divers pour désactiver le mappage par défaut du bouton 4 du clavier de la manette de jeu à l’écran.
– Certains messages de débogage de la configuration uae (et d’autres messages similaires) ouvraient automatiquement la fenêtre de la console. Désormais, seule l’entrée dans le débogueur l’ouvrira.
– Ajout de l’option de filtre sonore « Always on (Fixed only) ». Cette option active le filtre fixe de l’A500 mais n’active jamais le « filtre led ». (L’A1200 n’a pas de filtre fixe, seulement un filtre « led »).
– Remplacement de l’ancienne gestion du presse-papiers Windows compatible avec Windows 2000 par une nouvelle méthode plus simple et plus fiable introduite dans Vista.
– Permet également aux CPU 68020+ de récupérer des mots d’instructions dans l’espace du chipset personnalisé. Uniquement si l’option plus compatible est activée. – Si un programme veut vraiment faire quelque chose de bizarre comme exécuter du code situé dans les registres de la palette AGA ?
Curseur lightpen/gun dans n’importe quel bord de l’écran : lightpen/gun ne pointant pas vers l’écran = la position ne peut pas être lue par le programme.
– Les touches de raccourci du fichier d’état sélectionnent désormais le nom du fichier de configuration actuel comme nom de base du fichier d’état (par exemple, si le fichier de configuration « test1.uae » est chargé, SHIFT+END+0 enregistrera le fichier d’état en tant que « test1.uss ». La configuration du mode de démarrage rapide utilise toujours le nom par défaut d’origine « default.uss »).
– Les deux variantes de l’extension de fichier « SaveImage » (automatiquement créée ext adf lors de l’activation de l’écriture d’une image non inscriptible comme ipf) sont maintenant détectées automatiquement lors de la vérification de l’existence d’un fichier. L’option de mode SaveImage du panneau Chemins n’affecte plus que le nom de fichier généré lors de la création d’une nouvelle image de sauvegarde.
– Ajout de l’émulation de la police OSD du lecteur laserdisc LDP-1450. Correction du jeu d’arcade Platoon (Nova) qui manquait auparavant de messages « YOU’RE HIT !! ». (Tous les graphiques OSD sont générés par l’Amiga sauf ce message !)Corrections de bugs
– Correction de l’émulation du lecteur de disquette des Bridgeboards basés sur le XT qui ne fonctionnait pas lors des mises à jour 5.1 DraCo (mauvaise détection de la densité).
– La réception des données du port série n’était pas fiable. Le mode « Loopback » du port série ne fonctionnait pas en mode CPU rapide.
– La taille et le positionnement de l’image vidéo CD32 FMV étaient bizarres dans la plupart des modes de mise à l’échelle.
– Le changement exclusif de résolution plein écran et RTG (passage d’une résolution RTG à une autre résolution RTG sans passer en mode natif et inversement) ne modifiait pas la résolution plein écran.
– Dans certains modes programmés ECS (par exemple SuperPlus), la première ligne visible était supprimée.
– Correction de la corruption dans certains modes programmés « bizarres », introduits dans les bêtas 5.0.
– Certaines cartes RTG émulées matériellement présentaient un scintillement des couleurs lors d’un panoramique horizontal (modes >8 bits uniquement).
– Correction de l’étrange mouvement horizontal impair/pair du pointeur de sprite du mode ECS Denise superhires.
– Correction du démarrage du système de fichiers HDF/répertoire pré-KS 1.2. Il s’est cassé il y a longtemps.
– L’état actif du multi-moniteur n’était pas complètement réinitialisé lorsque le système était réinitialisé. (La fenêtre du multi-moniteur était ouverte -> réinitialisation -> la fenêtre ne s’ouvrait plus).
– Si la carte pont x86 SVGA et la carte RTG émulée par d’autres matériels étaient actives et que END+F9 était utilisé pour changer de moniteur : la sortie des deux moniteurs était dessinée dans la même fenêtre, ce qui provoquait des graphiques corrompus et éventuellement un plantage si la taille des moniteurs était trop différente.
– Il n’était pas possible d’écrire et de lire le bit de transparence du genlock ECS/AGA dans les registres de couleurs. Ce problème a été résolu il y a longtemps.
– Retarder légèrement la réponse de l’ALG LDP au statut « seek complete ». Corrige le jeu d’arcade Platoon (Nova) de quelques secondes.
– L’étui gauche de Los Justicieros (Zorton Brothers) du jeu d’arcade laserdisc s’accroche correctement. (Il était coincé actif auparavant)Téléchargement:
https://www.winuae.net/
https://www.tradu-france.com/index.php?page=fullstory&id=96614 juin 2024 à 17 h 59 min #182622sink
- Level 6
- Messages : 378
merci!!!!!!!!
4 décembre 2024 à 13 h 00 min #190090Staff
Aladin
- Level 25
- Messages : 15744
WinUAE 5.3.1 beta 01 (15 Septembre 2024)
https://eab.abime.net/showthread.php?t=118608Changelog:
– Ajout de la prise en charge des jeux d’arcade Picmatic Marbelle Vice et Tierras Salvajes 100Hz TV à disque laser. Les versions 100Hz TV utilisent du matériel externe pour lire les positions des pistolets laser. Tous les jeux plus anciens utilisent le matériel intégré de l’Amiga pour la prise en charge des pistolets (+interrupteur externe pour sélectionner les pistolets des joueurs 1 et 2).
– Correction du panneau GamePorts « Swap ports ».
– Certaines combinaisons de résolution d’écran et de police provoquaient un crash lorsque le clavier à l’écran était ouvert.
– Correction d’un problème de musique dans James Pond 2 (non-AGA). Probablement aussi pour d’autres lecteurs de musique basés sur les interruptions. (5300b5)
– Le bit d’état d’interruption du pont PCI Prometheus Firestorm était inversé.
– Implémentation de la seconde fenêtre PCI du Mediator 1200TX en mode 8M. (Le premier 4M est la première fenêtre, le second 4M est la seconde fenêtre), la seconde fenêtre est normalement mappée après la première banque, émulant le matériel pré-1200TX qui n’a qu’une seule fenêtre 8M.
– S3 Virge PCI a manqué un mode de byteswapping.
– Si une configuration avec un contrôleur Golem SCSI II HD était chargée, elle se transformait en HD3000. SCSI II avait le même préfixe de nom interne que Golem HD3000.
– Correction de la modification de SPRxPOS dans le dernier moment possible étant manqué causant la désactivation du sprite. (Reshoot R background flickering)
– Copper COPJMP1 et COPJMP2 strobés avec DMA désactivé est correctement émulé. L’ancien et mauvais « Copper s’arrête quand cela arrive » n’a pas été complètement supprimé quand le comportement correct a été ajouté (Copper ne s’arrête pas mais saute à l’adresse COP1LC OU COP2LC. Ce qui a généralement pour effet secondaire de l’arrêter assez rapidement parce qu’un déplacement vers un registre « dangereux » est très probable). Copper ne s’arrête que lorsqu’il écrit dans le registre « dangereux » (ou qu’il le « saute »).
– Autoriser la profondeur de couleur 16 bits uniquement en mode Direct3D 9. GDI et D3D11 imposent une profondeur de 32 bits.
– La transmission série (en mode non direct) correspond désormais en moyenne au débit binaire de SERPER. Auparavant, elle était toujours légèrement plus rapide. Le taux de réception (en mode non-direct) est maintenant limité au taux SERPER/4 maximum au lieu de recevoir un nouvel octet immédiatement après que l’interruption de réception précédente a été levée. Le taux doit être inférieur à SERPER parce qu’il est destiné à être très compatible avec une connexion série externe sans débordement aléatoire de la mémoire tampon.
– Dans le mode CPU le plus rapide, quand il y a du temps libre à la fin de la ligne de balayage, sauter la gestion des événements pour quelques boucles d’attente afin d’améliorer les performances.
– Correction d’un crash possible lorsque l’AmigaOS 4 se réinitialise et passe en mode PPC si l’émulation du système de fichiers est utilisée.
– Ajout de la ROM de la carte accélératrice GVP T-Rex II. Elle est très similaire à TekMagic.
– Ajout de l’image ROM DKB Wildfire « v1.0 » (précédemment connue et renommée v1.1, elle est plus grande et dispose d’un nouvel élément de menu « Options d’affichage désactivées », mais malheureusement tous les numéros de versions internes sont identiques à la v1.0).
– Implémentation du changement automatique de banque VRAM non documenté d’OpalVision lorsque l’adresse VRAM s’enroule autour et correction de la commande de chargement de l’adresse VRAM ignorée si elle est située dans la deuxième ligne de contrôle. Ces deux fonctionnalités sont utilisées dans King of Karate pour avoir un arrière-plan défilant plus large que l’écran. Auparavant, l’arrière-plan ne défilait pas.Téléchargement:
https://eab.abime.net/showpost.php?p=1706435&postcount=14 décembre 2024 à 13 h 01 min #190091Staff
Aladin
- Level 25
- Messages : 15744
WinUAE 5.3.1 beta 02 (29 Septembre 2024)
https://eab.abime.net/showthread.php?t=118608Changelog:
– Correction de la configuration de la RAM TekMagic.
– Ajout de la ROM QuikPak XP v2.2 et de la ROM QuikPak originale (qui ne contient que le code de désactivation du 68060 FPU, pas de SCSI).
– SCSI CD audio PLAY AUDIO TRACK/INDEX renvoyait une erreur si la dernière piste était plus haute que la dernière. La spécification SCSI le permet et cela ne devrait pas provoquer d’erreur.
– Correction de la mise à l’échelle des nombres entiers + correction du rapport d’aspect : le rapport d’aspect provoquait des effets secondaires étranges en fonction de la taille de la fenêtre.
– Lorsque CTRL+F12 est pressé et que le mode courant est fenêtré, le mode est basculé sur le dernier mode utilisé (pleine fenêtre ou plein écran). L’état du dernier mode natif et du mode plein écran/plein écran de RTG est stocké séparément. Le dernier mode plein écran utilisé (fullwindow ou fullscreen) est désormais stocké dans le registre/ini. Le mode plein écran est utilisé par défaut si le dernier mode utilisé n’existe pas (encore).
– La capture d’écran en mode entrelacé renvoie désormais toujours une image de même hauteur, le type d’image actuel ne l’affectant plus.Téléchargement:
https://eab.abime.net/showpost.php?p=1708420&postcount=64 décembre 2024 à 13 h 02 min #190092Staff
Aladin
- Level 25
- Messages : 15744
WinUAE 5.3.1 beta 03 (12 Octobre 2024)
https://eab.abime.net/showthread.php?t=118608Changelog:
– Les captures d’écran entrelacées présentaient encore une hauteur variable dans certaines situations.
– Le changement à la volée de la taille des polices de l’OSD en mode Direct3D 9 ne recalculait pas correctement la nouvelle taille des polices tant que le mode d’affichage n’avait pas été modifié au moins une fois.Téléchargement:
https://eab.abime.net/showpost.php?p=1710584&postcount=134 décembre 2024 à 13 h 11 min #190088
jouet24
- Level 6
- Messages : 378
WinUAE 5.3.1 (21 Octobre 2024)
https://eab.abime.net/showthread.php?t=118888Changelog:
Nouvelles fonctionnalités :
– Ajout de la prise en charge des jeux d’arcade laser disc Picmatic Marbelle Vice et Tierras Salvajes 100 Hz TV.
Mises à jour :
– Implémentation de la commutation automatique de banque VRAM non documentée pour OpalVision. Le défilement de l’arrière-plan fonctionne désormais dans la démo King of Karate.
– Implémentation du mode fenêtre PCI 2x4M pour Mediator 1200TX.
– Mises à jour de l’émulation du port série : la vitesse de transmission est maintenant plus précise, et la vitesse de réception est réduite si les données arrivent trop rapidement.
– Le raccourci CTRL+F12 pour passer en mode fenêtre/plein écran mémorise maintenant le mode plein écran précédent (plein écran ou fenêtre pleine) et le stocke entre les sessions dans le registre/ini.Correction de bugs :
– Correction du panneau GamePorts pour « Échanger les ports ».
– Certaines combinaisons de résolutions d’écran et de polices provoquaient un crash lors de l’ouverture du clavier à l’écran.
– Correction d’un bug sonore dans James Pond 2 (version non-AGA), qui affectait probablement aussi d’autres lecteurs de musique basés sur les interruptions.
– La configuration du contrôleur HD Golem SCSI II ne se chargeait pas correctement.
– La modification du SPRxPOS au dernier moment possible n’était pas prise en compte, ce qui désactivait le sprite. (Correction du scintillement de l’arrière-plan dans Reshoot R)
– Correction d’un crash potentiel lorsque AmigaOS 4 redémarre en mode PPC si l’émulation du système de fichiers du répertoire était utilisée.
– La commande audio SCSI PLAY AUDIO TRACK/INDEX renvoyait une erreur si la piste de fin était supérieure à la dernière piste. La spécification SCSI le permet et cela ne devrait pas entraîner d’erreur.
– L’état du bit d’interruption du pont PCI Prometheus Firestorm était inversé.Téléchargement:
https://www.winuae.net/
https://www.tradu-france.com/index.php?page=fullstory&id=979A600 3.2.1 + HstWB + Chip RAM Expansion + Furia + SD to IDE + Gotek / A1200 3.2.1 + HstWB + ACA 1221ec + SD to IDE + Gotek
4 janvier 2025 à 18 h 57 min #191000Staff
Aladin
- Level 25
- Messages : 15744

WinUAE 6.0 beta 1 (04/01/2025)
https://eab.abime.net/showthread.php?t=119496
REMARQUE IMPORTANTE
Cette version est actuellement optimisée pour la précision et la compatibilité, et non pour les modes rapides de l’unité centrale. Les modes CPU rapides fonctionnent, mais ils sont loin d’être aussi rapides qu’avant. La version actuelle n’est pas destinée à être utilisée uniquement en mode WB.
– Toutes les lignes du mode chipset natif sont toujours entièrement dessinées. L’optimisation qui saute les lignes non modifiées sera ajoutée plus tard. (Peut-être. Ce type d’optimisation nécessite beaucoup de variables de données dynamiques, ce qui n’est pas forcément très utile et peut même aggraver la situation). Le plan actuel est de dessiner des lignes sans effets secondaires (pas de cuivre actif, etc.) en utilisant le mode « direct from chipram » basé sur les lignes, ce qui devrait être suffisant pour une utilisation rapide de WB en mode natif. En d’autres termes : cette version est plus lente, en particulier dans les modes CPU rapides, du moins pour l’instant.
– Remove interlace artifacts ne fonctionne pas. Assurez-vous qu’il est désactivé.
– Le CPU hôte requis est passé à AVX2 (~2015+ CPUs). Il s’agit d’une décision arbitraire pour éliminer les CPU « trop vieux » jusqu’à ce que les choses s’améliorent. La vitesse n’est pas très importante à ce stade. La version non-AVX pourrait également être disponible lorsque/si des compilations automatisées sont ajoutées plus tard.
– La case à cocher Subpixel dans le panneau Chipset ne fait rien. Il est maintenant toujours émulé en interne.
– Estimation de la sortie de la version finale : été 2025 ou peut-être même plus tard.
MISES À JOUR
Chipset (commun) :
– Tous les hacks d’émulation de chipset personnalisés ont été supprimés, la plupart des anciens codes d’émulation personnalisés ont été supprimés et remplacés par un code entièrement nouveau qui est beaucoup plus simple et plus facile à comprendre, et qui fonctionne de manière plus proche du matériel réel. Certains signaux sont émulés presque au niveau de la porte logique. Basé sur les schémas d’Alice.
– Le pipeline RGA interne est entièrement émulé.
– Les émulations Agnus et Denise sont séparées, le transfert de données se fait via un bus RGA externe émulé. Les registres stroboscopiques sont utilisés pour la synchronisation des puces comme sur le vrai HW. Plus de raccourcis.
– La chaîne de registres à décalage pour la sélection des slots DMA câblés (rafraîchissement, disque, audio, sprites) est fidèlement émulée.
– Les conflits DMA sont émulés de manière précise, sans hacks.
Affichage/plans de bits/sprites/cuivre :
– La suppression horizontale et verticale et les impulsions de début/fin de synchronisation, de csync, d’égalisation de csync, etc. sont maintenant émulées de manière précise, à la fois câblées et programmées. Le mélange des impulsions câblées et programmées est également entièrement pris en charge. La partie générateur de synchronisation est presque émulée au niveau de la porte logique.
– Les modifications VPOSW/VHPOSW à la volée sont entièrement supportées, toutes les anciennes limites ont disparu. (Ross, modes d’écran spéciaux ! Par exemple, le mode écran où toutes les lignes affichables sont la même ligne verticale Agnus répétée autant de fois qu’il y a de lignes visibles ou le mode où le hardwired blanking est désactivé, ce qui permet un affichage beaucoup plus large que d’habitude tout en restant compatible PAL. Oui, comme sur le C64, les « frontières » câblées de l’Amiga peuvent également être ouvertes avec un timing CPU précis par cycle))
– Les compteurs verticaux et horizontaux « virtuels » et réels d’Agnus/Alice sont maintenant complètement séparés, l’émulation de l’affichage fonctionne maintenant correctement même si l’Agnus vertical ou horizontal est déplacé vers l’arrière ou vers l’avant ou n’importe où (même en dehors de la plage d’affichage normale), un nombre illimité de fois par ligne et/ou par champ.
– Tous les modes d’écran (y compris le « faux » mode NTSC ou similaire) comptent désormais le nombre total de lignes « virtuelles » et l’utilisent pour définir la hauteur d’affichage. Ces modes fonctionnent désormais même s’ils effectuent de multiples modifications du VPOSW.
– L’entrelacement est désormais détecté si les 4 derniers champs sont de type LONG/SHORT/LONG/SHORT ou SHORT/LONG/SHORT/LONG. Il faut vérifier les 4 derniers champs pour éviter qu’un changement de champ court à long soit détecté comme mode entrelacé lors d’un démarrage aléatoire ou par KS.
– Les bits matériels LOF ou LACE ne sont plus utilisés pour la détection des champs courts/longs entrelacés. La position de départ VSYNC (par rapport à HSYNC/HCENTER) est désormais utilisée pour détecter le type de trame LONG ou SHORT (comme pour les écrans réels). Il est possible de créer un mode entrelacé valide avec des écritures VPOSW délicates (ou moins délicates si ECS et en utilisant des registres de mode programmés) sans jamais modifier le bit LOF.
– Prise en charge complète de la granularité horizontale des plans de bits et des sprites AGA hires/shres. Le mode sous-pixel séparé n’existe plus.
– Emulation des slots ECS Agnus/AGA UHRES bitplane et sprite RGA DMA (0x78, 0x7a). (Fonctionnalité inutile mais parce qu’ils peuvent voler des cycles au cuivre, au blitter et au CPU, cela doit être émulé).
– COPJMP1/2 a chargé la nouvelle adresse 1 CCK trop tard. (Cela ne fait une différence que si quelque chose fait COPJMPx et écrit ensuite immédiatement dans COPxLCx).
– Le conflit COPJMP + blitter actif du cycle impair du CPU ne fonctionnait pas correctement si le COPJMP était immédiatement suivi d’un déplacement de cuivre demandé précédemment. (Ceci n’est pas encore tout à fait correct)
– Ajout des modèles A1000 (EHB Denise et non EHB Denise) au panneau Chipset. Les entrées existantes ont également été renommées.
– L’écriture BPL1DAT active les plans de bits 1 pixel plus tôt que la copie BPLxDAT (OCS/ECS). AGA le fait 1 hires pixel plus tôt.
– En milieu d’écran, le changement BPLCON0 lores->hires met à jour le compteur horizontal BPLCON1 Denise après un délai supplémentaire de 0,5 CCK (ECS Denise) ou de 1 CCK (OCS Denise). Le changement de lores à lires n’a pas de délai supplémentaire. L’AGA n’a pas de délai supplémentaire. Ceci n’est pas entièrement émulé. Les effets secondaires du shifter interne entrelacé ne sont pas émulés. (Il semble presque impossible de les mettre en oeuvre sans les schémas de Denise, les glitches qui peuvent se produire sont vraiment étranges).
NTSC/STRLONG : (Cette fonction a été pénible à émuler, elle est normalement invisible et n’a pas vraiment besoin d’être émulée, même en NTSC, mais vous pouvez écrire dans STRLONG en mode PAL et obtenir un décalage horizontal de 1 pixel loresque et quelques glitches sur le bord droit de l’écran, il a donc fallu l’émuler également).
– L’état LOL (long line) du NTSC est émulé avec précision. Une mauvaise correspondance entre le stroboscope STRLONG et l’état LOL entraîne désormais un décalage horizontal correct de 1 pixel de long. (Inadéquation = par exemple écriture manuelle sur STRLONG alors que la ligne n’est pas longue)
– Les versions NTSC A1000 et OCS Agnus ont une fonction non documentée : tout accès au VPOSW réinitialise le bit LOL (interne caché). Les versions ECS/AGA ont la même fonction mais le bit LOL n’est plus interne.
– Le comportement de STRLONG a légèrement changé entre toutes les versions de puces (A1000/OCS/ECS/AGA). A1000/OCS Denise le fait au début de hblank, provoquant un motif en dents de scie visible au début de hblank (A1000 et OCS ont une différence de 1 pixel de lores dans le motif en dents de scie), ECS Denise le fait 2 pixels de lores plus tôt, provoquant un motif alternant pixel de lores doublé/pixel de lores manquant juste avant hblank. AGA : est similaire à ECS mais avec un décalage d’un pixel shres. (AGA et ses décalages ennuyeux d’un pixel shres ici et là. Argh !)
Blitter :
– Le séquenceur de canaux de Blitter devrait être maintenant 100% précis (à l’exception d’un possible changement de ligne à non ligne en cours d’opération). Les timings des « micro-opérations » de Blitter ne sont pas encore 100% = quand exactement appliquer le décalage A, quand le décalage B, quand A/B/C doit être géré en interne, etc. Cela sera testé et mis en œuvre à l’avenir. (N’affecte le résultat du blitter que si BLTxDAT/décalages/etc sont modifiés au milieu du blitter. Les modifications de l’activation du canal, du mode de remplissage, du descriptif et de l’intermède devraient déjà être parfaitement exactes).
– La logique de l’ordonnanceur du canal D en mode bloc de mélange correspond maintenant au comportement réel (D est « armé » 2 CCK après la sortie du bit de mélangeur, puis tout cycle de mélangeur libre suivant est utilisé pour D, il n’y a pas d’état unique et simple « D SÉLECTIONNÉ »). L’ordonnancement de l’écriture de « Final D » est maintenant également émulé avec précision. Une condition précédemment inconnue est également émulée : avec 2 bits ou plus dans le shifter de l’ordonnanceur, il peut y avoir une seconde écriture « Final D » supplémentaire après que le blit s’est déjà terminé.
– Lorsque le blitter a plus d’un bit tournant dans le registre de décalage de l’ordonnanceur (les bits d’activation du canal BLTCON0 ont été modifiés pendant que le blitter fonctionnait) et que plusieurs canaux sont sélectionnés en même temps, le canal résultant est l’AND de l’adresse RGA (ABC uniquement, D n’est autorisé que si tous les autres canaux ne sont pas actifs en même temps et le bit ne doit pas être en position A même si A est désactivé). Auparavant, la sélection était basée sur l’ordre des canaux, ce qui était erroné, et le mode ligne ne permettait pas de gérer les sélections multiples en même temps.
– Si l’écriture BLTxMOD ou BLTCON1 DESC est basculée et qu’elle est immédiatement suivie d’un transfert DMA sur le même canal, le transfert utilise l’ancienne valeur modulo. (Comme le font les plans de bits, mais le blitter n’a pas été mis à jour pour le gérer). BLTxPT écrit 1 CCK avant le transfert DMA du même canal (l’écriture est ignorée), ce cas spécial n’était pas fiable non plus.
– BLTZERO est activé lorsque le blitter obtient le prochain cycle libre après l’écriture de BLTSIZE. Le timing est le même que celui du bit A1000 BLTBUSY.
CIA :
– Si la direction des données du port série CIA est modifiée (CRA OUTMODE basculé), l’état du port série est réinitialisé, une éventuelle transmission ou réception en attente est immédiatement interrompue.
Divers :
– L’exigence du CPU hôte est passée à AVX2 (~2015+ CPUs). Cela pourrait être abaissé dans le futur mais AVX2 a des instructions très utiles pour les optimisations futures.
– Le changement de type de chipset à la volée a été amélioré (par exemple les couleurs AGA sont maintenant préservées, tous les registres n’étaient pas entièrement préservés auparavant).
– Les collisions entre plans de bits pairs et impairs sont maintenant très simples et peu coûteuses à émuler. Le mode de collision par défaut est maintenant la collision totale.
– Le mode de débogage ultra extrême montre maintenant les pixels des plans de bits et des sprites entièrement à l’intérieur des masques horizontaux et verticaux. Auparavant, seule la couleur de fond était visible.
– Le débogueur DMA peut maintenant être visualisé avec des lignes Agnus ou des lignes virtuelles (« v » = ligne agnus auparavant, « vv » = ligne virtuelle). La première ligne virtuelle est la ligne de démarrage vsync.
– Le débogueur DMA affiche désormais l’état du compteur horizontal Denise (1 CCK = 2 horloges Denise, une horloge Denise équivaut à un pixel lores).
– Le débogueur DMA affiche maintenant l’état actuel des signaux liés à l’affichage (synchro, blancs, etc., voir ci-dessous).
– Les cycles de blitter et de bitlane modulo add du débogueur DMA sont marqués d’un ‘M’.
– Ignorer tous les points d’arrêt du débogueur pendant la séquence de sortie/redémarrage.
– Si le CPU lit un octet dans l’espace du chipset personnalisé, le mot complet de 16 bits est affiché dans le débogueur DMA.
– Le dump CIA du débogueur inclut maintenant aussi les contenus PRA et PRB qui incluent l’état disque/série/bouton de feu/etc. (valeurs à l’intérieur des [])
– Le débogueur visuel DMA utilise toujours des lignes virtuelles.
– Sauter complètement le rendu des images D3D en mode warp si l’image est sautée.
– Ajout du nombre et du type de ligne à la ligne d’état de la bordure inférieure (par exemple 313p ou 625i), prise en charge complète de tous les modes bizarres.
– Suppression de l’option couleur 16 bits.
– Le mode TCP/IP du port série utilise maintenant le drapeau TCP_NODELAY pour réduire la latence.
– Correction du type de configuration de la RAM embarquée TekMagic.
– Le délai de redémarrage d’une seconde ne s’activait pas lorsque la réinitialisation était effectuée après le démarrage de l’émulation (cela fonctionnait peut-être il y a quelques versions).
– Si le mode de canal sonore WASAPI sélectionné n’est pas supporté, essayez tous les modes de canaux possibles jusqu’à ce qu’il soit supporté, ou jusqu’à ce que toutes les combinaisons aient été testées. De même, si le nombre de canaux doit être modifié pour passer d’un mode stéréo à un mode supérieur (par exemple, le dispositif sonore ne supporte que les modes 6 ou 8 canaux en interne), utilisez la variante stéréo clonée 6/8 canaux car l’utilisateur peut n’avoir que des haut-parleurs stéréo.
– La suppression à la volée du dernier périphérique sonore (par exemple une carte son USB sans périphérique sonore intégré activé) a provoqué un crash en mode WASAPI.
– Fichier de configuration uniquement statefile_path= peut être utilisé pour avoir des chemins d’accès au fichier de configuration par fichier de configuration. Remplace (mais n’écrase pas) l’entrée Paths-panel.
– Ajout de la prise en charge du type de partition GPT Amiga (GUID={3F82EEBC-87C9-4097-8165-89D6540557C0}). Fonctionne de la même manière que le type de partition 0x76 avec les disques partitionnés MBR.
– L’assembleur du débogueur n’acceptait pas toutes les variantes de MOVEM.
– Ajout de l’émulation du contrôleur IDE RIPPLE par Matt Harlum.
Emulation du clavier de bas niveau :
– Émulation optionnelle du clavier au niveau matériel ! (*). Le clignotement du CAPS LOCK de l’Odyssey / Alcatraz est enfin supporté.
– Trois variantes émulées (toutes connues ?), CSG 6570-036 (utilisé dans presque tous les modèles sauf les premiers claviers A1000 et A1200), 68HC05C (utilisé seulement dans A1200) et D8039HLC qui a été utilisé dans certains claviers A2000. Ces trois microcontrôleurs 8 bits différents disposent d’une petite quantité de ROM et de RAM, de quelques ports d’E/S, d’un timer unique et d’autres fonctions d’E/S.
– 6570-036 est basé sur 6502, utilise l’émulateur de CPU https://github.com/gianlucag/mos6502. ROM de 2048 octets. Les premiers claviers A1000 ont le même MCU mais un code plus ancien qui n’empêche pas la rémanence des touches et qui ne semble pas avoir été supprimé.
– 68HC05C est basé sur 6800, utilise l’émulateur de CPU https://github.com/philpem/m68emu. La ROM fait environ 8000 octets. (Une partie de la RAM est cachée par IO/ROM)
– D8039HLC est basé sur 8048, utilise l’émulateur 8048 inclus dans l’émulateur Altirra (Atari 8 bits et expansions). ROM externe de 2048 octets (EP).
– Le comportement du clavier est maintenant totalement précis, les touches de l’hôte sont converties en matrice de clavier simulé, le code MCU émulé lit la matrice et envoie le code en série au port série CIA.
– Le clavier fonctionne maintenant comme un vrai clavier, l’avertissement de réinitialisation, l’absence possible de retournement de n-touches et d’autres effets secondaires si les programmes font de mauvaises choses avec le handshake des touches fonctionnent correctement. Il est évident que le clavier de votre PC hôte doit être doté d’une capacité de rotation complète des touches n pour obtenir des résultats précis en matière de brouillage et de fantômes de touches du clavier émulé.
– Un effet spécial est le clignotement du verrouillage des majuscules, par exemple Odyssey / Alcatraz le fait vers le début de la démo. Il inonde le pauvre MCU d’un grand nombre d’impulsions de handshake, chaque impulsion provoque une demande d’interruption, ce qui fait que le CPU n’a pas le temps de faire autre chose que de gérer des interruptions inutiles. Après environ 40 ms, le chien de garde externe réinitialise le CPU et le code de réinitialisation fait clignoter le voyant de verrouillage des majuscules. L’astuce du clignotement du verrou des majuscules ne fonctionne pas sur le D8039HLC car il n’a pas de chien de garde. Notez que l’A1200 68HC05C se réinitialise lorsque le code de réinitialisation est activé.
– Si l’avertissement de réinitialisation du clavier du panneau Advanced chipset est coché, le MCU KB gère la séquence de réinitialisation et la réinitialisation est détectée en vérifiant si le MCU maintient la ligne KCLK basse >500ms (comme les Amigas de grande taille avec 6570-036 et D8039HLC) ou si la broche TCMP est tirée vers le bas (A1200, 68HC05C). Si cette option n’est pas cochée, la réinitialisation est générée immédiatement lorsque les touches de réinitialisation sont pressées (comme le font les claviers A500 et A600).
– Ajout d’une led OSD pour le verrouillage des majuscules (couleur rougeâtre/jaunâtre). Note : le verrouillage des majuscules n’est pas synchronisé avec l’état du verrouillage des majuscules de l’hôte en mode d’émulation de clavier matériel.
– Support des fichiers d’état implémenté. (La ROM n’est pas sauvegardée avec le fichier d’état)
– si l’émulation complète est activée, que le fichier d’état est chargé et que le fichier d’état ne contient pas l’état MCU du clavier, le code MCU est exécuté en premier dans une boucle serrée jusqu’à ce que le clavier soit en état d’inactivité (codes de touche init et init envoyés) pour ne pas causer de confusion possible. Le programme chargé dans le fichier d’état n’a probablement pas besoin de codes de touches supplémentaires.
– Ajout du « Keyboard » aux extensions intégrées. Il a deux objectifs (jusqu’à présent), permettre la sélection d’une image rom personnalisée et l’option d’émuler les défauts du clavier (RAM/ROM/Watchdog) que le MCU du clavier détecte et fait clignoter la led capslock.
– La case à cocher « Keyboard connected » du panneau du chipset a été remplacée par le mode clavier (« Disconnected », « UAE keyboard » et la liste des différents modèles de claviers émulés de bas niveau).
*) Il y a une histoire derrière tout ça. Ross a accidentellement perturbé le handshake du clavier dans l’un de ses tests ross(tm) et cela a fait que le clavier de l’A500 a partiellement cessé de répondre. Je ne m’en suis pas vraiment préoccupé à ce moment-là, mais quelques mois plus tard, il a été testé à nouveau et le comportement bizarre du clavier a été réduit à une simple impulsion « trop longue » du handshake. Le dump ROM du MCU a été désassemblé et examiné. Ma décision a été de l’émuler complètement parce que ce comportement, le timing du transfert du code des touches (et le clignotement du verrouillage des majuscules) est pratiquement impossible à émuler avec précision en haut niveau. J’ai trouvé un émulateur de 6502 très facile à utiliser et il m’a fallu environ 2 jours pour l’implémenter. (D’autres MCUs ont été implémentés quelques semaines plus tard)
NOTES DIVERSES :
Débogueur DMA nouvelles lignes Denise/Lisa et Agnus/Alice :
Denise/Lisa : WHVUB (W=Horizontal DIW, H = Horizontal blanking, V = Vertical blanking, U = Burst, B = BPL1DAT HDIW). REMARQUE : Ces champs ne sont remplis que lorsque la ligne de balayage est entièrement émulée. Les lignes de balayage partielles ne comportent que des points d’interrogation.
Agnus/Alice : WBEE HVCHVCB (W=Vertical DIW, B = BPRUN interne [devient D si DDFSTOP passe la condition], E = VE interne, E = P_VE interne (ECS/AGA uniquement), HVC = Hardwired HSYNC/VSYNC/CSYNC suivi par HS/VS/CS programmé, B = HBLANK programmé)
A1000 PAL Agnus est pseudo-PAL : le nombre de lignes et la ligne de fin VB ont été modifiés en valeurs PAL (262/263 -> 312/313, 20->25), la bascule LOL a été désactivée mais tous les autres timings utilisent les valeurs NTSC. Cela affecte la sortie CSYNC (positions de changement d’état vsync impaires/paires erronées, impulsions d’égalisation/serration erronées), mais la plupart des téléviseurs PAL « modernes » des années 1980 le gèrent sans problème. Ceci est maintenant émulé dans Ultra extreme debug (C).
Seules les modifications de A1000 à OCS Agnus semblent l’être :
– Correction du bit occupé du Blitter. (L’écriture de BLTSIZE met BUSY immédiatement, à l’origine BUSY était mis en place quand le blitter avait le premier slot DMA libre).
– Le début du vblank vertical câblé a été déplacé de la ligne 0 à la dernière ligne. C’est ce qui a déplacé l’interruption VERTB de la ligne 1 à la ligne 0, mais comme la solution était un simple changement de ligne interne de déclenchement VB (l’Agnus A1000 avait déjà des signaux internes pour les deux conditions), cela a aussi causé un nouvel effet secondaire : le strobe de la ligne 0 est devenu STRVBL (c’était STRHOR dans l’A1000. L’Agnus ECS l’a corrigé et il est devenu STREQU), mais comme l’OCS Denise ignore STRVBL (Oui, c’est illogique, n’est-ce pas ? STREQU active VB, STRHOR désactive VB. STREQU et STRVBL activent tous deux VB si ECS Denise ou AGA), la ligne 0 est toujours la dernière ligne visible si elle est combinée avec A1000 ou OCS Agnus. La dernière ligne est la dernière ligne visible si ECS Agnus/AGA.
EXEMPLES DE TESTS :
– Anciens fichiers d’état. Presque tous devraient encore fonctionner (quelques rares cas spéciaux de blitter ne peuvent plus être gérés).
– Toutes les démos habituelles mal codées (modifications de blitter, mid blit etc) devraient toutes fonctionner.
– Les collisions sprite à sprite/sprite à plan de bits/plan de bits à plan de bits devraient (encore) toutes fonctionner.
NOTE : Redémarrez toujours l’émulation entière entre les tests. Parfois, tous les états ne sont pas complètement réinitialisés lors d’un changement de configuration. Ceci sera corrigé plus tard.
4 janvier 2025 à 19 h 42 min #191007stephbb75
- Level 12
- Messages : 1677
Salut,
Il semble que se soit un gros on refait tout
Moi je resterais (pour le moment) à la version 5 puisque mon CPU ne supporte pas le AVX2
et que cela fait bien longtemps que je ne teste plus les beta.
Faudrait que pense tout de même à changer mon PC un jour, le I5 2300 commence a dater…
https://youtube.com/@stephbb75
4 janvier 2025 à 21 h 25 min #191011sink
- Level 6
- Messages : 378
excellent, merci pour la trad, je la test depuis 20 minutes et je vois des différences effectivement, l’année commence bien ;)
5 janvier 2025 à 14 h 23 min #191038Staff
Zarnal
- Level 23
- Messages : 8047
J’aurais bien testé rapidement mais impossible ( aujourd’hui ) faute d’AVX2.
A1200 Commodore mutant " FrankenAmiga" + 68040 + 8MO + SD 8go - A1200 ESCOM. HD 20MO. Mon meilleur et seul A500 : WinUae. CPC 6128-CPC 464.
5 janvier 2025 à 17 h 47 min #191054Staff
Aladin
- Level 25
- Messages : 15744
WinUAE 6.0 beta 2 (05/01/2025)
https://eab.abime.net/showpost.php?p=1724317&postcount=29
– Correction de l’image doublée horizontalement des sprites AGA de 32 bits de large.
– Correction de la mise à l’échelle automatique dans les modes AGA.
– Correction du mode « HAM » avec 4 plans ou moins. La variable de couleur du pixel précédent du mode HAM n’était pas réinitialisée correctement.
– L’artefact du bord droit NTSC était incorrectement visible sur le bord gauche en mode overscan normal. Il n’est désormais visible qu’en mode Overscan+ et supérieur.
– Les modes double balayage que le VGA commute automatiquement en superhires avaient un décalage horizontal aléatoire.
– L’écriture de BLTCON1 ne mettait pas à jour le bit DESC interne, ce qui faisait que l’écriture suivante de BLTBDAT pouvait utiliser la valeur de direction du blit précédent lors du décalage initial.
– Correction du débordement du tampon du fichier d’état du blitter lors de la sauvegarde.
– Correction d’un mouvement étrange de la fenêtre lorsque l’on clique sur la barre de titre et que l’on la maintient enfoncée et que l’option « Capturer automatiquement la souris lorsque la fenêtre est activée » est activée.
– La hauteur du tampon d’affichage interne était trop grande de quelques pixels, si la hauteur de la fenêtre était exactement la même que celle de l’affichage visible, le bas de la fenêtre avait une ligne noire et la ligne supérieure était manquante.
8 janvier 2025 à 4 h 43 min #191116Staff
Aladin
- Level 25
- Messages : 15744
WinUAE 6.0 beta 3 (07/01/2025)
https://eab.abime.net/showpost.php?p=1724765&postcount=34
– Ajout d’un délai plus long avant que le bit BPLCON0 ERSY=1 sans genlock n’arrête les compteurs horizontaux/verticaux.
– Deux autres corrections de conflits cuivre/blitter. (Le cuivre arrêté à cause d’un registre dangereux ne comptait pas comme le cuivre n’ayant pas de requêtes actives, la séquence COPJMP suivie du dernier cycle de MOVE « sauté » ne « sautait » pas l’écriture).
– Correction d’un autre débordement du fichier d’état.
– Les modes CPU plus rapides ont maintenant un pipeline RGA séparé plus long qui permet au CPU rapide d’écrire plusieurs registres Denise/Lisa dans un seul CCK sans causer de débordements et d’écritures de registres perdues.
– L’effet « SWIV scorebord » (BPLCON2>=5 et 5 ou 6 plans) ne fonctionnait pas en mode 6 plans.
– Réimplémentation des options TV Overscan.
13 janvier 2025 à 12 h 08 min #191420Staff
Aladin
- Level 25
- Messages : 15744
WinUAE 6.0 beta 4 (11/01/2025)
https://eab.abime.net/showpost.php?p=1725468&postcount=43
– Copper DMA est désactivé et vblank strobe : le cuivre charge le nouveau pointeur immédiatement, et non pas lorsqu’il obtient le premier slot DMA.
– ERSY=1 sans genlock arrête maintenant réellement les compteurs horizontaux/verticaux au lieu de faire semblant. Ancien hack supprimé.
– La lecture du contenu du registre de couleur AGA (RDRAM=1) lisait l’ancienne valeur de la ligne de balayage précédente à cause de la mise en mémoire tampon du bus RGA.
– Certains modes ECS Denise avaient des déchets visibles à gauche et/ou à droite et l’affichage se terminait 1 pixel trop tôt.
– Le champ de révision par défaut (non modifiable) du chipset avancé Agnus n’incluait pas toujours le drapeau du bit ECS. Bogue visuel uniquement. (Très vieux bogue).
– Les modes TV Overscan fonctionnent maintenant, y compris les modes genlock.
– Mise à jour de la largeur d’écran et de la position horizontale en mode programmé.
-
AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.