Amstrad Plus Forum Index

Amstrad Plus
Découverte de la gamme Old et Plus des Cpc d'Amstrad.

 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Valeur de HCC variable en entrée d'interruption

 
Post new topic   Reply to topic    Amstrad Plus Forum Index -> Programmation Cpc -> CRTC
Previous topic :: Next topic  
Author Message
gurneyh


Offline

Joined: 18 Dec 2018
Posts: 13
Masculin
Point(s): 13
Moyenne de points: 1.00

PostPosted: Wed 18 Nov - 18:50 (2020)    Post subject: Valeur de HCC variable en entrée d'interruption Reply with quote

Salut à tous Smile


Je cherche à afficher une zone en utilisant R9 = 0, dans le but de ne consommer que 2Ko.(zone de 8 lignes)

Seulement avec une telle valeur de r9 on doit être assez précis, du moins il faut placer la valeur 0 lorsque le compteur de ligne est lui aussi égal à 0, sinon overflow du r9.

Tout fonctionne "presque". 
Le problème que je rencontre, c'est que mes interruptions ne sont pas toujours appelée au même moment.

À l'entrée de la fonction de callback du gestionnaire d'interruption propre à l'affichage de cette zone, je peux voir avec winape que HCC varie.
Il varie en plus dans des proportions assez importantes: entre #0e et #20.

Je ne comprend pas trop comment j'arrive à ce résultat, sachant que j'évite justement de travailler avec les interruptions bloquées. Sauf erreur, je n'ai même aucune portion de mon code qui travaille avec les interruptions bloquées.


Je pense m'en sortir ne jouant sur les valeurs de tempo pour retomber sur mes pattes quelque soit la valeur de HCC en entrée de l'interruption, mais ça ressemble tout de même à une rustine.

Auriez vous une idée, sur ce qui pourrait poser ce problème ? En espérant déjà avoir été assez clair, ce qui n'ai jamais garanti. Smile


a+


Back to top
Publicité






PostPosted: Wed 18 Nov - 18:50 (2020)    Post subject: Publicité

PublicitéSupprimer les publicités ?
Back to top
Ast
Administrateur

Offline

Joined: 05 Sep 2014
Posts: 2,977
Masculin
Point(s): 390
Moyenne de points: 0.13

PostPosted: Fri 20 Nov - 00:01 (2020)    Post subject: Valeur de HCC variable en entrée d'interruption Reply with quote

gurneyh wrote:
Salut à tous Smile


Je cherche à afficher une zone en utilisant R9 = 0, dans le but de ne consommer que 2Ko.(zone de 8 lignes)

Seulement avec une telle valeur de r9 on doit être assez précis, du moins il faut placer la valeur 0 lorsque le compteur de ligne est lui aussi égal à 0, sinon overflow du r9.

Tout fonctionne "presque". 
Le problème que je rencontre, c'est que mes interruptions ne sont pas toujours appelée au même moment.

À l'entrée de la fonction de callback du gestionnaire d'interruption propre à l'affichage de cette zone, je peux voir avec winape que HCC varie.
Il varie en plus dans des proportions assez importantes: entre #0e et #20.

Je ne comprend pas trop comment j'arrive à ce résultat, sachant que j'évite justement de travailler avec les interruptions bloquées. Sauf erreur, je n'ai même aucune portion de mon code qui travaille avec les interruptions bloquées.


Je pense m'en sortir ne jouant sur les valeurs de tempo pour retomber sur mes pattes quelque soit la valeur de HCC en entrée de l'interruption, mais ça ressemble tout de même à une rustine.

Auriez vous une idée, sur ce qui pourrait poser ce problème ? En espérant déjà avoir été assez clair, ce qui n'ai jamais garanti. Smile


a+


Salut Gurneyh,

1. Bin tu veux obtenir quel type d'écran ? Ce sera plus clair, à mon avis.
2. Quelles sont les contraintes ?
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Back to top
gurneyh


Offline

Joined: 18 Dec 2018
Posts: 13
Masculin
Point(s): 13
Moyenne de points: 1.00

PostPosted: Sat 21 Nov - 11:38 (2020)    Post subject: Valeur de HCC variable en entrée d'interruption Reply with quote

Salut Ast, 

J'ai résolu mon problème, mais je vais expliquer.


 
Quote:
1. Bin tu veux obtenir quel type d'écran ? Ce sera plus clair, à mon avis. 


L'idée était d'avoir une zone de jeu, et un hud fixe dessous. J'utilise R9 = 0 sur la partie du hud, pour économiser de la mémoire.


Sur la zone de jeu, je scrolle à la fois horizontalement et verticalement. Et ici le scroll vertical est réalisé en utilisant le registre R5.
Je m'arrangeais bien sur pour que la somme des r5 soit égale à 7 et que le nombre total de lignes soit de 312.

Seulement, comme R5 varie il était difficile de changer R9 au bon moment.
J'ai résolu le problème en déplaçant le hud au dessus de la zone de jeu, et en ajoutant un 3ème écran sous la zone de jeu qui lui à une R5 à 0.
Ainsi, lorsque j'arrive à l'affichage du hud, je tombe toujours au même endroit et plus de soucis.


La question pour laquelle je n'ai pas de réponse est : pourquoi pour une même interruption, je n'entre pas toujours dans cette interruption avec une valeur de HCC fixe ? Je n'ai pas de code exécuté avec les interruptions coupées, donc j'avoue ne pas comprendre.



 
Bref, on va considérer ce problème comme résolu. Smile


Merci tout de même, 

Bon week end Smile


Back to top
Display posts from previous:   
Post new topic   Reply to topic    Amstrad Plus Forum Index -> Programmation Cpc -> CRTC All times are GMT + 2 Hours
Page 1 of 1

 
Jump to:  

Index | Administration Panel | Create a forum | Free support forum | Free forums directory | Report a violation | Cookies | Charte | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group