Fool-DupleX a écrit:
Logiquement ce clignotement depend de deux choses :
1. le timer du PIA6846, j`imagine que celui-ci est regle a 50 Hz, quelle que soit la machine ?
2. le registre de comptage du curseur EFCMPT ($6075)
Donc c'est essentiellement logiciel, donc certainement parfaitement emule par ton emulateur ; pourquoi t'y interesses-tu tant ?
Fool
Ok je vais tout dire
Jusqu'à la version 9.4 de dcmoto, je n'émulais pratiquement pas le compteur programmable du 6846. L'IRQ était générée à fréquence fixe (à ce propos je ne crois pas que ce soit 50 Hz pour toutes les machines). La valeur du compteur était évaluée en fonction de la position du spot dans l'écran, ce qui n'est pas la réalité.
En version 9.5 il y a un léger progrès : possibilité de changer la valeur du latch, décomptage à la fréquence normale ou multipliée par 8 en fonction d'un bit du registre de contrôle, et quelques petites autres choses, comme l'arrêt et le redémarrage du compteur. Pas l'émulation parfaite, mais le strict nécessaire pour avoir un comportement plus réaliste.
Après ces modifications, j'ai constaté peu de changements dans l'émulation TO8, TO8D et TO9+. En revanche, le clignotement du curseur du TO9, un peu erratique dans les versions précédentes, est devenu très stable. Lent pour le Basic 128, plus rapide pour le Basic 1.0.
Je voudrais maintenant connaître la fréquence réelle sur le vrai TO9, pour savoir si l'émulation du 6846 est bonne ou pas. C'est facile à mesurer en comptant les clignotements sur une dizaine de secondes, et ça me rendrait service. En revanche les hypothèses non confirmées par des mesures ne font que renforcer mes doutes
Pour Samuel : la période de 200 ms (un XOR toutes les 100 ms) correspond bien à ce que j'obtiens pour le TO8, TO8D et TO9+. Pour le TO9, dcmoto v9.5 est beaucoup plus lent. Est-ce une erreur, ou est-ce la réalité, this is the question. Le TO9 reste encore mystérieux pour moi, car je n'ai pas la machine pour vérifier mes hypothèses. J'espère qu'il en reste encore au moins un en état de marche ?
Daniel