Page 1 of 2

CERMASTR 3 : éditeur certificat compatible 83PCE Python 5.6

Unread postPosted: 27 Apr 2021, 16:06
by critor
Aujourd'hui nous allons reparler de CERMASTR, notre éditeur de certificat machine pour TI-83 Premium CE et TI-84 Plus CE.

Le certificat écrit dans la mémoire Flash de ta calculatrice, présente une succession de champs pas tous documentés à ce jour. Nous y trouvons entre autres :
  • 037 : à l'envers, numéro minimum de version d'OS installable (toute tentative d'envoi d'une version inférieure sera refusée)
  • 040 : l'identifiant hexadécimal commençant par 13 affiché à l'écran à propos
  • 042 : le nom de modèle affiché à l'écran à propos (d'usine c'est ou TI-83 Premium CE ou TI-84 Plus CE)
  • 043 : indique la disponibilité du coprocesseur Python ; influe sur la possibilité de transférer et lancer les applications PyAdaptr et Python
  • 0b0 : langue par défaut à la réinitialisation (d'usine c'est où FRANÇAIS sur les TI-83 Premium CE, ou ENGLISH sur les TI-84 Plus CE)
  • 0c0 : état du mode examen
CERMASTR te permettant de modifier librement les octets de chacun de ces champs, ainsi que leurs identifiants.

Nombre de possibilités en perspective, comme :
  • avec la champ 042 le fait de personnaliser le nom de ta machine de façon unique au monde, une belle protection contre le vol :bj:
  • ou encore de réinstaller une version d'OS inférieure par réinitialisation du champ 037

CERMASTR n'était jusqu'à présent pas compatible avec les versions d'OS 5.5.0 à 5.6.0.

Une version compatible avait bien été développée par TheMachine02, mais dans le contexte difficile de l'année dernière elle n'avait pas été publiée.

En effet un enseignant de mathématiques français avait eu l'idée bizarre à quelques semaines des examens, de montrer en vidéo les étapes permettant d'accéder à ses données préchargées en mode examen, et donc de frauder aux examens en question. Le confinement annoncé quelques jours après venant heureusement rapidement éteindre l'incendie et le buzz.

La manipulation exploitait un bug présent sur des versions lourdement obsolètes de l'OS, il fallait redescendre en version 5.1.5 à 5.2.2, et donc perdre toutes les améliorations développées depuis.

Heureusement, la description de la vidéo avait commis une très lourde erreur : celle de lier non pas CERMASTR mais un ancien outil qui n'était plus mis à jour, et totalement incompatible avec le matériel des TI-83 Premium CE Edition Python alors d'actualité.

Mais dans ce contexte, nous ne pouvions tout simplement pas mettre à jour CERMASTR.

Finie l'attente, aujourd'hui est enfin disponible le nouveau CERMASTR version 3, avec des améliorations majeures ! :bj:

Au menu des nouveautés :
  • enfin la compatibilité avec les derniers OS 5.5.1 à 5.6.1 grâce à TheMachine02
  • possibilité de modifier la taille des champs, dans la limite de 17 octets pour le moment
  • possibilité de supprimer des champs
  • possibilité de rajouter des champs, mais pour le moment dans la limite de 9 champs, et de plus le nouveau champ est toujours rajouté à la fin
Nous allons voir très concrètement pour chaque champ ce que cela permet comme nouvelles possibilités.

13819Le champ 042 te permet donc de personnaliser le nom de modèle affiché à l'écran à propos, obligatoirement terminé par un caractère nul sous peine de risquer de planter l'écran en question.

Sur TI-83 Premium CE le champ était déjà de 17 octets et t'autorisait donc 16 caractères.

Précisons que CERMASTR te permet de revenir rapidement aux valeurs d'usine avec la touche
F4
si la taille du champ est suffisante, pas besoin dans ce cas de modifier octet par octet.
Mais sur TI-84 Plus CE le champ ne faisait que 14 octets et limitait donc lourdement tes possibilités de renommage à 13 caractères.

13817Désormais avec le nouveau CERMASTR v3, tu peux augmenter la taille du champ. Il te suffit pour cela avec
de te positionner sur la taille du champ, puis de taper
+
ou
-
.

Tu peux ainsi bénéficier sur ta TI-84 Plus CE des mêmes possibilités de renommage que sur la TI-83 Premium CE ! :bj:

Une possibilité complémentaire de personnalisation de ta calculatrice, c'était d'abuser du champ 040 pour faire du hex-speak sur la ligne de l'identifiant.
Mais 5 octets ne t'autorisaient que 10 caractères, qui plus est affichés selon un découpage par blocs de 5, les libertés étaient très limitées.

