Je voudrais mesurer un temps avec une précision supérieure à celle des timers de la calc (20ms). D'après le doc de Tigcc, il est possible de changer cette période qui est celle de l'appel de l'Auto-Int 5.
Every time the Auto-Int 5 is triggered (20 times per second if you didn't change the programable rate generator), the current value of the timer is decremented by 1.
Mais j'ai pas trouvé comment.
Je n'y connais pas grand chose sur les interruptions du 68000 mais est ce réalisable ?
Merci.
Mon site :
[TI68k] Space Dementia I : Version 0.8
[TI68k] Space Dementia II, mod arena : Version 0.3 avec IA
[OpenGL] Environment Mapping 3ds Viewer : version 1.0
[OpenGL] Programmation d'une simulation de voiture avec le moteur physique
Tokamak Ouep, c d'ailleurs comme ca que geogeo fait pour Polysnd ... regardes-en les sources ..
Seul la version 2.0 gére l'interruption n°5 donc je n'ai pas encore diffusé les sources et je le ferait lorsque PolySnd 2.0 seat terminé ce qui n'est pas le cas en ce moment.
Voilà comment tu doit procéder:
-Tu doit reprogrammer l'int5 de telle façon que l'interruption ne soit plus décrémenté, en effet il y a un certain counteur qui compte jusqu'à une valeur définis (par défaut 0xB2 donc 178 donc lorsque 'il passe de 255 à 178 il remet le counteur à 255 et lance l'interruption. Dans ton cas tu doit faire varier ce counteur de 0x00 à 0xFF (a savoir) 0xFF tu as la vitesse max de l'int5. Il faut modifier 0x600017. Pour encore avoir une vitesse supérieur de l'ordre de 11 khz sur HW1 et 8 khz sur HW2 tu doit allumer certain bit à l'adresse 0x600015 donc si tu veut une telle vitesse tu doit allumer les bits 0b0000 1011 voilà.
Regarde le fichier Hardware de la TI-89 que tu trouveras sur tict.ticalc.org
Et n'oublie surtout pas de sauvegarder ce que tu as changé et aussi d'enlever la protection de la table vectorielle lorsque tu veut écrire dedans.

Merci. Je devrais y arriver avec la doc Hardware TI-89.
Mon site :
[TI68k] Space Dementia I : Version 0.8
[TI68k] Space Dementia II, mod arena : Version 0.3 avec IA
[OpenGL] Environment Mapping 3ds Viewer : version 1.0
[OpenGL] Programmation d'une simulation de voiture avec le moteur physique
Tokamak Je suis en lutte pour calculer avec précision les fréquence.
dans le fichier hardware ils disent, suivant l'état de deux bits de 0x600015 :
Increment rate of $600017
%00: OSC2/2^5
%01: OSC2/2^9 (AMS default)
%10: OSC2/2^12
%11: OSC2/2^18
Geogeo, connais tu (ou as tu calculé) la fréquence de l'OSC2 ? (sur HW2)
Ensuite, si je comprends bien, la fréquence d'incrément de la variable qui commence à la valeur stockée en 0x600017 et finit en 0x00, c'est frequence(OSC2)/2^9 ?? (par défaut, ou /2^5, /2^12... si on change les deux bits concernés de 0x600015)
Mon site :
[TI68k] Space Dementia I : Version 0.8
[TI68k] Space Dementia II, mod arena : Version 0.3 avec IA
[OpenGL] Environment Mapping 3ds Viewer : version 1.0
[OpenGL] Programmation d'une simulation de voiture avec le moteur physique
Tokamak Oui mais cette fréquence malheuresement dépend de l'état des piles. Elle fait du 8192 hz précisément avec des piles neuves. La je te donne la fréquence max mais pour les autre je ne sais pas. Non ça commence à partir de 0xFF jusqu'à la valeur stocké dans 600017 et donc execute interruption.
Uther Le 26/04/2003 à 18:33 la seule AI précise c'est l'AI3 sur HW2. toute les autres dépendent de l'état des piles. ceci dit tu n'est peut-être pas obligé de modifier la vitesse de AI5 si la vitesse d'auitre AI te conviennent
On ne peut pas sauvegarder la valeur de manière fiable. Le port fonctionne différemment en lecture qu'en écriture. La seule manière de remettre la valeur d'origine est de détecter la version matérielle et de remettre la valeur par défaut en conséquence.
C'est celle du controlleur LCD sur HW1 je croye qui est de:
HW1=~680 Khz - ~770 khz
HW2=~520 khz
Et sur HW2 il y a OSC3 basé sur le controleur LCD:
680 khz.
En parlant de ça comment faire pour avoir une interruption > 8kz???
Es-tu sûr que c'est fiable comme méthode? On en a discuté il y a quelques mois sur le forum de la TICT, et Greg Dietsche a dit que cette méthode n'était pas fiable, parce qu'on risque de rater le bon moment.
en désactivant toutes les IT, on fait une boucle qui sans cesse regarde si c le bon moment...
il faudra que ça change qd même TRES vite pour qu'on rate le bon moment en le seul temps de boucler, non ?
Oui, mais ça change très vite. Plusieurs fois par milliseconde.
Les ints sont désactivées, et le processeur est beaucoup plus rapide que le changement du timer, je ne pense pas qu'il puisse y avoir de problème.