Page 1 of 1

Attention, l'OS 5.5.1 détruit 64K+ de variables archivées !

Unread postPosted: 03 Jun 2020, 12:10
by critor
Sur TI-83 Premium CE, l'OS (système d'exploitation) occupe en mémoire Flash un espace découpable en secteurs de 64 Kio.
Bien que non occupé au complet, le dernier secteur de 64 Kio n'est plus utilisable pour autre chose et donc perdu.

L'espace de stockage dit mémoire d'archive commence juste après ce dernier secteur.

Pour le contenu de cet espace, on distingue :
  • les applications qui sont écrites à rebours à compter de la fin (adresses mémoire les plus hautes, ci-contre en haut)
  • les variables qui sont écrites à partir du début (adresses mémoire les plus basses)
C'est lorsque ces deux types de contenus se rejoignent que la mémoire est pleine.

Depuis la mise à jour 5.1.5 du 8 décembre 2015, l'OS faisait entre 576 Kio et 640 Kio, occupant ainsi 10 secteurs de 64 Kio.
La mémoire d'archive se répartissait sur les 46 secteurs de 64 Kio restants, ce qui donnait 46×64= 2944 Kio de capacité, soit 2944×1,024≈ 3014 Ko, comme indiqué ci-contre une fois tout le contenu effacé.

En réalité les premiers OS 5.0.0 à 5.1.1 sortis pour TI-83 Premium CE étaient plus petits, faisant légèrement moins de 576 Kio et n'occupaient donc que 9 secteurs de 64 Kio.
La mémoire d'archive se répartissait alors sur 47 secteurs de 64 Kio restants, ce qui donnait 47×64= 3008 Kio de capacité, soit 3008×1,024≈ 3080 Ko.

Texas Instruments avait masqué la chose à l'époque, sachant que ses OS allaient très rapidement dépasser les 576 Kio. Le menu mémoire ne pouvait reporter qu'un maximum de 3014 Ko libres en mémoire d'archive, même lorsque l'espace disponible était supérieur.
Le subterfuge était facile à remarquer, à force d'effacer un par un des éléments en mémoire d'archive, on finissait par atteindre exactement 3014 Ko de libres alors qu'il restait encore du contenu. Et l'espace libre reporté cessait alors d'augmenter avec la suppression des derniers éléments.
La réduction de capacité de la mémoire d'archive de 3008 Kio à 2944 Kio lors de la sortie de l'OS 5.1.5 passa ainsi totalement inaperçue.

Le formidable OS 5.5.0 est sensiblement plus gros que les précédentes versions, dépassant la limite critique des 640 Kio.
L'OS 5.5.1 a certes bénéficié d'un léger recul en taille suite à la suppression du code de gestion des programmes développés en langage C ou assembleur, mais cela n'a hélas pas suffi à changer la donne.
L'OS occupe donc désormais 11 secteurs de 64 Kio.

En conséquence la mémoire d'archive ne bénéficie plus que de 45 secteurs de 64 Kio, ce qui donne 45×64= 2880 Kio de capacité, soit 2880×1,024≈ 2949 Ko, comme indiqué ci-contre une fois tout le contenu effacé. :'(

Ce n'est pas la première fois que nous le disons, mais nous déplorons que l'application Python embarque en dur la mise à jour du firmware TI-Python pour le coprocesseur Atmel dédié au Python.
C'était défendable du temps de l'ancien modèle TI-83 Premium CE où il pouvait y avoir besoin de mettre à jour plusieurs modules externes TI-Python...
Cela ne l'est plus sur TI-83 Premium CE Edition Python où le coprocesseur Python est interne et ne sera donc mis à jour qu'une seule et unique fois. Près de 540 Ko d'espace de stockage gaspillés... :mj:

Bien que l'espace libre de plus en plus restreint offert par la mémoire d'archive commence à être de plus en plus préoccupant dans le contexte du Python, ce n'est pas le problème essentiel de cet article.

Suite à des incidents nous ayant été signalés en privé par plusieurs utilisateurs, il y a clairement quelque chose de bien plus grave que cela, quelque chose qui aurait dû selon nous faire l'objet d'un avertissement sur la page officielle de téléchargement de l'OS 5.5.1.

Tu pensais que tes variables placées en mémoire d'archive étaient protégées contre les pertes de données ? Et bien non, voici l'exception qui confirme la règle, l'installation de l'OS 5.5.1 te grille le 1er secteur de 64 Kio de la mémoire d'archive... et te fait donc déjà perdre toutes les variables archivées que tu y avais placées. :mj:
Comme expliqué plus haut, les applications stockées à l'autre extrémité de cet espace de stockage ne sont pas concernées. Ce sont tous les autres types de variables qui sont concernés (programmes, scripts Python, images, variables d'application, ...).

