π
<-
Chat plein-écran
[^]

Pourquoi l'anti-downgrade des TI-83 Premium CE est néfaste

:32ti73: :32ti73e: :32ti73e2: :32ti76f: :32ti80: :32ti81: :32ti82: :32ti85: :32ti86: :32ti82s: :32ti82sf: :32ti82sfn: :32ti83: :32ti83p: :32ti83pb: :32ti83pr: :32ti83pfr: :32ti83pse: :32ti84p: :32ti84pse: :32ti84ppse: :32ti84pfr: :32ti84pcse: :32ti83pfrusb: :32ti82p: :32ti82a: :32ti84pce: :32ti83pce:

Pourquoi l'anti-downgrade des TI-83 Premium CE est néfaste

Message non lude critor » 02 Avr 2017, 16:21

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.55.1.5
5.2.05.1.5
5.2.15.1.5
5.2.25.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.

Et bien non, cette règle n'est pas respectée. :#non#:
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
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. :mj:

Une fois la ligne déclencheuse atteinte, la calculatrice se bloque avec un écran zébré :
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. :mj:

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. :(
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... :#roll#:
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 41.4%
 
Messages: 41455
Images: 14353
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Pourquoi l'anti-downgrade des TI-83 Premium CE est néfas

Message non lude Hayleia » 02 Avr 2017, 16:24

Ce boot code est donc spécifique à la calculatrice ? Il n'est pas mis à jour lors d'une mise à jour de l'OS ?
edit
"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."

Image
ImageImageImage
Pokemon Topaze (Axe) discussion and download links here
(19:29:36) noelnadal: plus sérieusemen​t, j'ai très peu de problèmes
(22:45:44) Clifward: J'aime rire du malheur des autres :troll:

(2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!!
(2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked).
(2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked.
(2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat.
(2017.11.18 - 17:07:28) Fireworks: <3
(2017.11.18 - 17:07:31) Fireworks: 208
Avatar de l’utilisateur
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Prochain niv.: 43.8%
 
Messages: 2509
Images: 2
Inscription: 30 Aoû 2011, 08:22
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Templar

Re: Pourquoi l'anti-downgrade des TI-83 Premium CE est néfas

Message non lude critor » 02 Avr 2017, 16:43

Le Boot Code n'est pas mis à jour non.
D'une part les fichiers d'OS ne le contiennent pas, et d'autre part il est programmé au début de la mémoire Flash, sur des secteurs protégés contre la réécriture.

Le numéro de version minimale autorisée lui, est inscrit en Flash dans la zone des TI-Certificats.
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 41.4%
 
Messages: 41455
Images: 14353
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Pourquoi l'anti-downgrade des TI-83 Premium CE est néfas

Message non lude parrotgeek1 » 03 Avr 2017, 16:25

I wonder if you could make a parser hook which detects empty complex lists before the bug happens and calls the ERR: screen itself. I know how to do that on z80 but not ez80.
Avatar de l’utilisateur
parrotgeek1Programmeur
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 88%
 
Messages: 745
Inscription: 29 Mar 2016, 01:22
Localisation: This account is no longer used.
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Pourquoi l'anti-downgrade des TI-83 Premium CE est néfas

Message non lude PT_ » 03 Avr 2017, 19:26

Nah, I've already discovered (and 'fixed') the bug, rather than doing complex stuff with hooks ;)

"I've fixed that dimension error bug! With OS 5.2.2.0043, at address $087561 (sorry, there is no label near it), there is a "dec hl \ ld a, h \ or a, l \ jr nz, $-E0", however, HL starts with 0 the first time it loops, so it first sets HL to $FFFFFF, and thus this routine will loop $FFFF times. Placing the "dec hl" after the "ld a, h \ ld a, l" would fix it :)"
Age of CEmpires I - In progress!
40%
Avatar de l’utilisateur
PT_Programmeur
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 57.2%
 
Messages: 259
Inscription: 09 Fév 2016, 23:06
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Pourquoi l'anti-downgrade des TI-83 Premium CE est néfas

Message non lude parrotgeek1 » 03 Avr 2017, 19:39

PT_ a écrit:Nah, I've already discovered (and 'fixed') the bug, rather than doing complex stuff with hooks ;)

"I've fixed that dimension error bug! With OS 5.2.2.0043, at address $087561 (sorry, there is no label near it), there is a "dec hl \ ld a, h \ or a, l \ jr nz, $-E0", however, HL starts with 0 the first time it loops, so it first sets HL to $FFFFFF, and thus this routine will loop $FFFF times. Placing the "dec hl" after the "ld a, h \ ld a, l" would fix it :)"

The problem is no one has publicly posted how to use a modified OS
Avatar de l’utilisateur
parrotgeek1Programmeur
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 88%
 
Messages: 745
Inscription: 29 Mar 2016, 01:22
Localisation: This account is no longer used.
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Pourquoi l'anti-downgrade des TI-83 Premium CE est néfas

Message non lude critor » 03 Avr 2017, 20:12

PT_ a écrit:Nah, I've already discovered (and 'fixed') the bug, rather than doing complex stuff with hooks ;)

"I've fixed that dimension error bug! With OS 5.2.2.0043, at address $087561 (sorry, there is no label near it), there is a "dec hl \ ld a, h \ or a, l \ jr nz, $-E0", however, HL starts with 0 the first time it loops, so it first sets HL to $FFFFFF, and thus this routine will loop $FFFF times. Placing the "dec hl" after the "ld a, h \ ld a, l" would fix it :)"

Great, PT_.
I did report that bug last september, it was still unfixed in OS 5.2.2, and you just fixed it in less than a day ! :bj:

Unfortunately, there is no OS 5.2.2 for the TI-83 Premium CE - we're still with OS 5.2.1.

parrotgeek1 a écrit:
PT_ a écrit:Nah, I've already discovered (and 'fixed') the bug, rather than doing complex stuff with hooks ;)

"I've fixed that dimension error bug! With OS 5.2.2.0043, at address $087561 (sorry, there is no label near it), there is a "dec hl \ ld a, h \ or a, l \ jr nz, $-E0", however, HL starts with 0 the first time it loops, so it first sets HL to $FFFFFF, and thus this routine will loop $FFFF times. Placing the "dec hl" after the "ld a, h \ ld a, l" would fix it :)"

The problem is no one has publicly posted how to use a modified OS


Using it is not a problem, the signature is only checked at installation.

So we would just need an on-calc patching program. ;)
Can this be done, @PT_ ?

We just then won't be able to transfer the patched OS directly from the calculator to another one, since it won't validate.
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 41.4%
 
Messages: 41455
Images: 14353
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Pourquoi l'anti-downgrade des TI-83 Premium CE est néfas

Message non lude PT_ » 03 Avr 2017, 23:08

Well, it's definitely doable to modify the OS, and if you REALLY want to, I'm MAYBE willing to write a program that swap these things what I said. My only problems are that I have not many free time, and I still shudder when thinking about modifying an OS, even though people say it's legal ;)
Age of CEmpires I - In progress!
40%
Avatar de l’utilisateur
PT_Programmeur
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 57.2%
 
Messages: 259
Inscription: 09 Fév 2016, 23:06
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Pourquoi l'anti-downgrade des TI-83 Premium CE est néfas

Message non lude critor » 03 Avr 2017, 23:50

Patching is legal, indeed.
Sharing patched images isn't.

That's the difference. ;)
And that's why I was asking about a patching program.

Even if you don't have many time, you might still be able to complete the patcher before TI fixes the bug. :P
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 41.4%
 
Messages: 41455
Images: 14353
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Pourquoi l'anti-downgrade des TI-83 Premium CE est néfas

Message non lude PT_ » 04 Avr 2017, 13:06

Hehe, I've patched the OS and fixed it! :P

Image

(Hope I didn't break anything else)
Age of CEmpires I - In progress!
40%
Avatar de l’utilisateur
PT_Programmeur
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 57.2%
 
Messages: 259
Inscription: 09 Fév 2016, 23:06
Genre: Homme
Calculatrice(s):
MyCalcs profile

Suivante

Retourner vers News TI-z80 (TI-73, 76, 80, 81, 82, 83, 84, 85, 86)

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 25 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
776 utilisateurs:
>752 invités
>19 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)