Accueil Ti-Gen Foire Aux Questions Chat sur le chan #tigcc sur IRC
Liste des membres Rechercher Aide
Bienvenue Invité !   Se connecter             Mes sujets   
Administrer
0 membre(s) et 1 visiteur(s) actif(s) durant les 5 dernières minutes Utilisateurs actifs : Aucun membre + 1 visiteur
Avant de poster sur le forum, il y a des régles de bases à respecter pour une bonne entente et un respect de tous.
Veuillez lire la charte du forum.
  :: Index » Forum Ti68K » Programmation C » interférence avec les NVG (84 réponse(s))
./REPRISE DU POST PRECEDENT (post n°19)   Marquer comme non lu.
andoh_wilfried Ecrit le: Samedi 9 juillet 2005 à 13:45 Déconnecté(e)    Voir le profil de andoh_wilfried Envoyer un email à andoh_wilfried Envoyer un message privé à andoh_wilfried  

Il est donc juste de ne les rediriger que localement.
si on veut éviter un crash.
est ce que le code C est nettement plus rapide quand on redirige les interruptions ?
    
./Post n°20   Marquer comme non lu.
Folco Ecrit le: Samedi 9 juillet 2005 à 13:57 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


arf ^^
je ne pense pas que ça crash si tu rediriges les interruptions. Il me semble bien que quand elles sont désactivées, une fonction comme GetKey() en basic les réactive.

Cependant, le code est plus rapide sans les interruptions. (fais juste gaffe à les rediriger, pas à les désactiver, pour AMS 2.07+...)
<<< Kernel Extremist©®™ >>>
Pas la peine d'aller là plus d'une fois tous les six mois...

"Il faut apprendre pour savoir qu'il faut apprendre pour savoir."
    
./Post n°21   Marquer comme non lu.
Lionel Debroux Ecrit le: Samedi 9 juillet 2005 à 14:17 Déconnecté(e)    Voir le profil de Lionel Debroux Envoyer un email à Lionel Debroux Visiter le site WEB de Lionel Debroux Envoyer un message privé à Lionel Debroux  

FLib a une fonction de désactivation d'interruptions. A moins d'avoir été modifiée, elle ne prend probablement pas en compte l'AI3. Mais oui, c'est nettement plus rapide.

> Il me semble bien que quand elles sont désactivées, une fonction comme GetKey() en basic les réactive.
Oui.
Lionel Debroux - membre de TICT.
    
./Post n°22   Marquer comme non lu.
andoh_wilfried Ecrit le: Samedi 9 juillet 2005 à 14:33 Déconnecté(e)    Voir le profil de andoh_wilfried Envoyer un email à andoh_wilfried Envoyer un message privé à andoh_wilfried  

l'AI1 et AI5, sont les seules Interruptions qu'on peut désactiver sans nuire au bon fonctionnent du TIOS ( Ti-Basic) tout en accélérant les code écrit en C ?
    
./Post n°23   Marquer comme non lu.
Folco Ecrit le: Samedi 9 juillet 2005 à 15:10 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


L'int 2 sert au clavier, la 3 à l'horloge, la 6 à la touche ON, la 4 à je sais plus quoi #shame-on-me#.
<<< Kernel Extremist©®™ >>>
Pas la peine d'aller là plus d'une fois tous les six mois...

"Il faut apprendre pour savoir qu'il faut apprendre pour savoir."
    
./Post n°24   Marquer comme non lu.
Lionel Debroux Ecrit le: Samedi 9 juillet 2005 à 16:07 Déconnecté(e)    Voir le profil de Lionel Debroux Envoyer un email à Lionel Debroux Visiter le site WEB de Lionel Debroux Envoyer un message privé à Lionel Debroux  

> L'int 2 sert au clavier,
Correct.
> la 3 à l'horloge,
Incomplet. Sur HW3 (Titanium), c'est le link USB.
> la 6 à la touche ON,
Correct.
> la 4 à je sais plus quoi #shame-on-me#.
Link "legacy" jack 2.5 mm stéréo utilisé par tous les modèles.
Lionel Debroux - membre de TICT.
    
./Post n°25   Marquer comme non lu.
LionelA Ecrit le: Samedi 9 juillet 2005 à 16:10 Déconnecté(e)    Voir le profil de LionelA Envoyer un email à LionelA Visiter le site WEB de LionelA Envoyer un message privé à LionelA  