Mais ce n'est pas tout, les variables sont de plus stockées de façon consécutive, et il y a peu de chance que le secteur suivant démarre exactement avec les données d'une nouvelle variable.
Tu perdras également la variable dont les données débordent du 1er secteur, et donc en pratique plus de 64 Kio.

Des conséquences qui pourront être considérées comme dramatiques selon les utilisateurs en cas d'absence de copie de sauvegarde de tes variables en mémoire d'archive, ce qui est fréquemment le cas pour les scripts Python en cours de conception, les niveaux de jeux en cours d'édition, les sauvegardes de highscores réalisés sur les jeux de la calculatrice... potentiellement des heures de travail définitivement perdues ! :'(

Si tu décides donc d'installer l'OS 5.5.1, tu dois absolument faire auparavant une copie de sauvegarde de toutes tes variables archivées sur ordinateur ou autre calculatrice ! /!

Téléchargement : OS + applis TI-83 Premium CE 5.5.1

Re: Attention, l'OS 5.5.1 détruit 64K+ de variables archivée

Unread postPosted: 03 Jun 2020, 12:32
by Lionel Debroux
Que l'upgrade de l'OS efface tout ou partie de l'archive parce que la taille de l'OS a augmenté s'est déjà produit sur TI-68k par le passé. C'est désagréable pour les utilisateurs, en effet.
Entre 2.00 et 2.03, AMS avait aussi un bug dans le code de reconstruction de la VAT à partir de l'archive lors du reboot, qui supprimait, dans certaines conditions, tout ou partie du contenu de l'archive.

Re: Attention, l'OS 5.5.1 détruit 64K+ de variables archivée

Unread postPosted: 03 Jun 2020, 12:45
by Hamza.S
Sans doute de l'ajout d'un code possiblement inutile, comme ils ont eu l'habitude de le faire pour les Nspire.

Re: Attention, l'OS 5.5.1 détruit 64K+ de variables archivée

Unread postPosted: 03 Jun 2020, 17:44
by DoOmnimaga
Drôle à dire, mais pour moi personnellement, perdre 64 Ko de données sur ma TI suite à une mise à jour d'OS n'a pas d'importance. Étant donné qu'avant de mettre à jour mon OS il y avait souvent un message avertissant que la mise à jour pourrait entrainer la suppression de toutes les données de la mémoire de la calculatrice, je me suis toujours attendu à en perdre plus que 64 Ko lors d'une MAJ. Donc je faisais toujours un backup avant.

Ce qui m'inquiète c'est qu'ils commencent à faire comme sur Ti-Nspire Clickpad et Touchpad et que dans quelques années l'OS TI-83 Premium CE ne nous laisse que 0.5-1 Mo d'archive.

Re: Attention, l'OS 5.5.1 détruit 64K+ de variables archivée

Unread postPosted: 04 Jun 2020, 10:28
by CaptainLuigi
On va de surprises en surprises avec TI :o , comme quoi : il y a plein de nouveautés toutes aussi superbes les unes que les autres ...