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/