Désormais plus de problème, il te suffit de rallonger le champ.

Tu peux ainsi commencer à faire rentrer de courtes phrases qui seront bien affichées.

Certes ici, un subtile mélange de hex-speak et de leet speak... :P

Le champ 0B0 contient donc le nom de la langue à régler par défaut à chaque réinitialisation de la calculatrice, terminé ici encore par un caractère nul.

Le champ fait d'origine :
  • 9 octets sur TI-83 Premium CE, autorisant alors 8 caractères pour la valeur par défaut de FRANÇAIS
  • 8 octets sur TI-84 Plus CE, autorisant alors 7 caractères pour la valeur par défaut de ENGLISH
Si cela te faisait plaisir, tu pouvais donc déjà zoner ta calculatrice en Anglais (ENGLISH), Allemand (DEUTSCH), Espagnol (ESPAÑOL) ou Suédois (SVENSKA).

Ici encore, ces valeurs d'usines sont rapidement réglables par la touche
F4
.
Toutefois tu ne pouvais pas zoner ta TI-84 Plus CE en Français (FRANÇAIS - 8 caractères).

Et ni la TI-84 Plus CE ni la TI-83 Premium CE ne pouvaient être zonées en Portugais (PORTUGUÊSE - 9 caractères) ou Néerlandais (NEDERLANDS - 10 caractères).

Plus de limite désormais, tu peux zoner ta calculatrice dans l'intégralité des langues officielles du constructeur.

Il te suffira juste d'augmenter la taille du champ jusqu'à 9 pour le Français sur TI-84 Plus CE, 10 pour le Portugais, et 11 pour le Néerlandais.

Le champ 043 indique pour sa part si le matériel de la calculatrice inclut le coprocesseur 32 bits dédié au Python ou pas.

Le logiciel de connectivité TI-Connect CE l'utilise pour autoriser ou pas le transfert de certaines applications :
  • PyAdaptr : transfert autorisé uniquement si le champ 043 est absent
  • Python : transfert autorisé uniquement si le champ 043 est présent
Ce désormais manque de neutralité de TI-Connect CE est d'ailleurs bien embêtant pour nos tests.

Enfonçons déjà les portes ouvertes, rajouter le champ 043 ne te permet pas de disposer du Python sur les anciens modèles n'intégrant pas le coprocesseur Python. L'application Python acceptera enfin de se transférer via TI-Connect CE et de se lancer sans message d'erreur, mais n'affichera alors plus rien.

Par contre, on peut faire l'inverse : désactiver la fonctionnalité Python intégrée. :P

Pour désactiver le coprocesseur Python intégré à ta calculatrice TI-83 Premium CE Edition Python ou TI-84 Plus CE Edition Python, tu peux supprimer le champ 043. Tu pourras ensuite si besoin le recréer en fin de liste. Sa valeur ne semble avoir aucun effet, même un champ 043 vide suffit à activer le Python intégré.

13820Quel intérêt ? Et bien maintenant l'application PyAdaptr accepte de se lancer sans message d'erreur sur TI-83 Premium CE Edition Python, et d'interagir avec le module externe TI-Python, qui à la différence peut être reprogrammé avec des firmwares CircuitPython plus évolués intégrant entre autres le module cmath que Texas Instruments réserve à ce jour aux TI-Nspire CX II. ;)

Et enfin, manque de neutralité mais cette fois-ci en défaveur de CERMASTR, toute altération de la version minimale autorisée par le champ 037 est désormais interdite dans cette nouvelle version de CERMASTR.

Cela ne nous fait aucun plaisir, mais nous n'avons pas trouvé d'autre solution pour continuer à te faire profiter de cet outil et de ses larges possibilités. :'(

CERMASTR ne permet donc aucun retour à une version inférieure et donc potentiellement à un mode examen défectueux. :#non#:

Téléchargements :

Re: CERMASTR 3 : éditeur certificat compatible 83PCE Python

Unread postPosted: 28 Apr 2021, 15:50
by Bobb
Je comprends totalement votre choix de vouloir empêcher la fraude au mode examen.
Je demande cependant s'il n'est pas possible de faire un programme qui modifie directement la valeur du champ de version minimale en mettant 5.4 sans laisser choisir la version que la personne veut mettre, ainsi, tout danger serait écarté.

Cela permettrais de revenir en arrière pour ceux qui le veulent.

Re: CERMASTR 3 : éditeur certificat compatible 83PCE Python

