null Le 24/10/2002 à 09:10 J'ai fait un programme avec des niveaux de gris où j'utilisais _keytest() puis pour optimiser la rapidité j'ai utilisé GX_rowread.
Sur ma Ti 89 HW2 j'ai le programme qui utilise _keytest et celui qui utilise GX_rowread et quand j'utilise celui avec _keytest() et ensuite l'autre (celui avec GX_rowread) le programme plante au bout d'un moment.
Je peut me servir du programme sans qu'il plante mais c'est souvent qu'il plante qd même. Et même qd je ne me sers pas des touche ça plante et il y a aucun msg d'erreur pour que je sache de quoi ça vient.
Je ne sais pas de quoi ça peut venir. Pour utiliser GX_rowread je détourne uniquement l'auto int 1 vu que je me sers du 5 pour compter les fps.
Quelqu'un aurait un truc a me proposé ou une idée de ce qui cause ces plantages ?
Sinon et bien je vais essayé de contourné le problème en utilisant _keytest_optimized.
Mais c'est peut-être pas sûr que ça résolve le problème si ça vient pas de GX_rowread.
www.wikio.fr/user1921&info=comments
Quel est le type de plantage ? Address error, illegal instruction ?
Les plantages ne sont probablement pas dus au fait que l'auto_int_5 n'est pas détournée.
Par contre, le plantage peut être dû à tout autre chose que GX_rowread ou _keytest: un débordement de tableau entraîne souvent Address error.
Il y a aussi free() sur un bloc non alloué ou déjà libéré, et quelques autres trucs qui peuvent faire planter...
Une méthode "simple" de voir si c'est GX_rowread ou _keytest qui fait bugger (ce qui est peu probable): tu remplaces ces fonctions par un OSdequeue... Mais ça nécessite de grosses modifications dans le test des touches...
Utilises-tu d'autres fonctions de GraphX (GX_PowerOn, ...) dans ton programme, où bien GX_rowread est-elle la seule ?
Tu as quelle version de GX ? la pré-1.1 ou la 1.0 ?

Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 :
www.ti-fr.com.
Quelques idées personnelles
ici.
null Le 24/10/2002 à 12:30Edité par Raphael le 24/10/2002 à 12:31 Bon en fait c'est le moteur 3D que je suis entrain de créer. J'utilise deux buffer que je libère à la fin et avant ça marcahit très bien.
Et je n'ai pas de perte de mémoire.
Je n'utilise pas GXPowerON() j'ai essayé mais j'utilise les niveau de gris et tout ça et ça ne marche pas (enfin j'ai pas insité parce-que je ne sais pas si je pourrais toujours utilisé la lib d'extgraph et les routines de lignes que j'ai optimiser.
Il faudra que j'essaye.
Sinon la version de graphX que j'ai ça devait être la toute première dsipo que j'ai téléchargé d'après un lien que tu avais posté sur le forum.
Le soir tu avais réctifié un truc qui marcahait pas (on était obligé de joindre la lib au projet en faisant comme ça #include "graphX.h"
D'ailleurs je fais tjrs comme ça.
J'utilise les touches comme ça:
touche=GX_rowread(0b1111110);
if (touche & 0b00000010) // GAUCHE
{
vue++;
if(vue>359)
{
vue=0;
}
}
...
Et puis comme ça aussi :
if (GX_F1pressed())
L'auto int 5 je ne le détournait pas avec _keytest et ça marchait. Là je m'en sers pour compter les FPS.
En le détournant ça dvrait marcher ? Ca m'embêtrais un peu mais bon.
www.wikio.fr/user1921&info=comments