CPC Rulez https://cpcrulez.fr/forum/ |
|
Calcul Valeur Hcc https://cpcrulez.fr/forum/viewtopic.php?f=4&t=5869 |
Page 1 sur 1 |
Auteur : | AsT [ 13 Jan 2017, 18:19 ] |
Sujet du message : | Calcul Valeur Hcc |
Hello, 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 ? ..... Source : Amstrad Plus |
Auteur : | Lone [ 14 Jan 2017, 14:50 ] |
Sujet du message : | Re: Calcul Valeur Hcc |
Hello Ast, Ce que je pense : 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 |
Auteur : | AsT [ 14 Jan 2017, 20:51 ] |
Sujet du message : | Re: Calcul Valeur Hcc |
Comme je te l'ai déjà dit sur le forum Amstrad Plus, merci à toi pour tes explications. |
Page 1 sur 1 | Le fuseau horaire est UTC+1 heure |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |