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°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!
    
./Post n°58   Marquer comme non lu.
andoh_wilfried Ecrit le: Mardi 12 juillet 2005 à 23:17 Déconnecté(e)    Voir le profil de andoh_wilfried Envoyer un email à andoh_wilfried Envoyer un message privé à andoh_wilfried  

LionelA ->
j'achete ton idée : je vais faire une fonction pour rediriger l'AI2.
celui qui en fait usage saura qu'il faut l'utiliser uniquement avec _keytest()
( là je sens que K.K. va raler contre le fait de mettre dans une LIB une fonction qui peut planté).
c'est pas terrrible comme solution.


-Edité le Mardi 12 juillet 2005 à 23:21 par andoh_wilfried-
    
./Post n°59   Marquer comme non lu.
LionelA Ecrit le: Mardi 12 juillet 2005 à 23:21 Déconnecté(e)    Voir le profil de LionelA Envoyer un email à LionelA Visiter le site WEB de LionelA Envoyer un message privé à LionelA  


Ouais mais dans ce cas il vaut mieux rediriger les AI1 et 5 dans cette fonction ;) car l'AI2 fera planter Pause de la meme maniere.

-Edité le Mardi 12 juillet 2005 à 23:22 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°60   Marquer comme non lu.
andoh_wilfried Ecrit le: Mardi 12 juillet 2005 à 23:24 Déconnecté(e)    Voir le profil de andoh_wilfried Envoyer un email à andoh_wilfried Envoyer un message privé à andoh_wilfried  

c'est plus cohérent ; quoique le risque de palnter la Ti reste probant .

je vais appeler cette commande 'Nokeybd()'

-Edité le Mardi 12 juillet 2005 à 23:28 par andoh_wilfried-
    
./Post n°61   Marquer comme non lu.
LionelA Ecrit le: Mardi 12 juillet 2005 à 23:26 Déconnecté(e)    Voir le profil de LionelA Envoyer un email à LionelA Visiter le site WEB de LionelA Envoyer un message privé à LionelA  


Bah en fait si on reflechis ca revient au meme que en C, lorsqu'on utilise la lecture bas niveau on se passe des fonctions haut niveau. Faudra le dire dans ta doc et c'est bon :)
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°62   Marquer comme non lu.
LionelA Ecrit le: Mardi 12 juillet 2005 à 23:33 Déconnecté(e)    Voir le profil de LionelA Envoyer un email à LionelA Visiter le site WEB de LionelA Envoyer un message privé à LionelA  


par contre je suppose que tu dois pouvoir faire quelque chose pour remedier au plantage dans une fonction de ce genre (en redirigeant l'AI6 par exemple)


DEFINE_INT_HANDLER(ON){
  ExecuteHandler(AI6);
  // tu peut executer du code ici pour par exemple restaurer les AI1 et 5 et quitter le prog
  // ou alors ecrire un enter dans le buffer du clavier (c'est plus crade)
}
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°63   Marquer comme non lu.
Folco Ecrit le: Mardi 12 juillet 2005 à 23:34 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


erf, si tu détournes l'AI6, tu perds la possibilité de breaker le programme...
<<< 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°64   Marquer comme non lu.
Kevin Kofler Ecrit le: Mardi 12 juillet 2005 à 23:34 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 :

DEFINE_INT_HANDLER(ON){
  ExecuteHandler(AI6);
  // tu peut executer du code ici pour par exemple restaurer les AI1 et 5 et quitter le prog
  // ou alors ecrire un enter dans le buffer du clavier (c'est plus crade)
}

Je ferais plutôt ça dans l'autre sens (le nettoyage d'abord et le ExecuteHandler après).
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°65   Marquer comme non lu.
andoh_wilfried Ecrit le: Mardi 12 juillet 2005 à 23:34 Déconnecté(e)    Voir le profil de andoh_wilfried Envoyer un email à andoh_wilfried Envoyer un message privé à andoh_wilfried  

Je vais voir si on n'y gagne en vitesse.
je ferai les test pour voir sinon je laisserai l'Ai2 comme tel.
Parceque si ça rame à la m^me vitesse autant éviter le risque de plantage.

j'ai déjà fait quelques fonctions que j'ai posté dans le Topic de 'TiBasExt'
    
./Post n°66   Marquer comme non lu.
Kevin Kofler Ecrit le: Mardi 12 juillet 2005 à 23:34 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 :
erf, si tu détournes l'AI6, tu perds la possibilité de breaker le programme...

Non, parce qu'il appelle l'ancien AI6.
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°67   Marquer comme non lu.
Folco Ecrit le: Mardi 12 juillet 2005 à 23:37 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


ah ok désolé, je ne connaissais pas ExecuteHandler, je ne savais pas que ça appelait le handler du TIOS.
<<< 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°68   Marquer comme non lu.
andoh_wilfried Ecrit le: Mardi 12 juillet 2005 à 23:45 Déconnecté(e)    Voir le profil de andoh_wilfried Envoyer un email à andoh_wilfried Envoyer un message privé à andoh_wilfried  

