1

Tout le monde parle d'interruptions, mais malgré mes recherches dans la faq, je ne sais pas exactement ce que c'est.

Pour moi, une interruption permet de faire executer des instructions par le microprocesseur sans que le programme executé ne l'ai ordonné. Les interruptions permettent donc enormement de chose.
Ne sachant ce que c'etait, j'ai toujours desactivé toutes les interruptions (vu que ca ne plantait pas et accelerait tout).

Quelques questions:
Qu'est ce que c'est (si j'ai tort) ?
Comment en activer des personnalisées (ex: quand une horloge passe a 0, on incremente une variable de 1) ?
Est-ce que le fait de verifier en permanence les interruptions ralentit le processeur?
What kind of technology is this?

2

Galmiza
a écrit : Ne sachant ce que c'etait, j'ai toujours desactivé toutes les interruptions (vu que ca ne plantait pas et accelerait tout).

C'est une très mauvaise idée, d'autant plus que tu ne savais même pas ce que c'est. Par exemple, tu bloques l'horloge de AMS 2.07 et supérieures en faisant ça.
Qu'est ce que c'est (si j'ai tort) ?

Ta description convient à peu près.
Comment en activer des personnalisées (ex: quand une horloge passe a 0, on incremente une variable de 1) ?

Il faut utiliser les interruptions existantes. Les auto-interruptions n°1 et 5 sont adaptées pour ce genre de choses.
Est-ce que le fait de verifier en permanence les interruptions ralentit le processeur?

Non.
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

Ce sont des routines qui se déclenchents lorsque certains évenements se produisent. Par exemple la 1 et la 5 sont déclenchées à intervalles réguliers, la 3 aussi, il y en a qui fonctionnent sur l'appui d'une touche je crois, une pour On peut-être... enfin bon en gros quand l'évenement en question a lieu le microprocessueur exécute une routine dont l'adresse est stockée dans le vecteur d'interruption correspondant (et modifiable au besoin), et exécute le code voulu. C'est comme ça que marchent les timers et les niveaux de gris, en 'détournant' une interruption.

maintenant d'autres vont coorriger tputes les betises que j'ai dites et apporter plus de détails smile
mais cherche dans la doc de tigcc ou sur ticalcs ou n'imorte où y'a plein de docs dessus smile
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

4

Il y a les interruption logiciel, celle qui sont executer périodiquement comme l'int 1 et 5 et les interruptions matériels qui ce déclenche lors d'appuye de la touche ON int 6 ou l'appuye d'une touche au clavier int 2. Ce que je dis est un peu faux car ses interruption ce déclenche lors d'événement métériel donc pour la 1 et la 5 c'est un compteur qui les déclenches. Il y a aussi les interruptions logiciel (TRAP) qui elles execute une routine...
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.

5

Ok, merci beaucoup, en relisant vos reponses puis celles a mon post sur les niveaux de gris, j'ai tout compris !

Je reposterais si je rencontre de nouveaux problemes.
What kind of technology is this?

6

Plein de petites questions:

Quelle est la frequence de lecture des interruptions par le CPU ?
Peut-on modifier cette frequence ?
Est-ce tres rapide et comment faire ?
Quel est le lien avec les horloges externes ?
Existe-il un VTI HW2 ?
What kind of technology is this?

7

Bas chaque interruptions à ça fréquences et comme je l'ai dit d'autre son matériel donc pas vraiment de fréquences.

Pour la 1: 320 hz
Pour la 2: Appuye sur le clavier
Pour la 3: 1 hz sur HW2 et un peu plus ou moins sur HW1
Pour la 4: Gestion du link
Pour la 5: De 100 hz à 8192 HW2 et 11000 HW1, il est possible de la régler
pour la 6: Touche ON
pour la 7: Gestion de la RAM (protection memory violation)

Bas le clavier c'est l'interruption la plus rapide, puis la 5....
Quel est le lien avec les horloges externes ?

Je ne vois pas ce que tu veut dire par là?
Existe-il un VTI HW2 ?

Je ne pense pas, mais il y avait WTI en développement!

VTI emule pas à 100% l'hardware et c'est bien dommagesad
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.

8

Ça ne fonctionne pas comme ça.
Une interruption peut interrompre le µP à n'importe quel moment. Quand elle se déclenche, le µP finit son instruction en cours et exécute le sous-programme correspondant à l'interruption qui s'est déclenchée.

9

Pour la 1, il me semble que c'est 256Hz sur HW2

10

geogeo, tu as dit:
Pour la 5: De 100 hz à 8192 HW2 et 11000 HW1, il est possible de la régler


Comment la regler ?
What kind of technology is this?

11

Regarde dans j89HW.txt, c'est expliqué

12

En fait sur TI il existe 3 horloge.
OSC1, le microprocesseur de 12 MHZ sur HW2 et 10 MHZ sur HW1
OSC2, le controlleur LCD et le link port I/O sur HW2 et le controlleur LCD sur HW1
HW1 ~680 khz à 770 khz en fonction des piles
HW2 ~520 khz
Cette horloge détermine l'APD
OSC3, Seulement sur HW2, emule le cntroleur LCD des HW1, environ à 680 khz.

Toute ses horloges dépendent des piles mais la 3 est encore plus lente si les piles sont usée.

Chaque interruption à son niveaux de prioritée, donc la 1 à la prioritée haute....

La 1 fonctionne à OSC2/2^11 donc 332 hz sur HW1 et 253 sur HW2 mais ça dépend des piles.
La 2 le clavier, modifie un port.
La 3 OSC2/2^19
La 4 Link service
La 5 programmable interruption, elle est basé sur un compteur sur 8 bits qui 'incrémente et quand il atteint 0xFF il execuite l'interruption.
La 6 ouche ON
La 7, protege des zones en RAM comme la table des vectoriel pour masquer les interruptions et les rediriger...

Pour l'interruption 5, il faut régler le port 0x600015 pour modifier le compteur (valeur d'origine 0xB2 et max 0xFF). et le port 0x600017 pour changer ça fréquence.
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.

13

il y a aussi la rtc qui aurait une influence sur la fréquence des AI si je me souviens bien, je n'ai pas pu remettre lamain sur le post en question, mais en regardant par-là où tout a commencé peut-être...
topics/54-4338-la-hw3-quon-craignait-tellement-va-arriver/5#138
(ceci dit je peux me tromper)
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

14

Je ne savias pas ça, c'est quand même bizarre cette horloge, elle n'ai pas documenté?
Elle sert à quoi?

Je pense que le hardware des TIs n'ai pas exploité à 100% et qu'il existerais des solutions pour émuler des niveaux de gris en hardware...
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.

15

C'est effectivement possible sur 92/92+ hw1, en utilisant les différents ports du lcd. Quelques tests expérimentaux ont été faits, mais ça n'a jamais été exploité.
Sur hw2 personne n'a rien trouvé de ce genre à ma connaissance...
Pour la rtc, son existence étaient connue (de par ceux qui passent leur temps à démonter leur calc et qui ont fini par tomber sur le composant), mais les ports n'ont été trouvés que l'an dernier.
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

16

C'est quand même bizarre que personnes ne s'y interesse plus.
La rtc c'est utile? Y a pas de bidouile possible directe dans le port LCD sur HW2?
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.

17

A l'aide, les lignes de code suivantes ne sont jamais executées:

int3_handler:
move.b (fps_timer),(fps_value)
clr.b (fps_timer)
rte
INT1          equ          $64     ;320 hz INT2          equ          $68     ;Appuye sur le clavier INT3          equ          $6c     ;1 hz sur HW2 INT4          equ          $70     ;Gestion du link INT5          equ          $74     ; De 100 hz à 8192 HW2 et 11000 HW1, il est possible de la régler  INT6          equ          $78     ;Touche ON INT7          equ          $7c     ;Gestion de la RAM (protection memory violation) IntOff:      move.l          d0,-(a7)           move.w          #$0700,d0               ;Désactive toutes les interruptions      trap          #1                              ;Effectué par trap #1           move.l          INT1,old_int1               ;Sauvegarde de l'ancien adresse de int1      move.l          INT2,old_int2               ;Sauvegarde de l'ancien adresse de int2      move.l          INT3,old_int3               ;Sauvegarde de l'ancien adresse de int3      move.l          INT4,old_int4               ;Sauvegarde de l'ancien adresse de int4      move.l          INT5,old_int5               ;Sauvegarde de l'ancien adresse de int5      move.l          INT6,old_int6               ;Sauvegarde de l'ancien adresse de int6      move.l          INT7,old_int7               ;Sauvegarde de l'ancien adresse de int7      bclr.b          #2,($600001)               ;Désactive la protection d'écriture dans la table vectorielle      move.l          #int1_handler,INT1          ;Met l'adresse dans la table vectorielle      move.l          #int2_handler,INT2          ;Met l'adresse dans la table vectorielle      move.l          #int3_handler,INT3          ;Met l'adresse dans la table vectorielle      move.l          #int4_handler,INT4          ;Met l'adresse dans la table vectorielle      move.l          #int5_handler,INT5          ;Met l'adresse dans la table vectorielle      move.l          #int6_handler,INT6          ;Met l'adresse dans la table vectorielle      move.l          #int7_handler,INT7          ;Met l'adresse dans la table vectorielle      bset.b          #2,($600001)               ;Active la protection en écriture de la table vectorielle            move.w          #0,d0                    ;Met 0 dans d0      trap          #1                    ;Exécute interruptions (rétablit interruptions)      move.l          (a7)+,d0      rts IntOn:      move.l          d0,-(a7)           move.w          #$0700,d0               ;Désactive toutes les interruptions      trap          #1                              ;Effectué par trap #1      bclr.b          #2,($600001)               ;Désactive la protection d'écriture dans la table vectorielle      move.l          old_int1,INT1               ;Met l'adresse dans la table vectorielle      move.l          old_int2,INT2               ;Met l'adresse dans la table vectorielle      move.l          old_int3,INT3               ;Met l'adresse dans la table vectorielle      move.l          old_int4,INT4               ;Met l'adresse dans la table vectorielle      move.l          old_int5,INT5               ;Met l'adresse dans la table vectorielle      move.l          old_int6,INT6               ;Met l'adresse dans la table vectorielle      move.l          old_int7,INT7               ;Met l'adresse dans la table vectorielle      bset.b          #2,($600001)               ;Active la protection en écriture de la table vectorielle            move.w          #0,d0                    ;Met 0 dans d0      trap          #1                    ;Exécute interruptions (rétablit interruptions)      move.l          (a7)+,d0      rts old_int1          dc.l     0 old_int2          dc.l     0 old_int3          dc.l     0 old_int4          dc.l     0 old_int5          dc.l     0 old_int6          dc.l     0 old_int7          dc.l     0
What kind of technology is this?

18

tu testes sous VTI ?
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

19

Ca ne marche pas sous VTI ni sur la vraie calculette.
What kind of technology is this?

20

(pas forcément de rapport mais) tu as une hw1 ou hw2?
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

21

Pour utiliser l'int 3 il faut modifier un port.0x600015 bit 2 et bit 1.
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.

22

Il me semble que VTI ne supporte pas l'AUTO_INT_3, de toute façon. Pas plus la VTI officielles que les VTI non officielles de JM - dont les auteurs originaux connaissent l'existence.
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

23

Je viens de réunir toutes les informations sur la RTC et les autres ports que j'avais postées dans le topic, qu'elles ne disparaissent pas avec le forum : http://membres.lycos.fr/extended/7000xx_Ports.txt

24

Ce port n'as pas d'effet sur l'auto int 5?
C'est vraiment bizarre ce truc je trouve.
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.

25

geogeo a écrit :
Chaque interruption à son niveaux de prioritée, donc la 1 à la prioritée haute....


Faux, l'auto Int 1 a la priorité la plus basse, et la plus haute et l'auto int 7, qui est d'ailleur une NMI (Non Mascable Interrupt)
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

26

Ca me précise un peu plus les choses.
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.

27

L'autoint 1 est toujours à 256Hz précisément, quelque soit la version d'ams et le hardware? Je l'ai benchée à 360Hz sur hw1/2.05 (ce qui correspond à la fréquence indiquée dans la doc de tigcc)...

28

256 Hz exactement sur HW2 seulement.

29

Ca dépend aussi des piles.
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.

30

Aïe sad
C'est donc une mauvaise idée de baser un compteur de frames sur l'autoint 1..
est-ce qu'il y a une interruption dont la fréquence ne varie pas selon le hw?