1

-

2

http://tigcc.ticalc.org/tut/interrupts.html (la version originale téléchargeable se trouve sur http://tict.ticalc.org)
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

3

Il suffit juste que tu rediriges une interruption vers une routine qui incrémente une variable. Ensuite, connaissant la fréquence de l'interruption, tu récupères la valeur du compteur au bout d'une seconde.
Par contre, les interruptions n'ont pas les mêmes fréquences sur hw1 et 2, donc fais gaffe à ne pas récupérer des valeurs fausses.

4

-

5

Pardon, j'ai du mal lire la phrase 4 de ton post alors. Donc en C, c'est bon, Kevin t'a donné la réponse. En asm, détourner une interruption, c'est fait en 2 lignes: tu sauvegardes le vecteur dans une variable, puis tu mets l'adresse de ta routine en $40000+vecteur_d'int. Exemple:
	move.l	$64,Int1
	move.l	#TaRoutine,$40064
	[...]
Int1	dc.l	0
TaRoutine
	[...]
	rte

Le vecteur d'une interruption est en $60+n°int*4. Sa fréquence, tu fais des tests.

6

move.l #$40064,a0
lea Int1(pc),a1
move.l (a0),(a1)
lea TaRoutine(pc),a1
move.l a1,(a0)

pour optimiser un peu en taille.

7

Orion> Attention, dans certains cas, il est important de jouer l'interruption que tu remplaces (par ex, si tu utilises l'AI3 pour compter ton fps, il est important que tu exécute l'interruption d'AMS quand même), pour cela, il te suffit de jumper dans le code de l'ancienne interruption à la fin de la tienne (pas de rte)

8

Pour jumper c'est un peu particulier alors :
Int:
...
OldAI:  jmp 0


Et à l'installation :
 lea OldAI+2(pc),a0
 move.l <vecteur>,(a0)

On ne peut pas utiliser jmp (aX), l'AI ne doit pas utiliser de registre.

Sinon on peut faire :
OldAI dc.l 0
...
AI:
...
<restauration des registres détruits avec un movem)
 move.l OldAI(pc),-(a7)
 rts

qui simule un jmp.

9

Regarde ici Orion_: topics/24913-les-interruptions
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.