Au fait, je voulais aussi éviter qu'on puisse Breaker mon programme C qui apelle les prog Basic.
Le break fait que le LiB est caché. Du coup c'est marqué comme en cours d'utilisation.

Le problème c'est que je veux en même temps gerer les erreur Ti-Basic.
    
./Post n°69   Marquer comme non lu.
Folco Ecrit le: Mardi 12 juillet 2005 à 23:47 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


Alors il te faut rediriger l'auto-int6 qui lit le port de la touche ON (elle a son propre port).
<<< 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°70   Marquer comme non lu.
andoh_wilfried Ecrit le: Mercredi 13 juillet 2005 à 00:09 Déconnecté(e)    Voir le profil de andoh_wilfried Envoyer un email à andoh_wilfried Envoyer un message privé à andoh_wilfried  

K.K. , LionelA :
pas bien pigé mais je sens que je vais aimer (va falloir que je lise la doc sur les AI ce soir ).

En fait je remplace le code du Timer par ce que je veux. Je peux même sauver le Timer et l'executer à l'intérieur de celui qui le remplace.

Mais ça doit ralentir les cycles ce genre de hack.


sinon je sauve AI6
je definie l'AI (ON)
Si je je veux eviter le Break du Basic, je n'exécute pas la sauvegarde de l'AI6

ExecuteHandler(AI6);

Je remplace l'AI6 de base par l'AI (ON) avec SetIntVec(...)

Ce que je comprends pas c'est pourquoi on remplace l'AI6 au lieu de l'AI2 qui lit le clavier.
En fait

-Edité le Mercredi 13 juillet 2005 à 00:16 par andoh_wilfried-


j'ai dl le sdk guide, j'espère que ça va m'aider
-Edité le Mercredi 13 juillet 2005 à 02:23 par andoh_wilfried-
    
./Post n°71   Marquer comme non lu.
LionelA Ecrit le: Mercredi 13 juillet 2005 à 05:27 Déconnecté(e)    Voir le profil de LionelA Envoyer un email à LionelA Visiter le site WEB de LionelA Envoyer un message privé à LionelA  


en fait l'AI6 est appelée lors de l'appui sur la touche [On] et si tu n'executes pas le vieux handler ben y'a tout un tas de truc qui vont foirer si la calc est eteinte et que tu la rallume par exemple (je sais meme pas si elle se rallume d'ailleurs) Bref il faut vraiment executer le vieux handler de l'AI6.
Après il existe peut etre un autre moyen pour désactiver le break du basic mais le break est une feature utile donc je ne vois pas pourquoi tu ne la veux 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°72   Marquer comme non lu.
Link Ecrit le: Mercredi 13 juillet 2005 à 10:06 Déconnecté(e)    Voir le profil de Link Envoyer un email à Link Visiter le site WEB de Link Envoyer un message privé à Link  

LionelA->si le basic est appelé depuis un prog assembleur, il y a des chances que le break cause quelques problèmes...

andoh_wilfried->Tu ne remplaces pas que l'AI6: Tu remplaces aussi les autres, mais tu remplaces l'AI6 pour nettoyer le terrain en cas de break... pour terminer proprement, quoi...
    
./Post n°73   Marquer comme non lu.
andoh_wilfried Ecrit le: Mercredi 13 juillet 2005 à 11:23 Déconnecté(e)    Voir le profil de andoh_wilfried Envoyer un email à andoh_wilfried Envoyer un message privé à andoh_wilfried  

Ou puis-je trouver la doc sur les AI, histoire de cerner correctement le problème.



Ce que je veux c'est que les erreurs des programmes Basic soient détectées correctement.
Le probleme lorsqu'une erreur se produit dans un prog basic, je constate que le prog ASM reste marqué comme en cour d'utilisation. Ce qui est très genant pour les prochains appels.

    
./Post n°74   Marquer comme non lu.
Folco Ecrit le: Mercredi 13 juillet 2005 à 11:29 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


Je te conseille j89hw.txt sur le site de la TICT, section documents, et system.txt dans les archives de documentation de tigen.
<<< 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°75   Marquer comme non lu.
andoh_wilfried Ecrit le: Mercredi 13 juillet 2005 à 11:33 Déconnecté(e)    Voir le profil de andoh_wilfried Envoyer un email à andoh_wilfried Envoyer un message privé à andoh_wilfried  

merci
    
./Post n°76   Marquer comme non lu.
Kevin Kofler Ecrit le: Mercredi 13 juillet 2005 à 17:50 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  


Link :
LionelA->si le basic est appelé depuis un prog assembleur, il y a des chances que le break cause quelques problèmes...

Pas avec les bons TRY (les TRY en C peuvent aussi intercepter le break).
-Edité le Mercredi 13 juillet 2005 à 17:50 par Kevin Kofler-
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 : 4/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 59.09ms avec 18 requetes