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°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."
    
./Post n°39   Marquer comme non lu.
Kevin Kofler Ecrit le: Samedi 9 juillet 2005 à 22:53 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Tu ne dois pas du tout toucher aux interruptions et à la lecture de touches bas-niveau dans ta lib pour le BASIC. Le BASIC est fait pour utiliser la lecture de touches de AMS (getKey) et rien d'autre!
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°40   Marquer comme non lu.
Kevin Kofler Ecrit le: Samedi 9 juillet 2005 à 22:55 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Martial Demolins :
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?

Parce que:
  • c'est plus compliqué.
  • quand le matériel change, les définitions peuvent changer! Ça s'est déjà produit une fois (TI-89 Titanium).

Utilisez toujous l'API de plus haut niveau possible, ça assure une compatibilité maximale.
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°41   Marquer comme non lu.
Kevin Kofler Ecrit le: Samedi 9 juillet 2005 à 23:02 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Lionel Debroux :
> et les programmes sont automatiquement compatibles entre les modèles si on se sert des constantes RR_*
Rappel pour les lecteurs: ça donne du code plus gros et plus lent.

Pas si on compile pour un seul modèle, et dans ce cas utiliser RR_* évite qu'on doive faire des #ifdef à la main.
Et l'augmentation légère de la taille vaut le coup pour l'avantage en compatibilité que ça donne, et le changement de vitesse est négligeable.

Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°42   Marquer comme non lu.
Folco Ecrit le: Samedi 9 juillet 2005 à 23:06 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


>>Utilisez toujous l'API de plus haut niveau possible, ça assure une compatibilité maximale.
J'aime pas cette philosophie, désolé.
<<< 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°43   Marquer comme non lu.
Lionel Debroux Ecrit le: Dimanche 10 juillet 2005 à 09:30 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  

> Pas si on compile pour un seul modèle
Bah, évidemment. Sauf que tu ne parlais pas de ça: "et les programmes sont automatiquement compatibles entre les modèles ...".
Lionel Debroux - membre de TICT.
    
./Post n°44   Marquer comme non lu.
Kevin Kofler Ecrit le: Dimanche 10 juillet 2005 à 09:48 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Parce que pour moi "l'augmentation légère de la taille vaut le coup pour l'avantage en compatibilité que ça donne, et le changement de vitesse est négligeable."
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°45   Marquer comme non lu.
Lionel Debroux Ecrit le: Dimanche 10 juillet 2005 à 10:08 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  

~2 KB sur Ice Hockey 68k, c'est effectivement léger...
Lionel Debroux - membre de TICT.
    
./Post n°46   Marquer comme non lu.
andoh_wilfried Ecrit le: Dimanche 10 juillet 2005 à 19:37 Déconnecté(e)    Voir le profil de andoh_wilfried Envoyer un email à andoh_wilfried Envoyer un message privé à andoh_wilfried  


Kevin Kofler :
Tu ne dois pas du tout toucher aux interruptions et à la lecture de touches bas-niveau dans ta lib pour le BASIC. Le BASIC est fait pour utiliser la lecture de touches de AMS (getKey) et rien d'autre!


c'est une des limitations clavier qui m'énerve le plus. Si je fais une Lib c'est bien pour augmenter les possibilités du basic.



en /Post n°36, je ne redirige pas les AI1 et AI5 pour utiliser les NVG, à priori y en a pas besoin.
ce qui fait que je n'ai pas de bug en appelant les fonctions getkey ou ngetchx().
Je ne redirige les AI1 et AI5 que pour utiliser le clavier en low_level avec '_keytest (...)'.

Alors je pige pas pourquoi on me parle de bug en appelant les fonctions du basic



Lorsque je veux lire le clavier en Low level , j'utilise le code comme précisé en /Post n°36.
vu que les redirections des AI sont faites uniquement le temps d'appeller la fonction _keytest(...) ; ça ne devrait donc posé aucun problème grave sauf avec les fonction du Ti-Basic qui utilisent idle() ( si j'ai bien compris ).


En conclusion , je ne vais pas rediriger les AI dans tout mon code , pour ne pas interferer avec le basic, avec l'inconvenient que les codes des fonctions C seront moins rapide que si les AI étaient désactivées.



par contre, je ne trouve pas les ton de NVG très prononcé, je suppose qu'on peut regler ça.
je vais lire Gray.h


-Edité le Dimanche 10 juillet 2005 à 22:21 par andoh_wilfried-
    
./Post n°47   Marquer comme non lu.
LionelA Ecrit le: Dimanche 10 juillet 2005 à 20:05 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 ca, il faut rediriger temporairement les AI1 et 5 pour pouvoir tester le clavier en low level, le probleme est que si tu redirige l'AI1 vers le DUMMY_HANDLER alors que GrayOn() à déjà été appelé, tu vas arreter le fonctionnement des niveaux de gris pendant le test du clavier.

tu dois faire un truc du style :

char gray_is_on = 0;

mongrayon() {
  if(GrayOn()) gray_is_on = 1;
}

mongrayoff() {
  GrayOff();
  gray_is_on = 0;
}

montestclavier() {
  INT_HANDLER AI1;
  INT_HANDLER AI5;

  AI1 = GetIntVec(AUTO_INT_1);
  AI5 = GetIntVec(AUTO_INT_5);
  if (gray_is_on) GraySetInt1Handler(DUMMY_HANDLER);
  else SetIntVec(AUTO_INT_1, DUMMY_HANDLER);
  SetIntVec(AUTO_INT_5, DUMMY_HANDLER);

// test du clavier etc....

...

  SetIntVec(AUTO_INT_5, AI5);
  if (gray_is_on) GraySetInt1Handler(AI1);
  else SetIntVec(AUTO_INT_1, AI1);
}



