Ces
bugs figurent uniquement sur les premières versions
des ROM's de la TI 92
Introduction
Parfois
la TI92 plantera (crash bugs) de façon inattendue.
Il n'y a pas vraiment de moyens pour le prévoir.
Quelques combinaisons speciales de touches sont
connues pour la planter. Dans ce cas, voici
quelques messages qu'il affichera : "Illegal
Instruction", "Address Error", "Line 1111 Emulation".
Les erreurs précédentes sont affichées au centre
en haut de l'écran dans la fonte de moyenne
taille. Derriere le message s'affiche un bandeau
noir couvrant la ligne du haut (sur 8 pixels).
Le bandeau couvre parfois le message. Quelquefois,
le TI92 affichera en bas à gauche de l'ecran
dans la fonte de petite taille "SYSTEM DEAD,
CORRUPT SUPERVISOR STACK"

Copyright
Si
vous allez dans VAR-LINK depuis l'écran du "copyright"
et que vous resortez ensuite (Esc par exemple),
la barre de titre de la boîte de dialogue de
VAR-LINK restera à l'écran. La barre de menu
habituelle aurait dû être réaffichée à cet endroit,
mais l'écran du "copyright" n'a pas de barre
de menu.

Vous
pouvez taper [S] pour aller dans le self-test.
(En fait, vous pouvez taper n'importe quelle
touche contenant "S", comme [COS] ou [SIN]).
Le contraste sera fixé à 13/31. Le TI92 affichera
une liste de ce que vous pouvez faire. Si vous
taper [Q], vous quitterez ce menu et le contraste
sera fixé à 12/31. Simplement, le fait d'aller
dans ce menu avec [S] fera des choses étranges
dans la mémoire; 3786 octets seront ajoutés
à la mémoire système, et évidemment 3786 seront
enlevés de la mémoire libre. S'il n'y a pas
beaucoup de mémoire libre, le menu ne sera pas
effacé en pressant [Q] pour le quitter. De plus,
quand vous quitter ce menu, la ligne séparant
les commandes et les drapeaux systèmes ne sera,
la plupart du temps, jamais réaffichée, jusqu'à
ce que vous réinitialiserez le TI92 ou que vous
restauriez un backup.
Depuis
l'écran du "copyright", vous pouvez aussi taper
[R]. Cela retournera à l'écran Home et le TI92
ne répondra à aucune pression de touche (excepté
qu'il répondra aux touches de drapeaux : shift,
diamond et 2nd). Ce qui se passe actuellement
: le TI92 attend d'être contrôlé par une télécommande.
Pour le contrôler, envoyez un word (entier de
2 octets) à travers le port de transfert. Le
word doit être en format big-end (MSB avant
LSB [Most (Less) Significative Byte]).
Ce word sera interprété comme un code clavier
(ceux-ci sont listés à partir dans l'annexe
B : Tables de référence du manuel). Par exemple,
0x0041 est [a] et 0x0107 est [CLEAR]. Tout les
données écran de Home seront envoyées à travers
le port de transfert. Pour éteindre le TI92,
vous pouvez envoyer 0x2108 (diamond-off), ou
enlever une pile et la remettre, ou attendre
5,5 minutes pour que le "Auto Power Down" de
la TI92 s'active. Quand il sera rallumé, il
ne sera pas dans le mode de contrôle par télécommande.
Mais il enverra toujours les données à travers
le port de transfert. Pour sortir de ce mode
de "transfert", retourner à l'écran du "copyright"
et presser [R] de nouveau. Si vous restez dans
ce mode de "transfert", le TI92 finira par planter,
par manque de mémoire.
Plantages
La
plupart des méthodes causant un manque de mémoire
feront plutôt bien planter la machine. Voici
deux examples :
1)
Taper ceci : x|x=x
2)
ou ceci :
"entry(1)"
expr(entry(1))
expr(entry(1))
Des
variations sur le même thème génèreront différents
plantages.
Bizarre
!
Voici
quelques commandes et leurs résultats correspondants
:
2^(a+b)
e^(ln(2)*(b+a))
2^(a+b+c)
2^c*e^(ln(2)*(b+a))
2^(a+b+c+d)
e^(ln(2)*(d+c))*e^(ln(2)*(b+a))
2^(ln(a)+ln(b)+ln(c))
c^(ln(2))*b^(ln(2))*a^(ln(2))
2^("a"+"b"+"c")
2^"a"*e^(ln(2)*("b"+"c"))
2^(ln("a")+ln("b")+ln("c"))
"a"^(ln(2))*"b"^(ln(2))*"c"^(ln(2))
Si
Pretty Print est off, toutes les occurences
de "e^" seront effacées. Si le résultat est
collé de l'écran dans la ligne de commande,
ou convertis dans une chaîne avec la fonction
"string()", la même chose arrivera. Malgré tout,
si le résultat est utilisé dans un calcul, le
"e^" sera retenu.
De
ces résultats, nous pouvons en déduire que :
*
Etant donné une expression qui, quand elle est
simplifiée, contient "e^" avec plusieurs termes
dans les parenthèses, si l'expression est convertit
en une chaîne, soit avec le collé soit avec
la fonction "string()", le "e^" sera supprimé.
*
Si la base est une constante (ici 2),
a) les variables en exposant seront triés par
ordre décroissant
b) les constantes en exposant seront triés par
ordre croissant
*
Si la base est une variable
a) les variables en exposants seront triés par
ordre croissant
b) les constantes en exposant seront trés par
ordre décroissant
*
Les exposants seront répartis en groupes de
deux et triés dans le même ordre qu'ils le sauraient
autrement. Si il y a un nombre impair d'exposants,
le premier sera placé seul, et les "e^(" et
"ln(" s'annuleront l'un et l'autre.
*
Vous ne devriez pas placer trop de confiance
dans les manipulations symboliques du TI92.
;-)
Ce
bug a été corrigé dans les ROM's 1.05.
Autre
bizarrerie
A
l'écran Home, taper 1|1=2 générera le message
d'erreur "Constraint expression invalid".
Malgré
cela vous pouvez taper 1|1=x and x=2. La réponse
sera 2.
Blocages
Il
y a un premier moyen pour bloquer l'édition
de programmes. La structure Try...Else...EndTry
a une syntaxe alternative.
La syntaxe normale est :
:Try
: [Bloc 1]
:Else
: [Bloc 2]
:EndTry
Si
le bloc 1 provoque une erreur, le TI92 saute
au bloc 2. Voici une version simplifiée mais
équivalente de la même structure :
Try:[Bloc 1]:Else:[Bloc 2]:EndTry
La
syntaxe alternative est la suivante :
Try [Bloc 1]:Else:[Bloc 2]:EndTry
Quand
elle est "simplifiée" à la première éxecution,
tout ce qui suit le "Try" disparaîtra.
Pour bloquer l'édition d'un programme, insérez
la construction suivante au début du programme
:
Try Else:EndTry
Il
y a un autre moyen de bloquer l'édition d'un
programme :
Taper 56789:Return 123
depuis l'écran Home, de préférence dans le mode
Pretty Print. Vous verrez apparaître un étrange
résultat. Vous pouvez remplacee les nombres
par ceux que vous voulez. Le côté droit de la
première expression sera coupé selon la longueur
de la deuxième expression. Des choses étranges
et diverses peuvent être faite avec ce résultat.
Pour
bloquer l'édition d'un programme, taper d'abord
1:Return 1
depuis l'écran Home. Puis, créer un programme
et mettez y ce que vous voulez. Assurez vous
que la première ligne est
If false:ans()
Après que le programme a éxecuté une première
fois, visualisez le depuis VAR-LINK. Tout ce
qui est après "If false:" semblera être parti;
mais le programme pourra toujours être éxecuté.
Si vous éditez le programme, il s'autodétruira
de façon permanente. Qui a besoin de TI-Graph
Link pour bloquer l'édition d'un programme ?
Expressions
non gérables
Il
existe quelques expressions que le TI92 ne peut
pasintégrer.Essayez integ(deriv(e^(x^2+x),x),x)
en remplaçant "integ", "deriv" et "e^" avec
leur symboles repectifs. L'intégrale devrait
annuler la dérivation, et donner "e^(x^2+x)".
Mais à la place, le TI92 renvoie un résultat
contenant deux nouvelles intégrales insolubles.
Voici, la forme plus générale de l'intégrale
qui peut être résolue mais que le TI92 ne peut
résoudre : integ(deriv(e^(f(x)+g(x)),x),x)
Mode
Exact
Il
existe des equations simples que la TI-92 ne
peut résoudre en mode exact. Essayez
exact(solve(x^2/(x-2)^2=1,x))
Il ne peut le résoudre (la réponse est 1). Mais
il peut résoudre
exact(solve(x^2=(x-2)^2,x))
Il peut aussi le résoudre correctement si vous
remplacez "1" par une variable, comme cela:
exact(solve(x^2/(x-2)^2=a,x))
On/Off
Allez
dans VAR-LINK et visualisez n'importe quelle
variable ou répertoire avec [F6]. Eteignez le
TI92 avec [Diamond] [ON].Rallumez-le. La fenêtre
"contents" disparaîtra. Tapez [Diamond] [K]
pour faire apparaître la fenêtre "keyboard".
Eteignez le TI92 avec [Diamond] [On]. Rallumez
le. La fenêtre "keyboard" disparaîtra, mais
cette fois le TI92 s'éteindra de nouveau tout
seul. Notez que les fenêtres "contents" et "keyboard"
ont toutes les deux la même bordure.
Bug
divers
Le
bug suivant apparaît quand vous êtes très bas
en mémoire. Tapez [2nd] [RCL], puis [DIAMOND]
[K]. Taper quelquechose pour annuler la fenêtre
"keyboard", comme [SPACE]. Le contenu de la
fenêtre "Recall" sera effacé, et seulement les
changements seront réaffichés. Cela marche aussi
pour d'autres fenêtres qui vous demande d'entrer
une chaîne, comme "Save Copy As"et "New".
Send
Il
y a un bug dans la commande "Send". Cette commande
est utilisée pour envoyer des données à l'unité
CBL. Les données doivent être placées dans une
liste numérique. En utilisation normale, une
telle liste est très petite. Si vous essayez
d'envoyer une liste avec plus de 128 éléments,
la TI92 plantera.
Pic
1)
stopic pict,0,1,0,1 [Enter]
2) rplcpic pict,1,1 [Enter]
ou rclpic pict,1,1 [Enter]
Mais cela ne fonctionne pas à tous les coups
! Bug testé sur la version 1.12