Encore en plein coding, je me pose une question métaphysique à laquelle certain d'entre vous pourront sans doute répondre.
A votre avis, quelle est la valeur de HCC après un Halt ?
Pour ceux qui l'ignoreraient encore, Hcc=Horizontal Char Counter (Compteur de caractères Horizontal). C'est le compteur interne du Registre 0 du Crtc. Pour information, je trouve la valeur de 5 après chaque HALT.
1. Est-ce réellement le cas ? 2. Est-ce que celle-ci est toujours la même ?
Merci pour vos réponses éventuelles.
Mon programme de test :
Code :
org #a000 ent $ ;
di ld hl,#c9fb ; on vire les ints ld (#38),hl ; main ld b,#f5 ; test vbl vsync in a,(c) rra jr nc,vsync ; ei halt ; Que vaut Hcc après l'execution du halt ? Ici Hcc=5 ? .....
Dans ton cas précis, tu as une sortie de boucle quand VSync est on. Soit, lorsque HCC = 0. Ensuite: - RRA : 1 NOP - JR NC : 2 NOP - EI : 1 NOP - HALT : 1NOP (l'interruption est (sans doute) là depuis des lustres, vu que tu les a DI avant d'attendre VSync)
Total = 5 NOP, soit 5 us, soit... HCC = 5.
Est-ce variable ?
Je pense que si tu lance ta routine au bon moment (c'est à dire juste après la dernière interruption avant VSync), tu peux avoir des résultats différents. Dans ce cas, tu aurais un comportement où l'interruption (qui pop sur la fin de HSYNC, soit, HCC = R2+R3 soit 46+14 = 60 dans un cas standard) arriverait 4 us plus tôt (pour R0 = 64).
Ce qui signifie que tout dépend sans doute de tes valeurs de registre R0, R2, R3 dans le cas ou tu places ton halt au bon moment (soit sans interruption en attente).
EDIT : Vu ma faible expérience pratique, j'espère ne pas avoir dit trop d’âneries
Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 66 invité(s)
Vous ne pouvez pas publier de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas insérer de pièces jointes dans ce forum