-Edité le Dimanche 10 juillet 2005 à 20:15 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°48   Marquer comme non lu.
andoh_wilfried Ecrit le: Dimanche 10 juillet 2005 à 22:33 Déconnecté(e)    Voir le profil de andoh_wilfried Envoyer un email à andoh_wilfried Envoyer un message privé à andoh_wilfried  

LionelA , Merci. En fait je n'ai que les lignes de code de GraySetInt1Handler à rajouter.
le reste du code quasi identique.


Toute fois je trouve les fonctions
- GraySetInt1Handler(
- SetIntVec(
très proche.
La seule nuance que j'aperçois à l'horizon c'est que l'un interrompt les NVG et l'autre pas.
-Edité le Dimanche 10 juillet 2005 à 23:01 par andoh_wilfried-
    
./Post n°49   Marquer comme non lu.
LionelA Ecrit le: Dimanche 10 juillet 2005 à 23:04 Déconnecté(e)    Voir le profil de LionelA Envoyer un email à LionelA Visiter le site WEB de LionelA Envoyer un message privé à LionelA  


voila :) (enfin j'espere que c'est bien ca (j'ai compris ca en tout cas en lisant la doc) car je n'ai pas testé)
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°50   Marquer comme non lu.
andoh_wilfried Ecrit le: Dimanche 10 juillet 2005 à 23:12 Déconnecté(e)    Voir le profil de andoh_wilfried Envoyer un email à andoh_wilfried Envoyer un message privé à andoh_wilfried  

;) Maintenant je vais inclure les codes de gestion de fichier et d'explorateur de la lib.
#salut#
    
./Post n°51   Marquer comme non lu.
Kevin Kofler Ecrit le: Mardi 12 juillet 2005 à 21:01 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Pas besoin de la variable gray_is_on, utilise la macro GrayCheckRunning().

Et sinon, le problème avec ton fonctionnement, c'est que oui, tu pourras détecter les appuis de touches, mais AMS les détectera aussi, donc ils seront détectés "en double".
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°52   Marquer comme non lu.
LionelA Ecrit le: Mardi 12 juillet 2005 à 21:40 Déconnecté(e)    Voir le profil de LionelA Envoyer un email à LionelA Visiter le site WEB de LionelA Envoyer un message privé à LionelA  


OK je cherchais si il existait une telle macro et je ne l'avais pas trouvé merci :)

Sinon je comprend pas bien comment AMS pourrait detecter les touches aussi si les AI sont redirigées ?
sinon il faudrait faire grayoff dans la fonction de test du clavier, rediriger les AI, refaire grayon, tester, grayoff, restaurer les AI, puis grayon. Mais je pense qu'on va voir que les gris foirent (a moins que ca soit vraiment rapide comme test)
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°53   Marquer comme non lu.
Kevin Kofler Ecrit le: Mardi 12 juillet 2005 à 21:44 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


LionelA :
Sinon je comprend pas bien comment AMS pourrait detecter les touches aussi si les AI sont redirigées ?

Parce qu'il les redirige seulement pour le moment de l'appel de _keytest.
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°54   Marquer comme non lu.
LionelA Ecrit le: Mardi 12 juillet 2005 à 21:52 Déconnecté(e)    Voir le profil de LionelA Envoyer un email à LionelA Visiter le site WEB de LionelA Envoyer un message privé à LionelA  


Ah ok, j'ai pigé :)
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°55   Marquer comme non lu.
andoh_wilfried Ecrit le: Mardi 12 juillet 2005 à 22:13 Déconnecté(e)    Voir le profil de andoh_wilfried Envoyer un email à andoh_wilfried Envoyer un message privé à andoh_wilfried  

Moi aussi j'ai pigé. C'est vicieux comme truc :| .
Du coup ce n'est plus très rapide comme routine clavier.
Mince alors #confus# .

Pas terrible, mais y a pas moyen de faire autrement si je veux rester compatible Ti-Basic.

    
./Post n°56   Marquer comme non lu.
LionelA Ecrit le: Mardi 12 juillet 2005 à 22:15 Déconnecté(e)    Voir le profil de LionelA Envoyer un email à LionelA Visiter le site WEB de LionelA Envoyer un message privé à LionelA  


peut etre tu peut tenter de desactiver le detectage des touches par AMS en faisant un handler pour l'AI2 où tu flusherais le clavier :)
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°57   Marquer comme non lu.
Kevin Kofler Ecrit le: Mardi 12 juillet 2005 à 22:32 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


andoh_wilfried :
Pas terrible, mais y a pas moyen de faire autrement si je veux rester compatible Ti-Basic.

Pas vraiment. En principe, BASIC => lecture de touches AMS.

LionelA :
peut etre tu peut tenter de desactiver le detectage des touches par AMS en faisant un handler pour l'AI2 où tu flusherais le clavier :)

Si on y est déjà à garder des interruptions redirigées (parce qu'il faut garder l'AI2 redirigée tout le long, sinon ça ne va pas marcher), autant faire des fonctions pour rediriger (et garder redirigées) les AIs 1 et 5.

Et je déconseille fortement de rediriger les AIs paires (2, 4 et 6) si vous ne savez pas exactement ce que vous faites, parce que ces AIs ont besoin d'être acquittées (chacune de sa manière).
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
  :: Index » Forum Ti68K » Programmation C » interférence avec les NVG (84 réponse(s))
Pages : 3/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 48.01ms avec 18 requetes