Salut à tous,
j'ai juste une petite question, j'ai vu dans la doc qu'il y a un timer personnalisable(USER_TIMER).. Le problème c'est que j'aurais besoin de quelques timers de plus (3 ou 4) .. est-ce que c'est possible sans toucher aux times systèmes (APD etc ..)
@+ et merci
Zeph Le 29/01/2003 à 14:24 Pourquoi as-tu besoin de 4 timers ? Tu ne peux pas compter différentes fréquences mais à partir d'un seul timer (le 6, USER_TIMER par exemple) ?

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
Ou tu te bases simplement sur le 1
Ah bon, comment peut-on compter 4 fréquences différentes à partir d'un seul timer ?
Zeph Le 29/01/2003 à 16:28 Bah il suffit que tu déclare 4 variables, que tu incrémente tous les X tics du compteur. Par exemple un timer1 qui s'incrémente tous les 2 tics, un timer2 qui s'incrémente tous les 3 tics, un timer3 qui s'incrémente tous les 5 tics et un timer4 tous les 7.
Ce n'est qu'un exemple, et en plus c'est loin d'être la solution la plus optimisée. Mais ça devrait résoudre ton problème ?
(je ne vois pas ce qu'apportent de plus 4 "vrais" timers différents)

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
> et en plus c'est loin d'être la solution la plus optimisée.
En effet. La très lente divu est utilisée pour faire les modulos, à moins que la variable soit incrémentée tous les 2^n-1 ticks (and est alors utilisable)..
4 "vrais" timers différents n'apportent en effet pas grand chose; et il n'est pas sûr qu'il soit possible d'utiliser 4 timers à la fois sur toutes les versions d'AMS.
Utiliser 3 timers est possible pour AMS < 2.04, et c'est en principe un maximum pour être sûr de ne pas interférer avec le système, sur toutes les versions de système.
En utiliser 4 ne me paraît propre que sur AMS 2.07 et plus (en utilisant de manière détournée le timer 8, BP_TIMER, si c'est autorisé). Détourner le timer 7 qui n'existe que sur AMS >= 2.04, et qui sert au test des batteries par l'AUTO_INT_5, n'est pas propre.
Ben oui, mais on n'a pas un choix très important de fréquences différentes, comme l'a précisé XDanger.
Zeph Le 29/01/2003 à 21:41 Ah oui il l'avait dit effectivement... Bah c'est mieux que rien.

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
L'AUTO_INT_5 ne fait pas 395 Hz par défaut (il est possible qu'elle les fasse, mais il faut bidouiller les deux ports). c'est l'AUTO_INT_1, et seulement sur HW1; sur HW2, c'est 256 Hz.
Et je n'ai pas répondu à la question, d'ailleurs:
"besoin de quelques timers de plus (3 ou 4) .. est-ce que c'est possible sans toucher aux times systèmes (APD etc ..) "
Si tu ne veux toucher à aucun timer qui soit utilisé par une quelconque fonction du système, tu ne peux, à ma connaissance, utiliser que les timer 1 et 6. Mais tu peux détourner le 2 si tu te moques de l'APD, le 3 si tu te moques du link, le 5 si tu n'appelles pas les fonctions BASIC qui l'utilisent. Détourner le 4 risque peut-être de mettre le bazar, en revanche.
Zeph Le 30/01/2003 à 23:20 En tout les cas :
- Si tu peux te passer de les détourner, c'est préferable
- Si tu les détourne quand même, indique le dans la notice de ton programme

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
BiHi Le 31/01/2003 à 16:39 Vertyos> Pourquoi est-ce important à tes yeux de prévenir que le programme modifie les interruptions?

;)
Zeph Le 31/01/2003 à 16:41 Si un programme détourne un timer qu'il ne devrait pas selon moi (autre que le 1 et le 6), je peux te dire qu'il ne sera pas sur ma calc, sauf si il vaut vraiment le coup.
J'en ai assez de ces jeux qui déreglent l'heure ou produisent des effets indésirables dans le même genre, et je pense que je ne suis pas le seul.

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
> GraphX permet d'affecter jusqu'a 5 fonctions a 5 timers indépendant
Mais bouffe de la place pour rien, n'est pas une fonction standard du système...
> J'en ai assez de ces jeux qui déreglent l'heure ou produisent des effets indésirables dans le même genre, et je pense que je ne suis pas le seul.
Si le programmeur programme comme il faut, ce genre de trucs n'est pas du tout censé arriver....
Zeph Le 31/01/2003 à 19:40 N'est pas censé arriver en effet, mais l'experience a prouvé que ça arrivait. Je demande simplement de le préciser dans la notice, ce n'est pas la mer à boire ?

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
Ah oui, j'avais oublié ça, tiens...
Par contre, je ne sais pas du tout ce qui provoque l'arrêt de l'horloge et pour le retrouver dans des sources en ASM, ça va être galère...
M'enfin, je vais essayer quand même.
C'est l'appel à OSSetSR ou trap #1. Il faut rediriger les interruptions à la place.
santi Le 31/01/2003 à 23:26 il m'a dit qu'il allé corriger ça la dernière fosi que je lui ai parlé.
Une grande partie des programmes existants supprime beaucoup d'interruptions, particulièrement l'AUTO_INT_3, justement. OSSetSR(0x0400) ou son équivalent trap #1 sont courants. Si on ne veut pas l'AUTO_INT_5, ce qui est relativement fréquent aussi, on met 0x0500.
Patrick Davidson est un bon programmeur, et quelqu'un de bien parce qu'il fait des programmes open-source...
Je ne vois pas où est le problème de toute façon. XDanger le voulait comme un argument en défaveur de GX, alors que je ne vois pas où est le problème. C'est intolérable étant donné notre pacte.

Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 :
www.ti-fr.com.
Quelques idées personnelles
ici.