Elles servent au clavier, au port I/O.

Pour l'AI1 et l'AI5 il me semblaient qu'elle servaient plutot a afficher les status dans la status bar et la 5 c'est l'interruption des timers. Les fonctions LIO_* utilisent des timers mais l'AI du port I/O je dirais que c'est plutot l'AI4.
la 3 sert a l'horloge sauf sur HW3 ou elle sert à l'usb.

> Il me semble bien que quand elles sont désactivées, une fonction comme GetKey() en basic les réactive.
Oui.

On parle bien de desactivation des AI1 et 5 ? C'est pareil si elle sont redirigées ? (ce qui n'est pas pareil que desactivées hein?) :)

[edit : cross avec Lionel]
-Edité le Samedi 9 juillet 2005 à 16:10 par LionelA-
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/
    
./Post n°26   Marquer comme non lu.
Lionel Debroux Ecrit le: Samedi 9 juillet 2005 à 17:55 Déconnecté(e)    Voir le profil de Lionel Debroux Envoyer un email à Lionel Debroux Visiter le site WEB de Lionel Debroux Envoyer un message privé à Lionel Debroux  

> On parle bien de desactivation des AI1 et 5 ?
Oui.

> C'est pareil si elle sont redirigées ?
Non, les fonctions TI-BASIC ne restaurent éventuellement que le SR, pas les handlers d'interruption.
Lionel Debroux - membre de TICT.
    
./Post n°27   Marquer comme non lu.
LionelA Ecrit le: Samedi 9 juillet 2005 à 17:57 Déconnecté(e)    Voir le profil de LionelA Envoyer un email à LionelA Visiter le site WEB de LionelA Envoyer un message privé à LionelA  


c'est bien ce que je me disais :) merci
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/
    
./Post n°28   Marquer comme non lu.
LionelA Ecrit le: Samedi 9 juillet 2005 à 18:01 Déconnecté(e)    Voir le profil de LionelA Envoyer un email à LionelA Visiter le site WEB de LionelA Envoyer un message privé à LionelA  


Ouais donc au fait s'il redirige les AI1 et 5 pour gerer le clavier en low level et avoir des ndg alors ca risque de faire planter (boucle infinie) d'appeler getkey en basic (au meme titre que ngetchx() plante si on l'appelle alors que ces AI sont redirigées) ?
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/
    
./Post n°29   Marquer comme non lu.
RHJPP Ecrit le: Samedi 9 juillet 2005 à 18:24 Déconnecté(e)    Voir le profil de RHJPP Envoyer un email à RHJPP Envoyer un message privé à RHJPP  


je pense que getkey renvera 0
    
./Post n°30   Marquer comme non lu.
Folco Ecrit le: Samedi 9 juillet 2005 à 18:27 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


Probable en effet LionelA.
Je te laisse tester, il y en a pour 3 minutes chrono :D
<<< Kernel Extremist©®™ >>>
Pas la peine d'aller là plus d'une fois tous les six mois...

"Il faut apprendre pour savoir qu'il faut apprendre pour savoir."
    
./Post n°31   Marquer comme non lu.
LionelA Ecrit le: Samedi 9 juillet 2005 à 18:45 Déconnecté(e)    Voir le profil de LionelA Envoyer un email à LionelA Visiter le site WEB de LionelA Envoyer un message privé à LionelA  


ca ne plante pas avec le getkey() tout seul.
Par contre un Pause fait planter par exemple :)
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/
    
./Post n°32   Marquer comme non lu.
Lionel Debroux Ecrit le: Samedi 9 juillet 2005 à 18:56 Déconnecté(e)    Voir le profil de Lionel Debroux Envoyer un email à Lionel Debroux Visiter le site WEB de Lionel Debroux Envoyer un message privé à Lionel Debroux  

Avec une redirection vers DUMMY_HANDLER, évidemment...
Lionel Debroux - membre de TICT.
    
./Post n°33   Marquer comme non lu.
andoh_wilfried Ecrit le: Samedi 9 juillet 2005 à 19:14 Déconnecté(e)    Voir le profil de andoh_wilfried Envoyer un email à andoh_wilfried Envoyer un message privé à andoh_wilfried  

ok, donc en conclusion :
- la redirection temporaire est la seule solution pour ne pas interférer avec les fonctions du TI-BASIC.
    
