Dans un
article précédent, nous découvrions que pour la toute première fois dans l'histoire de la famille des calculatrices
TI-z80, les
TI-83 Premium CE munies du Boot Code 5.1.5.0014 étaient dotées d'une protection anti-downgrade.
Le fonctionnement de cette protection est très similaire à celui de celle des
TI-Nspire, à la seule différence qu'il ne tient pas compte du numéro de version complet mais juste des 3 premiers chiffres :
- Pour toute tentative d'installation d'un nouvel OS, les 3 premiers chiffres de la version sont vérifiés en début de transfert, lors de l'envoi du certificat.
Si ils sont inférieurs à la version minimale autorisée pour la calculatrice en question, l'installation est refusée. - Si l'installation est acceptée, tous les OS depuis la version 5.1.5 incluent dans leur certificat une deuxième information de version, la version minimale autorisée suite à l'installation.
Si cette version est supérieure à celle de la calculatrice, elle est alors enregistrée dans la mémoire Flash permanente, dans une zone qu'aucun menu officiel ne permet de réinitialiser.
Cette protection ne semble pas fonctionnelle sur les toutes premières
TI-83 Premium CE commercialisées, munies d'un
Boot Code 5.0.0.89.
C'est la raison pour laquelle elle na été découverte que si tardivement.
Pour les machines affectées, voici le détail à ce jour :
Version OS installé | Nouvelle version minimale autorisée |
5.1.5 | 5.1.5 |
5.2.0 | 5.1.5 |
5.2.1 | 5.1.5 |
5.2.2 | 5.1.5 |
À ce jour, on pourrait donc nous objecter que
Texas Instruments n'a pas exagéré, évitant pour le moment de bloquer systématiquement tout retour à un OS antérieur comme sur
TI-Nspire.
Si tu disposes d'une
TI-83 Premium CE, peu importe que tu lui installes un OS 5.1.5 à 5.2.2, tu pourras quand même revenir en 5.1.5.
Nous admettrons même que cette protection anti-downgrade est une conséquence perverse logique/légitime de l'adoption du mode examen en France.
Vu que plusieurs des dernières mises à jour d'OS modifient le comportement du mode examen, il serait très grave de permettre à un candidat de revenir à un ancien mode examen qui justement posait problème.
Mais ça, c'était la théorie.
En pratique sur sur
TI-Nspire, la dernière version n'est pas toujours le meilleur choix selon les besoins et le modèle.
La protection anti-downgrade systématique empêchant tout retour en arrière immédiatement après une mise à jour a nombre de fois été très nuisible aux utilisateurs.
Il y a les cas où la nouvelle version apportait des bugs, de calculs ou autres...
Et même des cas où la nouvelle version ne démarrait pas correctement dans certaines situations, ce qui bloquait donc définitivement la machine :
- systèmes 2.1+ sur les TI-Nspire munies d'un Boot2 1.1
- systèmes 3.6+ sur les prototypes TI-Nspire DVT
- ...
Est-ce que ce sera mieux sur
TI-83 Premium CE ?
Visiblement non... À peine
Texas Instruments a-t-il mis en place cette protection, que nous avons déjà des motifs de dénoncer cet abus.
Normalement, ta calculatrice devrait rester parfaitement fiable tant que tu t'en tiens à l'utilisation d'applications officielles et de programmes TI-Basic.
À partir du moment où tu commences à utiliser des applications non officielles
(ce qui n'existe pas à ce jour pour TI-83 Premium CE) ou des programmes assembleur, il est "normal" de pouvoir rencontrer des plantages.
![](https://i.imgur.com/tR0z1Ott.png)
Et bien non, cette règle n'est pas respectée.
Depuis la version d'OS 5.1.0, la
TI-83 Premium CE dispose d'un bug très grave (déjà reporté à TI) faisant planter la machine et détruire tout le contenu de la mémoire de travail (RAM) en seulement 3 lignes de
TI-Basic !
![:o :o](./images/smilies/surprise.png)
Il suffit de faire appel à une liste complexe vide, ce qui sur les versions 5.0.0 antérieures déclenchait un simple erreur de dimension.
![Pas bien! :mj:](./images/smilies/sg3agmjg3ag.gif)
Une fois la ligne déclencheuse atteinte, la calculatrice se bloque avec un écran zébré :
![](https://i.imgur.com/gEB9PLmt.png)
![7368](/forum/gallery/image.php?mode=thumbnail&image_id=7368)
- Code: Tout sélectionner
EffÉcran
Disp "Setting list type to cplx:
{→L₁
Disp L₁
Output(2,1,"L₁=
Disp "List type is now cplx-list
0→dim(L₁
Disp dim(L₁
Output(4,1,"Emptying list: dim(L₁)=
Disp "Asking for whole content
Disp "should trigger invalid dim
Disp "error like with real-lists
Disp "With v5.1+ it is crashing:
Disp "[ON]=abort [ENTER]=crash…
Pause
Disp "L₁=",L₁
Et voilà, maintenant c'est le
reset avec la perte totale de données, alors que nous n'avons utilisé que des instructions officielles documentées.
![Pas bien! :mj:](./images/smilies/sg3agmjg3ag.gif)
Bien évidemment, il n'y a aucun intérêt à vouloir utiliser une liste vide dans un programme.
Mais dans un gros programme utilisant des listes complexes, il n'est pas impossible qu'un bug puisse conduire à ce cas.
Et même si le programme travaille juste sur des listes réelles, elles pourront très bien être complexes si elles ne sont pas correctement réinitialisées en début de programme...
Bref, si tu as réussi à obtenir des plantages sans aller chercher de programmes assembleur, c'est hélas normal depuis la versions 5.1.0.
![:( :(](./images/smilies/sad.png)
La solution serait de revenir à une version 5.0.0, mais si ta calculatrice est venue avec un Boot Code 5.1.5 cela t'est interdit - bienvenue chez
TI...
![Roule les yeux :#roll#:](./images/smilies/09.gif)