Unread postPosted: 28 Apr 2021, 15:55
by TheMachine02
Le danger n'est pas écarté avec juste l'écriture en dur d'une version 5.4, tout simplement parce qu'on ne sait pas quels bugs il pourrait rester dans ces versions là (et connaissant TI, il y en a).
Je comprends l'envie de retourner en arrière, mais la 5.6.1 avec Artifice fonctionne quand même très bien.

Re: CERMASTR 3 : éditeur certificat compatible 83PCE Python

Unread postPosted: 28 Apr 2021, 16:55
by Bobb
Je suis d'accord que les nouvelles versions fonctionnent bien avec Artifice, et ce n'est pas mon désir de retourner en arrière. Mais peut-être qu'il y a des personnes qui le veulent.
En tous cas, bravo pour CERMASTR !

Re: CERMASTR 3 : éditeur certificat compatible 83PCE Python

Unread postPosted: 28 Apr 2021, 18:31
by DoOmnimaga
TheMachine02 wrote:Le danger n'est pas écarté avec juste l'écriture en dur d'une version 5.4, tout simplement parce qu'on ne sait pas quels bugs il pourrait rester dans ces versions là (et connaissant TI, il y en a).
Je comprends l'envie de retourner en arrière, mais la 5.6.1 avec Artifice fonctionne quand même très bien.

Je suis resté des mois sous 5.6 et 5.6.1, mais je me suis lassé du fait qu'il n'y ait plus la commande Asm( dans le catalogue, ce qui m'obligeait à lancer un programme Asm depuis l'écran home et ensuite 2nd+Entrée dans l'éditeur de programme pour copier-coller la commande Asm(. De toute façon j'avais aussi besoin de la commande Asm84CEprgm qui n'est plus disponible depuis l'OS 5.3.1.

Re: CERMASTR 3 : éditeur certificat compatible 83PCE Python

Unread postPosted: 25 Jun 2021, 14:28
by Shadow
Est-ce qu'on peut contourner la version de l'OS, c'est-à-dire de pouvoir renommer la version de la calculatrice (écrire 5.9.2 au lieu de 5.6.1) sans aucun changements intérieurs ?

PS : Il existe vraiment un moyen (privé) de retourner en 5.4 !? (d'après ce que j'ai compris ici)

Re: CERMASTR 3 : éditeur certificat compatible 83PCE Python

Unread postPosted: 25 Jun 2021, 15:16
by critor
À ma connaissance, aucun moyen de réinstaller la version 5.4 n'est en circulation actuellement, ni en public ni en privé.

Re: CERMASTR 3 : éditeur certificat compatible 83PCE Python

Unread postPosted: 15 Jul 2021, 17:07
by critor
Avec les calculatrices édition Python une fois qu'on a activé le mode examen au moins une fois et mis à jour sa calculatrice au moins une fois, on commençait à être très juste sur le nombre de champs.

Mise à jour CERMASTR 3.2 : archives_voir.php?id=1581757

2 nouveaux modes d'affichage, permettant de lister davantage de champs à l'écran. On peut basculer entre les 3 modes d'affichage avec la touche
mode
.
  • affichage hybride ascii+hexadécimal (par défaut)
  • affichage ascii
  • affichage hexadécimal
ImageImageImage

Comme tous les caractères ascii ne sont pas affichables, la sélection est maintenant indiquée en écriture inversée.

Re: CERMASTR 3 : éditeur certificat compatible 83PCE Python

Unread postPosted: 15 Jul 2021, 17:58
by critor
Mise à jour CERMASTR 3.21, avec enfin la gestion du défilement vertical : archives_voir.php?id=1581757
Il devient donc possible d'accéder et altérer les éventuels champs ne rentrant pas dans l'écran, même dans le mode d'affichage hybride par défaut.

Pour l'instant le nombre maximal de champs géré est codé en dur, et limité à 16. Ce qui devrait suffire pour les machines Edition Python où le nombre de champs usuellement constaté tourne autour de 10. Mais si besoin, on l'augmentera.

Re: CERMASTR 3 : éditeur certificat compatible 83PCE Python

Unread postPosted: 15 Jul 2021, 18:04
by Ti64CLi++
Ce qui pourrait être sympa et vraiment utile comme nouvelle fonctionnalité est la gestion du pavé numérique et les touches correspondantes à A-F afin de pouvoir rentrer les valeurs hexadécimales directement.
Pour certains caractères, il faut maintenir les flèches très longtemps, ce qui répété de nombreuse fois devient vite gênant ;)