./Post n°34   Marquer comme non lu.
LionelA Ecrit le: Samedi 9 juillet 2005 à 19:50 Déconnecté(e)    Voir le profil de LionelA Envoyer un email à LionelA Visiter le site WEB de LionelA Envoyer un message privé à LionelA  


comment vas tu faire ? car je suppose que vas rediriger les AI1 et 5 seulement dans la fonction qui s'occupera du clavier (pas besoin pour les ndg). Le probleme est que si les niveaux de gris ont été activés avant la redirection de l'AI1 cela ne marchera pas.
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/
    
./Post n°35   Marquer comme non lu.
Folco Ecrit le: Samedi 9 juillet 2005 à 20:13 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


et iben tu refais la routine d'interruption pour qu'elle éxécute uniquement les niveaux de gris, pas le handler de AMS.
<<< Kernel Extremist©®™ >>>
Pas la peine d'aller là plus d'une fois tous les six mois...

"Il faut apprendre pour savoir qu'il faut apprendre pour savoir."
    
./Post n°36   Marquer comme non lu.
andoh_wilfried Ecrit le: Samedi 9 juillet 2005 à 20:34 Déconnecté(e)    Voir le profil de andoh_wilfried Envoyer un email à andoh_wilfried Envoyer un message privé à andoh_wilfried  

heu baisser un peu le niveau, c'est la 1ere fois que je fait un tour du coté des Interruptions.
Je ne détourne les AI 1 et 5 que pour lire le clavier en Low Lelvel.

au début de la fonction TestKey("Row1Col1Row2Col2...") je fais :

    save_int_1 = GetIntVec(AUTO_INT_1);//Sauvegarde
    save_int_5 = GetIntVec(AUTO_INT_5);//Sauvegarde
    SetIntVec(AUTO_INT_1, DUMMY_HANDLER);//Remplacement
    SetIntVec(AUTO_INT_5, DUMMY_HANDLER);//Remplacement


et à la fin je fais


      SetIntVec(AUTO_INT_1, save_int_1);
      SetIntVec(AUTO_INT_5, save_int_5);



dans la fonction qui gère les NVG, je n'ai pas touché aux Interruptions.
Alors c'est quoi le problème auquel je m'expose ?

    
./Post n°37   Marquer comme non lu.
Link Ecrit le: Samedi 9 juillet 2005 à 20:39 Déconnecté(e)    Voir le profil de Link Envoyer un email à Link Visiter le site WEB de Link Envoyer un message privé à Link  

Ben, si tu as les NVG d'activés, il ne faut plus utiliser SetIntVec, mais GraySetInt1Handler (enfin, je crois bien qu'elle s'appelle ainsi):
(l'int1 des NVG passe toujours le relais à celle qui était réglée lors de l'appel à GrayOn, donc c'est la sauvegarde de l'int qu'il vaut rediriger, et non l'int elle-même)

Kevin, Lionel D.: J'ai bon? J'ai dit ça de mémoire, donc je ne suis pas trop sur...
-Edité le Samedi 9 juillet 2005 à 20:39 par Link-
    
./Post n°38   Marquer comme non lu.
Folco Ecrit le: Samedi 9 juillet 2005 à 21:54 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


Qu'est ce que je trouve ça lourd ce bidouillage des interruptions à grand coup de macros #sick#
pourquoi ne pas faire ça avec des peek et poke?
<<< Kernel Extremist©®™ >>>
Pas la peine d'aller là plus d'une fois tous les six mois...

"Il faut apprendre pour savoir qu'il faut apprendre pour savoir."
    
  :: Index » Forum Ti68K » Programmation C » interférence avec les NVG (84 réponse(s))
Pages : 2/5     « 1 [2] 3 4 5 » »|

.Répondre à ce sujet
Les boutons de code
[B]old[I]talic[U]nderline[S]trikethrough[L]ine Flip Hori[Z]ontallyFlip [V]erticallySha[D]ow[G]low[S]poilerCode [G][C]ite
Bullet [L]istList Item [K] Link [H][E]mail[P]icture SmileysHelp
Couleurs :
Saisissez votre message
Activer les smileys
     

Forum de Ti-Gen v3.0 Copyright ©2004 by Geoffrey ANNEHEIM
Webmaster: Kevin KOFLER, Content Admins: list, Server Admins: Tyler CASSIDY and Kevin KOFLER, DNS Admin: squalyl
Page générée en 53.15ms avec 18 requetes