Nous avions reçu initialement un premier échantillon, la Zero ZGC1, dont nous t'avions offert un unboxing puis un test matériel avec des performances formidablement supérieures à celles des TI-84 Plus CE.
Nous avions reçu par la suite en septembre 2022 un 2e échantillon utilisant une nouvelle révision matérielle, la Zero ZGC2.
Si la Zero avait pour objectif de concurrencer la TI-84 Plus CE en Amérique du Nord, rappelons que la plateforme CE est déclinée par Texas Instruments en différentes éditions de par le monde, avec de petites différences :
- TI-83 Premium CE (2015) puis TI-83 Premium CE Edition Python (2019) en France
- TI-84 Plus CE-T (2015) puis TI-84 Plus CE-T Python Edition (2020) en Europe
- TI-84 Plus CE Python (2021) en Amérique du Nord
- TI-84 Plus CE (2015) dans le reste du monde
Bien que donc prévues pour concurrencer la TI-84 Plus CE Python, avec une diode examen, un mode examen assez restrictif et l'absence de programmation Python, les ZGC1 et ZGC2 étaient en fait plus proche du modèle européen TI-84 Plus CE-T, dans son édition sans Python.
Il faut dire que le projet avançait à notre connaissance sans l'accord de Texas Instruments, et que la rumeur populaire racontait que ces derniers avaient exigé un changement de design.
Lors de l'écriture de cet article, il n'y avait pas encore de simulateur Zero disponible, donc il a fallu prendre des photos. Celui-ci est arrivé quelques jours après, cela dit !
Si il n’y a pas d’autre contretemps, la Zero devrait enfin pouvoir sortir d'ici quelques mois, prête pour la rentrée 2024, en Amérique du Nord pour commencer. Mais avant cela, regardons donc tout de suite ce qu’elle vaut.
Nous mentionnerons régulièrement dans ce test la TI-84 Plus CE à des fins de comparaisons, et tu pourras considérer à chaque fois que c’est pareil que la TI-83 Premium CE française. Lorsqu’il y aura une différence notable, nous le préciserons.
Sommaire :
- L'homme derrière la Zero
- Déballage et premier coup d'oeil
- Premier allumage et thème sombre
- À propos, faisons connaissance
- Saisie et verrouillage alphabétique
- Nommage des variables, listes et matrices
- Langage de programmation Zero Basic
- Programmation et écran texte
- Interface et langue
- Ecran graphique :
- Fonctions et graphes
- Suites numériques
- Moteur de calcul
- Connectivité :
- Applications intégrées
- Langage de programmation Python
- Mémoire
- Performances
- Mode examen
- Matériel
- Alimentation et autonomie
- Code source et développeur
- Bilan et comparaisons
A) L'homme derrière la Zero
Go to topJesse, diplômé de l'Université d'Oregon, est tétraplégique depuis un terrible accident alors qu'il avait tout juste 20 ans, en octobre 2008 : au cours d'une partie de paintball en forêt avec ses amis, Jesse, se cachant dans un fourré, a été pris pour du gibier par des chasseurs qui passaient en voiture, et gravement touché au cou.
Mais comme tu peux le constater, cela ne l'a pas empêché de vouloir viser la Lune en se proposant de chatouiller le géant Texas Instruments (comme NumWorks a pu réussir à le faire en France), ambition que nous ne pouvons que saluer.
B) Déballage et premier coup d'oeil
Go to topPar contre, la ZGC3 est visuellement très différente
Plusieurs changements semblent effectivement avoir été apportés afin d'éloigner davantage la Zero ZGC3 de l'aspect d'une TI-84 Plus CE, rendant toute confusion avec cette dernière encore plus improbable :
- les touches passent d'une forme rectangulaire à une forme circulaire, plus exactement des calottes sphériques, et les reflets lumineux alors répliqués sur chaque touche donnent un cachet tout particulier à cette calculatrice
- dans la partie supérieure proche de l'écran et donc caractéristique dans l'esprit des utilisateurs de l'identité de chaque calculatrice, nous notions également plusieurs changements par rapport à l'organisation des touches clavier d'une TI-84 Plus CE :
- pavé directionnel qui passe au centre (ce qui ne nous semble pas des plus ergonomiques pour les jeux, mais aussi pour naviguer dans les menus ce que l'on fait sans arrêt sur une machine dépourvue d'un écran tactile)
- touches X,Y,θ,n, mode, del qui adoptent des emplacements jusqu'ici inédits
- touches stat qui quitte la zone supérieure et inversement touche clear qui y fait son entrée
- plastique de la façade clavier qui abandonne sa finition sablée pour un polissage miroir certes très beau, mais avec malheureusement plusieurs inconvénients majeurs :
- marquage durable de toute trace d'utilisation dès que l'on ne prend pas de gants
- rendant hélas les inscriptions en rouge foncé des fonctions alphabétiques beaucoup plus pénibles à lire sous un éclairage domestique
Sur la tranche inférieure, la Zero dispose d’un port USB-C.
La diode par contre a été déplacée. Elle passe de la tranche inférieure sur ZGC1 et ZGC2, à la tranche supérieure sur ZGC3.
C) Premier allumage et thème sombre
Go to topPeut-être un effort supplémentaire afin de distinguer la ZGC3 des TI-84 Plus CE, et dans tous les cas un bel avantage !
Bon par contre, comme tu dois le deviner nous n'avons à ce jour ni émulateur ni de quoi prendre des captures d'écran de la calculatrice. Et sur cette technologie d'écran, il est fort pénible de prendre des photos correctes de l'écran lorsqu'une bonne partie des pixels sont réglés pour afficher du noir, c'est-à-dire en pratique sont éteints. Alors commençons par changer de thème d'affichage, si possible...
Nous trouvons heureusement vite de quoi, une option "Dark mode" mais bizarrement disponible non pas dans le menu mode, mais dans le menu 'Format' accessible via 2ndF3.
Nous voici maintenant fin prêts pour la suite…
D) À propos, faisons connaissance
Go to topLà où l’ultime mise à jour pour ZGC1 et ZGC2 fut la version 1.66.23 compilée le 26 avril 2023, nous découvrons ici que la ZGC3 vient préchargée avec un système d’exploitation en version 2.18.3 compilé le 16 août 2023.
Une incrémentation majeure de la numérotation de version qui suggère des différences significatives, soit au niveau du logiciel, soit au niveau du matériel, soit les deux. Il va nous falloir creuser.
En attendant, ajout notable à cet écran, on note l’affichage d’un identifiant faisant office de numéro de série numérique.
E) Saisie et verrouillage alphabétique
Go to top- une fonction principale
- une fonction secondaire accessible via le modificateur 2nd
- une fonction alphabétique accessible via le modificateur alpha
Concernant le modificateur alphabétique, comme sur TI-84 Plus CE il suffit de taper :
- alpha pour saisir 1 caractère en majuscule selon les inscriptions de fonctions alphabétiques au clavier
- 2ndalpha pour verrouiller la calculatrice en mode alphabétique et pouvoir ainsi saisir toute une série de ces caractères en majuscules sans avoir à réappuyer sur alpha à chaque fois
- n’est librement possible qu’au sein de l’application Python
- En dehors de cela il te faut passer par Caractères, interface de saisie accessible uniquement si la calculatrice est réglée dans une autre langue que l’Anglais (1ère entrée au catalogue
2nd
0
), ce qui exclut déjà l’Amérique du Nord, et où les minuscules sont alors accessibles avecalpha
alpha
.
Cette manipulation ouvrant une interface, sa possibilité et sa pertinence vont de plus dépendre du contexte. - Si rien de ce qui précède ne te convenait, il te fallait installer des outils comme Cesium hélas plus difficilement accessibles et plus péniblement utilisables depuis que Texas Instruments a supprimé la gestion des programmes assembleur.
Formidable ajout d’origine sur la Zero, il est possible de saisir des caractères en minuscules via une double pression de la touche alpha :
- alphaalpha pour pouvoir saisir 1 caractère en minuscule
- 2ndalphaalpha pour verrouiller la calculatrice en mode alphabétique minuscule et pouvoir saisir toute une série de ces caractères en minuscules
Attention, lorsque le modificateur alpha est actif la touche enter ne fonctionne pas. C’est particulièrement embêtant lorsque l’on est en mode verrouillage alphabétique.
De plus, cela nous est plusieurs fois arrivés d’avoir une touche enter non réactive alors qu’aucun modificateur n’était actif, ne pouvant alors qu’annuler la saisie pour recommencer. Petit bug de drapeaux ou événements on dirait…
F) Nommage des variables, listes et matrices
Go to topsto→, mais la gestion des variables était extrêmement rigide :
- 27 variables numériques (les lettres de A à Z ainsi que la lettre grecque θ)
- 10 noms de variables dédiés aux matrices (de [A] à [J])
- 10 noms de variables dédiés aux chaînes de caractères (Str0 à Str9, ou en Français sur TI-83 Premium CE Chn0 à Chn9)
- 6 noms de variables dédiés aux listes (de L1 à L6)
- divers noms de variables dédié à la configuration des grapheur et tableau de valeurs de fonctions (bornes de la fenêtre Xmin et Xmax entre bien d’autres choses)
Sur la Zero tu retrouveras les mêmes jetons dédiés à certains types de variables. Attention petit détail concernant les matrices et listes, la syntaxe permettant de les redimensionner sur TI-84 Plus CE n’est pas reconnue. Il faut passer par la fonction resize() ajoutée à cette fin.
Dans le cas particulier des listes, la TI-84 Plus CE te permet également de choisir des noms de variables sur 6 caractères sous les contraintes suivantes :
- le premier caractère doit être le préfixe dédié L
- le deuxième caractère doit obligatoirement être une lettre alphabétique
- les 4 caractères restant si utilisés peuvent faire appel aussi bien à lettres que chiffres ou encore à la lettre grecque θ
Sur la Zero, les jetons ne sont en fait conservés qu’à des fins de compatibilité. Nous avons droit en prime à une gestion des noms de variables enfin digne de ce que l’on trouve sur les modèles haut de gamme !
Les noms de variables peuvent être librement choisis sur 15 caractères sous les seules règles suivantes :
- les caractères peuvent être des lettres majuscules ou minuscules, ou la lettre grecque θ
- les chiffres par contre sont strictement interdits, même au-delà du premier caractère
Précisons que les variables ainsi définies peuvent accueillir n’importe quel type de donnée, mêmes des types de données pour lesquels il existe des variables système dédiées (listes, matrices, …) !
Malheureusement cet énorme avantage n’est pas entièrement fonctionnel. Par exemple, la syntaxe permettant d’accéder aux éléments de listes et matrices n’est pas reconnue si l’on n’utilise pas l’une des variables dédiées. De même, la fonction de redimensionnement resize() ne fonctionnera pas sur un nom de variable non dédié.
Quel dommage, car cela casse presque entièrement le formidable intérêt de pouvoir enregistrer n’importe quel type de donnée dans un nom de variable.
G) Langage de programmation Zero Basic
Go to topSi il ressemble beaucoup au TI-Basic, il y a plusieurs différences qui feront que le code ne sera pas directement compatible (mais pourra être facilement adapté, dans un sens ou dans l’autre).
Les différences essentielles concernent les instructions de boucle :
- Déjà, la boucle "Repeat" (”répéter jusqu’à”) de la TI-84 Plus CE n’existe pas sur Zero. Il faudra la transcrire en boucle "While" (”tant que”) et éventuellement adapter le test qui va avec.
- La boucle conditionnelle "while" (”tant que”) adopte une syntaxe différente :
TI-84 Plus CE Zero - Code: Select all
While …condition…
…instruction_1…
…instruction_2…
…
End
- Code: Select all
while …condition… do
…instruction_1…
…instruction_2…
…
end
- La boucle d’itération "for" (’pour’) adopte également une syntaxe différente :
Attention à une petite différence qui nécessitera d’adapter légèrement ton code. À chaque itération de la boucle for il y a une incrémentation du compteur et un test par rapport à la borne de fin.TI-84 Plus CE Zero - Code: Select all
For(…variable… , …départ… , …fin…)
…instruction_1…
…instruction_2…
…
End
- Code: Select all
for …variable… in …départ… , …fin… do
…instruction_1…
…instruction_2…
…
end
- Code: Select all
For(…variable… , …départ… , …fin… , …pas…)
…instruction_1…
…instruction_2…
…
End
- Code: Select all
for …variable… in …départ… , …fin… , …pas… do
…instruction_1…
…instruction_2…
…
end
- En TI-Basic, la boucle For s’arrête après avoir atteint et itéré sur la borne de fin. C’est-à-dire qu’après chaque itération, l’incrémentation est effectuée après le test.
Par exemple, une boucle ’pour i de 1 à 10’ exécutera 10 fois son corps avec des valeurs de i allant de 1 jusqu’à 10 inclus. - En Zero Basic, la boucle for s’arrête avant que l’on n’atteigne la borne de fin (comme en Python). C’est-à-dire qu’après chaque itération, l’incrémentation est effectuée avant le test.
Par exemple, une boucle ’pour i de 1 à 10’ exécutera 9 fois son contenu avec des valeurs de i allant de 1 jusqu’à 9.
Notons que le langage Zero Basic accepte 2 écritures différentes pour la plupart des opérateurs de comparaison :
- le caractère spécial associé récupérable via le menu 2ndmath
- mais aussi une écriture avec de simples caractères ASCII 7 bits, à la différence disponible directement sur tout clavier d’ordinateur (nous verrons pourquoi dans la partie connectivité ) :
<=
au lieu de≤
>=
au lieu de≥
!=
au lieu de≠
=
mais ==
comme dans bien d’autres langages de programmation professionnels, et comme c’était le cas à partir de 1993 sur le haut de gamme de l’époque TI-85 puis TI-86. Toutefois c’est davantage discutable ici, dans le sens où c’est l’opérateur →
saisi via la touche sto→ qui sert à l’affectation et qu’il n’y a donc pas de confusion possible. En conséquence, l’opérateur =
quant à lui ne sert strictement à rien sur Zero, déclenchant dans tous les cas une erreur de syntaxe.Et pour appeler un sous programme en Zero Basic, on ne fait pas
prgm…nom…
mais call …nom…
.Regardons du côté des commandes accessibles depuis l’éditeur via la touche prgm.
Notons sur Zero que le menu de l’éditeur de programme met à portée de main dans un onglet les instructions relatives à l’horloge système dans un onglet dédié TIME.
Signalons la présence remarquable sur Zero d’équivalents à certaines instructions pourtant rajoutées fort récemment au langage TI-Basic sur TI-84 Plus CE :
Wait()
eval()
expr()
toString()
Par contre inversement, certaines instructions TI-Basic semblent à ce jour ne pas avoir d’équivalent en Zero Basic :
Menu(
pour afficher un choix plein écranLbl
etGoto
pour les branchements, à remplacer donc par des boucles ou appels de sous-programmesOpenLib
etExecLib
pour les applications fournissant des bibliothèques d’instructionsSend(
etGet(
pour échanger des valeurs de variables par câble avec une autre calculatrice ou un périphérique
Rappelons que le TI-Basic t’interdisait d’indenter ton code, déclenchant une erreur de syntaxe sur le moindre caractère espace rencontré en début de ligne. Gros avantage pour le Zero Basic qui n’a pas cette rigidité, tu ici es libre de rajouter des espaces où bon te semble, ce qui te permet entre autres :
- d’indenter les différentes lignes de ton programme comme on apprend à le faire au lycée, ce qui en facilite grandement la lisibilité et par conséquent la production et la maintenance !
- d’aligner certains paramètres sur des lignes consécutives similaires
H) Programmation et écran texte
Go to topCréons donc un programme qui va nous permettre de numéroter les lignes et colonnes. Comme un affichage hors écran génère une erreur, nous testerons les flèches du pavé directionnel afin d’augmenter ou diminuer le nombre de lignes ou colonnes à numéroter.
(Indentation TI-Basic ajoutée pour des raisons de lisibilité, et à enlever si vous testez)
TI-84 Plus CE | Zero |
---|---|
|
|
Si tu l’avais oublié, tu pourras constater que la TI-84 Plus CE t’offre des possibilités d’affichage de textes sur 10 lignes de 26 colonnes.
Comme on pouvait s’y attendre, la Zero est effectivement plus généreuse avec 12 lignes sur 32 colonnes. Une formidable aubaine pour les passionnés du langage TI-Basic !
Petit problème toutefois avec les colonnes, si tu donnes à la fonction Output( une position supérieure à la limite, la Zero plante et redémarre, au lieu de se contenter d’un message d’erreur comme lorsque l’on utilise une position de ligne hors écran. Précisons toutefois que le contenu mémoire est préservé malgré cela, c’est une bonne nouvelle !
Nous remarquons également un petit bug plus embêtant, dans certains cas, les affichages effectués avec l’instruction Disp() oublient de faire défiler l’affichage lorsqu’elles atteignent le bas de l’écran.
I) Interface et langue
Go to topNous retrouvons sur la Zero les menus par onglets plein écran de la TI-84 Plus CE.
Vu les tests précédents sur l’écran texte, on aurait pu s’attendre à avoir davantage de choix affichés simultanément à l’écran sous chacun de ces onglets. Et bien non. Là où la TI-84 Plus CE déroule les menus sur 10 lignes, la Zero se contente de 8 lignes. Mais attends un petit peu car il y a une raison derrière cela.
Sur TI-84 Plus CE, on pouvait accéder à une aide sur chaque fonction ou instruction sélectionnée aux menus en tapant
+, donnant alors un écran décrivant les paramètres attendus. Une superbe possibilité hélas précisée nulle part sur l’interface ou le clavier, et donc non intuitive.
Et bien justement, nouvelle innovation sur la Zero, cette aide en ligne est directement intégrée aux menus, dans l’espace justement libéré en bas d’écran !
Petite différence notable, lorsque l’on sélectionne un choix hors écran la ligne affichant les titres de chaque onglet est conservée sur TI-84 Plus CE, alors que sur Zero elle part avec le défilement. Pas forcément un bug, cela peut très bien être un choix, compensant le nombre réduit de lignes listant les entrées sous chaque onglet.
Notons quelques petits problèmes d’homogénéité lorsque l’on souhaite quitter un menu sur Zero :
- la plupart des menus peuvent être fermés aussi bien en tapant clear que 2ndmode (fonction secondaire ‘quit’)
- mais certains menus ne peuvent être refermés qu’avec 2ndmode (menus des applications, de choix du langage de programmation, menu statistiques)
Autre problème : dans certaines conditions, appeler un menu depuis une interface de saisie (boîte de dialogue, éditeur de programmes, …) ferme l’interface en question. Bien embêtant pour saisir des caractères spéciaux non disponibles au clavier…
J1) Dimensions zone graphique
Go to top- depuis le grapheur de fonctions
- via des instructions graphiques depuis un programme
- Code: Select all
(Xmax-Xmin)/ΔX+1
(Ymax-Ymin)/ΔY+1
L’écran de 320×240 pixels de la TI-84 Plus CE offre une zone graphique de 265×165 pixels. C’est justement l’un des gros inconvénients de ce modèle, encadrant le petit timbre graphique de grosses bordures inesthétiques et essentiellement inutiles.
Rien de tel sur Zero où nous avons droit à une zone graphique hautement plus généreuse. Le calcul toutefois nous donne un résultat surprenant, 321×196 pixels, alors que l’écran ne fait certainement pas plus de 320 pixels de large.
Mais nous nous souvenons du comportement de la boucle ’pour’ vu plus haut, qui s’arrêtait avant la borne supérieure. Et effectivement cela semble bien être ça. Si nous réglons par exemple les bornes horizontales de la fenêtre graphique à
Xmin=0
et Xmax=320
, le curseur ne peut pas dépasser l’abscisse 319, en contradiction donc avec le réglage, petit bug.Bref, la généreuse zone graphique sur Zero fait finalement très exactement 320×195 pixels.
Avant la suite, rappelons que la plupart des instructions graphiques attendent des coordonnées dans le repère réglé. Lorsque tu cibles un affichage par pixels (c’est-à-dire relativement au coin supérieur gauche de la zone graphique), ou lorsque tu utilises certaines instructions graphiques qui attendent obligatoirement des coordonnées en pixels (Text() par exemple), il est fort pratique de régler les bornes de la fenêtre graphique pour correspondre exactement à ses dimensions en pixels :
TI-84 Plus CE | Zero |
---|---|
|
|
Le code précédent règle
Xmin=0
, Ymax=0
et :Xmax=264
etYmin=-164
sur TI-84 Plus CEXmax=320
etYmin=-196
sur Zero
J2) Affichage de textes
Go to topTextColor(...couleur…)
pour régler la couleurText(...ligne… , …colonne… , …text1… , …text2… , …)
pour afficher un ou plusieurs textes à la position indiquée
Sur la Zero nous n’avons pas réussi à trouver d’instruction équivalente permettant de régler la couleur du texte, et l’instruction permettant d’écrire du texte dans la zone graphique ne prend pas davantage de couleur en paramètre selon l’aide en ligne. Nous ne traiterons donc les couleurs que dans la prochaine partie.
Selon cette même aide en ligne, les paramètres attendus par l’instruction Text() sont identiques sur Zero et TI-84 Plus CE. Sauf que c’est faux, en pratique les coordonnées sont inversées sur Zero :
Text(...colonne… , …ligne… , …text1… , …text2… , …)
Autre anomalie qui ressemble vraiment à un bug d’évaluation et non à un choix, quand on met un nom de variable en paramètre, ce n’est pas sa valeur qui est affichée mais le nom en question. Un contournement pour afficher la valeur d’une variable est d’englober son nom dans un appel toString().
Sur TI-84 Plus CE l’instruction Text() dispose également d’un mode non documenté : si le premier paramètre est négatif, alors elle permet les affichages dans la zone graphique en utilisant la grande police de l’écran de calcul :
Text(-1, ...ligne… , …colonne… , …text1… , …text2… , …)
Sur Zero ce mode spécial grande police ne semble pas exister pour les écritures graphiques. Par contre petit truc amusant, si l’on indique une valeur négative à la place du numéro de colonne d’affichage en premier paramètre, cela permet d’afficher du texte avec un effet italique à gauche, et même de contrôler la force de l’effet en question :
- Code: Select all
ClrDraw
15→H
for L in 0,13 do
Text(-I,L*H,"Plop from inside !")
Text(293,L*H,toString(L))
end
J3) Palette de couleurs
Go to topA priori la Zero propose les mêmes choix. Mais la machine ayant déjà réussi plusieurs fois à nous surprendre jusqu’ici, prenons nos précautions.
Réalisons donc un programme de mire qui va nous permettre de tester l’affichage avec différentes valeurs de couleurs :
(Indentation TI-Basic ajoutée pour des raisons de lisibilité, et à enlever si vous testez)
TI-84 Plus CE | Zero |
---|---|
|
|
Sur TI-84 Plus CE, l’éventail le plus large de codes de couleur que nous pouvons afficher sans erreur va de 10 (BLUE) à 24 (DARKGRAY), ce qui donne bien dans l’ordre les 15 couleurs précédemment listées au menu :
- 10 : BLUE (BLEU)
- 11 : RED (ROUGE)
- 12 : BLACK (NOIR)
- 13 : MAGENTA
- 14 : GREEN (VERT)
- 15 : ORANGE
- 16 : BROWN (MARRON)
- 17 : NAVY (BLEU MRN)
- 18 : LTBLUE (BLEU CLAIR)
- 19 : YELLOW (JAUNE)
- 20 : WHITE (BLANC)
- 21 : LTGRAY (GRIS CLR)
- 22 : MEDGRAY (GRIS MOY)
- 23 : GRAY (GRIS)
- 24 : DARKGRAY (GRIS FON)
Et bien nous n’avons pas fait tout cela pour rien, sur Zero l’éventail est élargi pour accepter des codes de couleur allant de 10 à 26, soit 2 couleurs supplémentaires qui n’étaient pas au menu précédent, et donc au total 17 couleurs différentes utilisables.
On se demande bien quel codage pourrait bien être utilisé pour sauvegarder ces 17 couleurs, nécessitant donc plus de 4 bits. Mais un autre bug nous retarde dans nos comparaisons et analyses, quelque soit le nom de variable que l’on passe à l’instruction StorePic, cette dernière semble systématiquement sauvegarder l’affichage dans la variable Pic0.
Rappelons que la palette de couleurs est également défilable pour choisir la couleur de tracé du graphe d’une fonction. Ici à la différence, les 2 couleurs supplémentaires sont bel et bien affichées, et nous découvrons leurs noms au passage :
- 25 : DARK
- 26 : CYAN
J3) Stylos de tracé
Go to top8 stylos sont disponibles pour les graphes de fonctions.
2 d’entre eux ci-contre sont particuliers car correspondant à des animations, avec un curseur décrivant la courbe de gauche à droite.
Les 6 autres permettent de choisir entre :
- trait plein (fin + épais)
- ombrage (supérieur + inférieur)
- trait en pointillés (fin + épais)
Le stylo pouvait également être indiqué en dernier paramètre des instructions de tracé. On peut faire un petit programme pour constater l’effet associé à chaque valeur :
TI-84 Plus CE | Zero |
---|---|
|
|
4 choix reprenant une partie des stylos précédents sont disponibles sur TI-84 Plus CE, seules les valeurs entières de 1 à 4 étant acceptées sans erreur :
- trait plein fin
- trait plein épais
- ombrage supérieur
- ombrage inférieur
La TI-84 Plus CE manquait donc ici d’homogénéité. Si on pouvait comprendre ne pas avoir les 2 tracés animés, il était dommage de ne pas avoir droit aux stylos en pointillés en dehors des graphes de fonctions
Pour les styles de représentations graphiques sur Zero, on retrouve entre autres les 2 tracés animés.
Pour le reste, ce sont 8 stylos différents qui sont disponibles soit 2 de plus, rajoutant les ombrages accompagnés d’un trait en pointillés :
Regardons maintenant avec notre programme ce qui est disponible pour les instructions de tracé :
Cette fois-ci 10 valeurs sont acceptées de 0 à 9, mais seulement 6 sont utiles :
- 0 : trait plein fin
- 1 : trait plein épais
- 2 : trait en pointillés fin
- 3 : trait en pointillés épais
- 6 : ombrage inférieur
- 7 : ombrage supérieur
Dans tous les cas c’est plus cohérent que sur TI-84 Plus CE, et nous avons donc 6 stylos différents pour tes dessins et programmes au lieu de 4 !
K) Fonctions et graphes
Go to topNotons une belle amélioration sur la Zero, le menu calcul relatif aux graphes et accessible via 2ndtrace est affichée via des onglets en bas d’écran, et non en plein écran. Ce qui permet de garder à tout moment les graphes sous les yeux !
Il semble par contre y avoir encore un petit bug. La ZGC3 refuse souvent de tracer les tangentes, alors que nous n’avions pas ce problème sur ZGC1 et ZGC2.
Rajoutons que le symbole intégrale n’est pas correctement affiché dans ce menu, ni dans la description du résultat associé.
L) Suites numériques
Go to topDéjà, contrairement à la TI-84 Plus CE, la Zero ne permet de saisir qu’uniquement des définitions au rang n. Les relations de récurrences étant la plupart du temps données dans les énoncés aux rangs n+1 ou n+2, elles nécessiteront une transformation (remplacement de toutes les occurrences de n par des n-1 ou n-2) qui peut déjà être génératrice d’erreurs si l’on ne parenthèse pas correctement afin de respecter les mêmes priorités opératoires.
Mais ce n’est pas tout, bug d’interface également, la Zero considère une définition de suite comme invalide si tu ne fournis pas les valeurs des 2 premiers termes, soit :
- 2 valeurs inutiles si la suite est définie par son terme général
- 1 valeur inutile si il s’agit d’une suite récurrente d’ordre 1
Outre leur caractère inutile, cela ajoute la possibilité de se tromper et saisir de mauvaises valeurs…
En l’état, le support des suites numériques est donc très mauvais sur Zero.
M1) Moteur de calcul exact
Go to top- sur TI-83 Premium CE, moteur de calcul exact de type QPiRac, supportant les 2 familles de nombres suivantes :
- multiples rationnels de π : $mathjax$\pm\frac{a\pi}{b}$mathjax$pour la trigonométrie
- binômes de rationnels et/ou radicaux : $mathjax$\frac{\pm a\sqrt{b} \pm c\sqrt{d}}{f}$mathjax$
- multiples rationnels de π :
- sur TI-84 Plus CE, moteur de calcul exact de type Q, ne supportant que les nombres rationnels
La Zero s’inspirant de la TI-84 Plus CE et non pas de la TI-83 Premium CE, il ne faut pas s’attendre à des résultats exacts en dehors de
TI-83 Premium CE | TI-84 Plus CE | Zero |
Problème malgré nos faibles attentes, puisque l’on se rend compte que la Zero est capable de donner facilement de faux résultats exacts, prétendant par exemple que
M2) Moteur de calcul numérique
Go to top- M, nombre décimal sur $mathjax$\left[1;10\right[$mathjax$: la mantisse
- E, entier relatif : l’exposant
Reste encore à déterminer la précision de la mantisse, et les bornes de l’exposant.
Pour la précision de la mantisse, nous pouvons faire appel au petit programme suivant :
TI-84 Plus CE | Zero |
---|---|
|
|
A priori les résultats semblent en faveur de la Zero :
- sur TI-84 Plus CE, mantisses permettant d’accueillir des nombres jusqu’à 40 bits ou 13 chiffres significatifs en base décimale
- sur Zero, mantisses permettant d’accueillir jusqu’à 53 bits ou 16 chiffres significatifs en base décimale
Passons maintenant à un programme de détection des bornes autorisées pour l’exposant :
- pour la borne supérieure, il suffit de calculer des nombres de plus en plus grands jusqu’à déclenchement d’une erreur
- pour la borne inférieure, Il suffit de calculer des nombres de plus en plus petits en valeur absolue, jusqu’à-ce que le résultat retourné s’annule
TI-84 Plus CE | Zero |
---|---|
|
|
|
|
Résultats des courses :
- la TI-84 Plus CE accepte des exposants allant de -99 à +99
- la Zero accepte des exposants allant de -324 à +308
Sauf que non, en pratique nous obtenons bien plus souvent des écarts au résultat attendu sur la Zero, et notamment avec des calculs très simples sur lesquels la TI-84 Plus CE ne fait aucune erreur…
Par exemple :
- $mathjax$0,1-0,1=0$mathjax$sur TI-84 Plus CE ✅ et Zero ✅
- $mathjax$0,2-0,1-0,1=0$mathjax$sur TI-84 Plus CE ✅ et Zero ✅
- $mathjax$0,3-0,2-0,1=0$mathjax$sur TI-84 Plus CE ✅ mais$mathjax$0,3-0,2-0,1\neq 0$mathjax$sur Zero ❌
- $mathjax$0,3-0,1-0,1-0,1=0$mathjax$sur TI-84 Plus CE ✅ mais$mathjax$0,3-0,1-0,1-0,1\neq 0$mathjax$sur Zero ❌
N1) Connectivité avec logiciel ZeroConnect
Go to topÀ la différence de la TI-84 Plus CE qui utilise un port USB mini-AB issu de la norme de 2001, la Zero dispose d’un port USB-C moderne pour lequel tu pourras donc trouver facilement à tout moment la connectique qu’il te faut.
Comme la TI-84 Plus CE qui nécessite TI-Connect CE, les transferts de données avec la Zero peuvent se faire via le logiciel de connectivité Zero Connect (compatible actuellement Windows, macOS, et Linux).
Le logiciel supporte aujourd’hui :
- la mise à jour de la calculatrice
- le transfert de données mais uniquement dans le contexte de programmes (pas possible via ce logiciel de sauvegarder tes listes, matrices ou images par exemple)
Concernant les programmes donc, Zero Connect inclut un éditeur de programmes avec, à l’image de ce que propose TI-Connect CE un index reproduisant le contenu de divers menus de la calculatrice, te permettant ainsi de saisir certains caractères spéciaux si tu en as besoin. Il manquerait juste un peu de coloration syntaxique pour y voir plus clair.
Mais précisons justement que les fichiers de programmes .zcb sont de simples fichiers au format texte, et que tu as donc toute liberté de les modifier ou créer avec d’autres logiciels d’édition que tu jugeras plus appropriés.
N2) Connectivité en mode USB MSD
Go to top- la calculatrice ne peut plus être utilisée
- l’écran se remplit entièrement blanc (ZGC1 et ZGC2) ou reste maintenant éteint (ZGC3)
- la diode de la calculatrice se met à clignoter en vert
(tranche inférieure à côté du port USB-C pour les ZGC1 et ZGC2, tranche supérieure pour la ZGC3)
ZGC2 : | ZGC3 : |
Dans ce mode la calculatrice n’est plus utilisable normalement, mais devient détectable en tant que périphérique de stockage de masse, c’est-à-dire exactement comme une clé USB sans besoin d’installer le moindre logiciel !
En l’absence de connexion à l’ordinateur, ce mode peut être quitté avec la touche 2nd.
Tu trouveras sur le nouveau disque cette fois-ci accessible l’ensemble du contenu de la calculatrice :
- dans le dossier /exchange/, les fichiers .zcb de programmes Zero Basic
- dans le dossier /draws/, les fichiers correspondant aux images de premier plan enregistrées avec l’instruction
StorePic
- dans le dossier /matrix/, un unique fichier BASE correspondant aux matrices que tu as affectées
- à la racine :
- un fichier lists.sav correspondant aux listes que tu as affectées
- un fichier vars.sav correspondant aux autres variables que tu as affectées
Profitons-en pour regarder la capacité du disque USB ; une belle surprise nous y attend :
- sur ZGC1 et ZGC2, nous avions une capacité utilisable de 3,48 Mio
- sur ZGC3 le disque USB nous annonce 7,48 Mio de capacité utilisable, ce qui nous permet de supposer une capacité Flash totale d’au moins 8 Mio ; nous tenterons de vérifier cela plus tard
O) Applications intégrées
Go to topSur TI-84 Plus CE, il y a 1 application intégrée, Finance, dont on retrouve les fonctions associées au catalogue. Ces fonctions sont clairement absentes sur Zero.
Sur TI-84 Plus CE beaucoup de fonctionnalités essentielles sont apportées par des applications additionnelles préinstallées en usine :
- CabriJr : géométrie dynamique
- CelSheet : tableur / feuille de calcul
- Conics : représentation graphique de coniques
- EasyData : acquisition de mesures physiques à l’aide des interfaces ou périphériques Vernier
- Hub : lecture de capteurs et pilotage d’actionneurs en TI-Basic dans le cadre de projets STEM via l’interface additionnelle TI-Innovator Hub
- Inequalz : représentation graphiques d’inéquations en f(x), colorant donc les zones supérieures ou inférieures
- Periodic : interface de consultation de la classification périodique des éléments
- PlySmlt2 qui regroupe :
- recherche des zéros d’un polynôme
- résolution de systèmes d’équations linéaires
- Prob Sim : simulation d’expériences aléatoires
- Python : programmation en langage Python
- SciTools qui regroupe :
- calculatrice respectant la règle des chiffres significatifs
- convertisseur d’unités + bibliothèque de constantes physiques
- interface pour la représentation de données en diagrammes
- calcul vectoriel en dimension 2 ou 3
- SmartPad : transforme la calculatrice en télécommande USB pour l’émulateur TI-SmartView CE
- Transfrm : transformations de fonctions/courbes
Selon la touche apps, nous avons droit uniquement à 2 applications intégrées scindant les fonctionnalités de PlySmlt2 :
- Poly Root Finder
- Simultaneous EQN solver
O1) Poly Root Finder
Go to topDéroulons devant toi quelques exemples, déjà
TI-83 Premium CE | TI-84 Plus CE | Zero ZGC2 | ZGC3 |
Déjà par rapport à la ZGC2, une bonne nouvelle et une mauvaise nouvelle sur ZGC3 :
- Commençons par la mauvaise. Contrairement à la ZGC2, nous n’avons plus droit sur ZGC3 pendant la saisie des coefficients à la visualisation en temps réel de l’expression correspondante. Une régression fort regrettable.
- Par contre belle amélioration par rapport à la ZGC2, la ZGC3 offre enfin sur l’écran de réponse des composantes de résultats exactes et en écriture naturelle (certes limitées à $mathjax$\mathbb{Q}$mathjax$comme déjà expliqué).
Formidable amélioration de la ZGC3, les coefficients complexes de polynômes sont maintenant gérés, alors qu’ils étaient ignorés sur ZGC2 et refusés (avec erreur) sur TI-84 Plus CE, encore une fois une fonctionnalité haut de gamme !
Voici par exemple
TI-84 Plus CE | Zero ZGC2 | ZGC3 |
Nous ignorons si cet ajout est volontaire, cela pourrait très bien être un test de vérification du type de donnée oublié lors de la mise à jour du code depuis la dernière fois.
Plus précisément, une fonctionnalité jusqu’ici regrettablement réservée au haut de gamme par la concurrence, alors que paradoxalement ce sont pourtant les mêmes formules derrière.
Hélas, la ZGC3 ne fait malheureusement pas que progresser. Prenons par exemple
TI-83 Premium CE | TI-84 Plus CE | Zero ZGC2 | ZGC3 |
La ZGC3 tente de nous convaincre ici que le nombre d’or est un nombre rationnel… Problème déjà constaté plus haut, la ZGC3 sort bien trop facilement des fractions pour les résultats alors que c’est inapproprié et même, n’ayons pas peur des mots, faux.
Et niveau régressions, nous ne sommes hélas pas au bout de nos surprises. Il semble y avoir sur ZGC3 le même bug que sur HP Prime concernant l’écriture des expressions de polynômes, à savoir des problèmes lorsque l’on utilise des coefficients de valeur absolue 1 mais différents de 1. Prenons par exemple
Zero ZGC2 | ZGC3 | HP Prime |
Un comble étant qu’il n’y avait pas ce problème sur ZGC2.
Les écritures deviennent même encore plus déroutantes et pire trompeuses si l’on fait intervenir des coefficients complexes :
$mathjax$x^2+i x-1=0$mathjax$ | $mathjax$x^2+x+i=0$mathjax$ | $mathjax$x^2+2i x+1=0$mathjax$ | $mathjax$x^2+(1+i)x+1=0$mathjax$ |
Espérons qu’une prochaine mise à jour ne corrigera surtout pas le problème en retirant la gestion des coefficients complexes, car c’est un avantage formidable sur la TI-84 Plus CE et une excellente surprise à laquelle nous ne nous attendions pas puisque absente de l’ancienne ZGC2.
O2) Simultaneous EQN solver
Go to topIl s’agit donc ici d’une interface de résolution de systèmes d’équations linéaires. Déjà ici, notons que les coefficients complexes sont refusés, ce qui hélas crédibilise davantage l’hypothèse d’une acceptation accidentelle dans l’application précédente.
Donc première chose qui ne semble pas avoir été creusée à fond, l’interface de saisie. Au lieu d’une saisie intuitive des différentes équations du système comme sur TI-84 Plus CE, ici nous devons remplir une matrice, sans la moindre explication de ce qui y est attendu (tout-le-monde ne devinera pas) :
TI-84 Plus CE | Zero |
Mais ce n’est pas tout. Rappelons que la TI-84 Plus CE est capable de décrire les solutions dans le cas où il y en a une infinité :
TI-84 Plus CE | Zero |
Et bien voici un bug très grave, lorsque le système n’a pas de solutions, la Zero répond complètement faux en te faisant croire qu’il y en a en fait une infinité :
TI-84 Plus CE | Zero |
P) Langage de programmation Python
Go to topQuelques premiers calculs nous semblent optimaux :
- support des entiers longs activé
- nombre flottants gérés jusqu’à 53 bits (15 chiffres significatifs en base décimale), soit le standard double précision
- support des nombres complexes activé
Cherchons à en apprendre un peu plus sur l’interpréteur utilisé. Pas de bibliothèque sys, mais nous trouvons la bibliothèque équivalente usys.
Déjà, notons
usys.platform==’Zero Calculator’
qui pourra être un test permettant d’identifier la plateforme auprès des scripts en ayant besoin.Nous apprenons dans la bibliothèque usys que l’interpréteur utilisé est Micropython en version 1.20.0, implémentant lui-même un sous-ensemble de Python 3.4.0.
Un excellent choix, cela change de CircuitPython, version allégée de Micropython présente sur la TI-84 Plus CE Python américaine et ses équivalents (TI-83 Premium CE Edition Python en France, TI-84 Plus CE-T Python Edition dans le reste de l’Europe). Mais aussi, c’est la version Micropython la plus récente actuellement disponible sur calculatrices :
- Micropython 1.20.0 (Zero)
- Micropython 1.19.1 (PythonExtra pour Casio)
- Micropython 1.17.0 (NumWorks)
- Micropython 1.12.0 (KhiCAS/Micropy pour Casio, TI-Nspire et NumWorks)
- Micropython 1.11.0 (TI-Nspire CX II)
- Micropython 1.9.4 (Casio Graph 90/35+E II + fx-9750/9860GIII + HP Prime)
Impossible d’appeler
help(‘modules’)
, la fonction help() ne semblant pas présente. Donc pour avoir un aperçu des bibliothèques standard disponibles, il ne nous reste plus qu’à tester à la main. Nous pouvons te confirmer au moins 8 bibliothèques importables intégrées :TI-84 Plus CE Python | Zero ZGC3 | |
(u)array cmath (u)collections gc math micropython (u)random (u)struct (u)sys (u)time turtle | ✅ ❌ ✅ ✅ ✅ ❌ ✅ ❌ ✅ ✅ ✅(ajoutable) | ✅ ✅ ✅ ✅ ✅ ✅ ❌ ✅ ✅ ❌ ❌ |
Un peu plus de bibliothèques standard offertes sur la ZGC3 donc, même si l’on regrette des manques flagrants comme time ou random.
Aucune bibliothèque de tracé (matplotlib, turtle) ne semble à ce jour présente sur ZGC3 ce qui, nous concernant, limite de beaucoup l’intérêt de cette application.
D’une part, nous avons de grosses difficultés de saisie :
- seules les touches alphanumériques sont fonctionnelles dans l’application Python, toute autre touche saisit systématiquement un caractère w
- même les menus permettant d’accéder à des caractères non disponibles au clavier (comme 2ndmath pour les affectations et tests) ne sont pas fonctionnels et saisissent également w
- si l’on peut récupérer une saisie précédente avec ↑, il semble par contre impossible de récupérer une sortie ou un résultat pour une nouvelle saisie
Pour interroger la mémoire de tas (heap) sans avoir à saisir les caractères
_
ou =
, nous avons une petite astuce par iPhoenix :- Code: Select all
import gc
#gc.mem_alloc() + gc.mem_free()
eval("gc.mem" + chr(95) + "alloc() + gc.mem" + chr(95) + "free()")
Avec dans les 4,047 Mo de heap près de 230 fois supérieur à celui des TI-84 Plus CE Python, la Zero ZGC3 se classe à la 2nde place de la génération actuelle !
- 252,1 Mo (HP Prime G2)
- 4,048 Mo (Zero ZGC3)
- 2,068 Mo (TI-Nspire CX II)
- 1,033 Mo (Casio fx-CG50 + Graph 90+E)
- 100,432 Ko (Casio fx-9750/9860GIII + Graph 35+E II)
- 64,888 Ko (NumWorks)
- 17,601 Ko (TI-84 Plus CE Python)
Bref, la ZGC3 a bien une application Python, mais à ce jour dans cette version, elle vient sans éditeur, sans possibilité d’importer des scripts et sans possibilité de saisir autre chose que des caractères alphanumériques (même pas l’opérateur d'affectation
=
), et est donc quasiment inutilisable.Q) Mémoire
Go to topCommençons par la mémoire de stockage :
- sur TI-84 Plus CE, nous avons d’usine 1,247 Mo d’espace libre en mémoire de stockage, pour une capacité de 3,014 Mo si l’on efface toute le contenu préchargé
- sur ZGC1 et ZGC2, nous avions une capacité utilisable de 3,56 Mo
- sur ZGC3 nous avons droit à 7,656 Mo de capacité utilisable, soit dans les 2,5 fois plus d’espace de stockage que les TI-84 Plus CE et plus de 2 fois plus d’espace de stockage que les ZGC1/ZGC2… ce qui consolide notre hypothèse d’une capacité Flash totale d’au moins 8 Mio
Comme il n’y a pas de contenu préchargé sur Zero, il nous semble plus équitable de comparer les capacités à vide. La ZGC3 se classe ainsi 5e en terme d’espace de stockage parmi les modèles actuels :
- 461,500 Mo : HP Prime G2
- 92,300 Mo : TI-Nspire CX II
- 24,696 Mo : Casio fx-CG500/CP400
- 16,248 Mo : Casio fx-CG50 / Graph 90+E
- 7,652 Mo : Zero ZGC3
- 3,560 Mo : Zero ZGC1/ZGC2
- 3,097 Mo : Casio fx-9750/9860GIII / Graph 35+E II
- 3,014 Mo : TI-84 Plus CE Python / TI-83 Premium CE Python
- 2,560 Mo : NumWorks N0110/N0115/N0120
Regardons maintenant la mémoire de travail, juste après un reset :
- sur TI-84 Plus CE nous avons 152,851 Ko
- sur ZGC1 et ZGC2, c’était seulement 52,192 Ko
- la ZGC3 prétend avoir 8,225 Mo… soit près de 54 fois plus d’espace de travail que les TI-84 Plus CE et près de 158 fois plus d’espace de travail que les ZGC1/ZGC2... tellement incroyable que l’on se demande si ce ne serait pas un bug, mais nous ferons ce qu’il faut pour confirmer cela dans un moment
- 246,400 Mo : HP Prime G2
- 8,227 Mo : Zero ZGC3
- 514,708 Ko : Casio fx-CG500/CP400
- 152,891 Ko : TI-84 Plus CE Python / TI-83 Premium CE Python
- 61,904 Ko : Casio fx-CG50 / fx-9750/9860GIII / Graph 90/35+E II
- 59,736 Ko : Zero ZGC1/ZGC2
- 43,006 Ko : NumWorks
Avec tout ceci, il nous semble clair que, clairement, le matériel de la nouvelle Zero ZGC3 est sensiblement différent de celui des anciennes ZGC1/ZGC2.
Il ne semble pas y avoir à ce jour de moyen d’archiver/désarchiver les différentes variables depuis la calculatrice, c’est-à-dire respectivement :
- de les transférer vers la mémoire de stockage (prise sur la Flash)
- de les transférer vers la mémoire de travail (prise sur la RAM)
Le seul choix possible de la destination semble être à ce jour uniquement via le mode USB MSD, en fonction du dossier utilisé à l’image de ce que font les Casio actuelles fx-9750GIII (Graph 35+E II) et fx-CG50 (Graph 90+E) :
- copie dans le dossier /exchange/ pour mettre en mémoire de travail
- copie dans tout autre dossier ou encore à la racine du lecteur pour mettre en mémoire de stockage
R) Performances
Go to topCommençons par un test de performances via un calcul, une grosse somme développée par pier4r sur HP Museum, en mode degrés :
Pour les modèles trop rapides difficiles à chronométrer, nous multiplierons la borne supérieure de la somme, et diviserons d’autant le temps chronométré.
Le calcul prend donc :
- sur TI-84 Plus CE Python, 13,2s
- sur ZGC1 et ZGC2, 0,49s
- sur ZGC3, 0,256s… soit presque 2 fois plus rapide que les ZGC1/ZGC2 et dans les 51,5 fois plus rapide que les TI-84 Plus CE Python !
- 0,130s : HP Prime G2
- 0,252s : NumWorks N0120
- 0,256s : Zero ZGC3
- 0,49s : Zero ZGC1/ZGC2
- 0,997s : TI-Nspire CX II
- 1,100s : NumWorks N0110/N0115
- 6,330s : Casio fx-CG500/CP400
- 8,550s : Casio fx-CG50 / Graph 90+E
- 13,200s : TI-84 Plus CE Python / TI-83 Premium CE Python
- 14,100s : Casio fx-9750/9860GIII / Graph 35+E II
Pour confirmer, passons sur un autre test un peu différent, faisant intervenir l’écran graphique. Il s’agit de représenter les fonctions d’expressions suivantes, en mode radians :
- $mathjax$f(x)=Arcsin\left(Arccos\left(cos\left(sin\left(Arcsin\left(Arccos\left(Arctan\left(tan\left(cos\left(sin\left(Arcsin\left(Arccos\left(Arctan\left(tan\left(cos\left(sin\left(x\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)$mathjax$
- $mathjax$g(x)=-Arcsin\left(Arccos\left(cos\left(sin\left(Arcsin\left(Arccos\left(Arctan\left(tan\left(cos\left(sin\left(Arcsin\left(Arccos\left(Arctan\left(tan\left(cos\left(sin\left(x\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)$mathjax$
Le tracé prend donc :
- sur TI-84 Plus CE Python, 1min 8s pour 320 colonnes (0,17s par colonne)
- sur ZGC1 et ZGC2, 2,858s pour 320 colonnes (0,00893s par colonne)
- sur ZGC3, 1,480s pour 320 colonnes (0,00463s par colonne)… soit plus de 2 fois plus rapide que les ZGC1/ZGC2 et dans les 86,5 fois plus rapide que les TI-84 Plus CE Python !
- 0,0005s : HP Prime G2
- 0,0017s : NumWorks N0120
- 0,0046s : Zero ZGC3
- 0,0054s : NumWorks N0110/N0115
- 0,0089s : Zero ZGC1/ZGC2
- 0,0108s : Casio fx-CG50 / Graph 90+E
- 0,0184s : TI-Nspire CX II
- 0,0281s : Casio fx-9750/9860GIII / Graph 35+E II
- 0,0913s : Casio fx-CG500/CP400
- 0,1700s : TI-84 Plus CE Python / TI-83 Premium CE Python
La nouvelle Zero ZGC3 offre donc des performances absolument remarquables, autour du double de celles des anciennes ZGC1/ZGC2 et désormais intermédiaires entre celles des TI-Nspire CX II et HP Prime G2, chatouillant bien souvent celles de la NumWorks N0120.
Les performances du haut de gamme… mais au prix (américain) du milieu de gamme !
S) Mode examen
Go to topPour activer le mode examen sur la Zero tu dois:
- Éteindre la calculatrice
- Maintenir les touches ◀ et ▶
- Rallumer la calculatrice
- La diode doit se situer sur la tranche supérieure pour être visible sans obstacle par les surveillants
- La diode doit présenter un motif régulier (clignotement par exemple) - or ici elle restait simplement allumée
- Ce signal doit rester présent en permanence tant que le mode examen est actif, y compris calculatrice éteinte - or ici la diode s'éteignait avec la calculatrice
- Il suffisait d'aller faire un reset dans le menu mémoire pour désactiver le mode examen.
- ✅La diode a été déplacée sur la tranche supérieure de la calculatrice.
- ✅La diode clignote maintenant en bleu lorsque le mode examen est activé.
- ❌Cependant, on note que la diode s'éteint toujours avec la calculatrice.
Si non prévu dès le départ, ce problème pourrait nécessiter des modifications matérielles pour être résolu. - ✅Un simple reset ne permet plus de désactiver le mode examen.
Dans l’ultime mise à jour 1.66 pour ZGC1 et ZGC2, le mode examen interdisait de plus l’usage de plusieurs fonctionnalités, de façon similaire à celui des TI-84 Plus CE :
- création et utilisation de tout programme
- utilisation de toute application (à l’époque uniquement Poly Root Finder et Simultaneous EQN Solver)
Mais vu plusieurs anomalies dans les test précédents, vu que le mode examen des TI-84 Plus CE bloque bien l’appli PlySmlt2 équivalente, et vu qu’à notre connaissance la ZGC3 ne ciblerait à ce jour que le marché nord américain, nous craignons encore une fois très fortement que cette amélioration des fonctionnalités en examen découle d’une erreur non intentionnelle, et soit retirée dès la prochaine mise à jour.
TI-83 Premium CE | TI-84 Plus CE | ZGC1/ZGC2 | ZGC3 | |
données préchargées | verrouillées | verrouillées | effacées | effacées |
création/utilisation programmes | ✅ | ❌ | ❌ | ✅ |
racines polynômes | ✅ | ✅/❌ | ❌ | ✅ |
systèmes équations | ✅ | ✅/❌ | ❌ | ✅ |
Python | ✅ | ❌ | ✅ | |
coniques | ✅ | ✅/❌ | ||
graphes inéquations | ✅ | ✅❌ | ||
autres applis | ✅ | ❌ |
(les TI-84 Plus CE disposent de 2 modes examen, l’un pour l’Amérique du Nord interdisant toutes les applications, et l’autre pour les Pays-Bas laissant les applications PlySmlt2, et Conics utilisables)
T) Matériel
Go to topPour ce qui est de la batterie, aucun changement par rapport à la ZGC2, on retrouve encore la même batterie rechargeable Lithium-Ion d'une capacité de 2200 mAh.
Mais par contre effectivement, tout le reste des puces électroniques ont changé par rapport aux ZGC1/ZGC2 !
On note aussi que la diode d'examen a été déplacée vers le haut de la carte, avec un câble plat, permettant peut-être de la remplacer facilement ou de produire des variantes sans diode de la même carte-mère… Mais avec le gros inconvénient d’être désormais facilement altérable par tout bricoleur souhaitant frauder ses examens.
Voici donc un comparatif visuel des 2 cartes (qui ne se ressemblent plus vraiment) (HD ZGC3 vs HD ZGC3) :
Et voici les différences que nous pouvons voir :
- Pour le microcontrôleur en U1, le STM32F413 (100 MHz, 320K RAM, 1M Flash) est remplacé par un GD32F470ZKT6 de chez GigaDevice (200 MHz; 256K RAM, 3M Flash).
Nous restons donc sur un processeur 32-bit Arm7, et le passage de 100 MHz à 200 MHz est cohérent par rapport au doublement des performances constaté dans nos tests précédents. - Pour la puce Flash externe en U4, la MX25L3206EZNI (4 Mio) de chez MXIC (Macronix), est remplacée par une 25Q64JVSIQ de chez Winbond.
Si cette référence te rappelle quelque chose, c'est parce qu'il s'agit justement de la même série de puces que celles utilisées dans les TI-84 Plus CE révision M+.
Par contre le ’64’ dans la référence nous indique une capacité de 64 Mib soit 8 Mio, conformément à nos hypothèses précédentes, soit le double de la 25Q32JVSIQ des TI-84 Plus CE. - Pour la puce RAM externe en U3, la IS61WV25616EDBLL-10TLI (512 Kio) de chez ISSI ajoutée à partir de la ZGC2 est ici remplacée par la IS42S16400J-6TLI de chez ISSI également.
Il s'agit de 8 Mio de mémoire vive, tu ne rêves pas, cette fois-ci disponible pour l'utilisateur pour stocker des programmes et fichiers ! Elle est accessible à 166 MHz, permettant donc au nouveau microcontrôleur de l'accéder plus rapidement qu'avant. - Finalement, on note que, par rapport aux ZGC1/ZGC2, la puce LVTH16374 de Texas Instruments a été supprimée, n'étant plus nécessaire grâce à la nouvelle puce RAM qui supporte un interface LVTTL directement.
Au total en terme de capacité Flash avec 3M en interne et 8M en externe, nous avons donc 11 Mio, plaçant la Zero ZGC3 à la 5e place de la génération actuelle :
- 512 Mio : HP Prime G2
- 128 Mio : TI-Nspire CX II
- 64 Mio : Casio fx-CG500/CP400
- 32 Mio : Casio fx-CG50 / Graph 90+E
- 11 Mio : Zero ZGC3
- 8,5 Mio : NumWorks N0120
- 8,0625 Mio : NumWorks N0110/N0115
- 8 Mio : Casio fx-9750/9860GIII / Graph 35+E II
- 5 Mio : Zero ZGC1/ZGC2
- 4,25 Mio : TI-84 Plus CE Python / TI-83 Premium CE Python
Et en terme de capacité RAM, nous cumulons donc 256K en interne et 8M en externe, pour un total de 8,25 Mio, cette fois-ci à la 3e place de la génération actuelle :
- 256 Mio : HP Prime G2
- 64 Mio : TI-Nspire CX II
- 8,25 Mio : Zero ZGC3
- 8 Mio : Casio fx-CG50 / Graph 90+E
- 2 Mio : Casio fx-CG500/CP400
- 832 Kio : Zero ZGC2
- 564 Kio : NumWorks N0120
- 512 Kio : Casio fx-9750/9860GIII / Graph 35+E II
- 320 Kio : Zero ZGC1
- 288 Kio : TI-84 Plus CE Python / TI-83 Premium CE Python
- 256 Kio : NumWorks N0110/N0115
La ZGC3 offre clairement du matériel haut de gamme mais au prix (américain) du milieu de gamme. Comparons avec quelques modèles de milieu de gamme qui devraient être ainsi proposés à des prix similaires :
Modèle | TI-84 Plus CE Python | Zero ZGC1 | Zero ZGC2 | Zero ZGC3 | NumWorks N0100 | NumWorks N0110 | NumWorks N0115 | NumWorks N0120 | Casio fx-CG50 |
Sortie | 2019/2021 | 2024 ? | 2017 | 2019 | 2023 | 2022 | 2017 | ||
Microcontrôleur | JB-007 + ATSAMD21E18 | ||||||||
Processeur | Zilog eZ80 + Cortex-M0+ | Cortex-M4 | Cortex-M4 | Cortex-M4 | Cortex-M4 | Cortex-M7 | Cortex-M7 | Cortex-M7 | Renesas SH4 |
Architecture | ARMv6 | ARMv7 | ARMv7 | ARMv7 | ARMv7 | ARMv7 | ARMv7 | ARMv7 | |
Fréquence | 48 MHz + 48 MHz | 100 MHz | 100 MHz | 200 MHz | 100 MHz | 216 MHz | 216 MHz | 550 MHz | 117.96 MHz |
RAM intégrée | 256 Kio | 320 Kio | 320 Kio | 256 Kio | 256 Kio | 256 Kio | 256 Kio | 564 Kio | 8 Mio |
RAM externe | 32 Kio | 512 Kio | 8 Mio | ||||||
Flash intégrée | 256 Kio | 1 Mio | 1 Mio | 3 Mio | 1 Mio | 64 Kio | 64 Kio | 512 Kio | 32 Mio |
Flash externe | 4 Mio | 4 Mio | 4 Mio | 8 Mio | 8 Mio | 8 Mio | 8 Mio | ||
Connectivité | USB mini-A/B | USB-C | USB-C | USB-C | USB micro-B | USB micro-B | USB-C | USB-C | USB mini-B |
Si tu regardes bien sur la carte, tu remarqueras que la ZGC3 dispose de 4 contacts de debug, généreusement identifié : SWCLK, GND, SWDIO et +3VO.
Les trois premiers principalement permettent l'usage du SWD pour OpenOCD, donc protocole compatible STLink ou Raspberry. À partir de là on peut réaliser quelques dumps du contenu des différentes puces.
Il en résulte que le firmware de la ZGC3 réside dans la mémoire Flash interne du microcontrôleur, laissant tous les 8 Mio de la flash externe disponibles pour l'utilisateur. Cependant, le firmware fait moins de 1 Mio, et le reste des 3 Mio de mémoire Flash interne demeure apparemment inaccessible à l'utilisateur.
U) Alimentation et autonomie
Go to top- la TI-84 Plus CE utilisait une batterie de spécifications nominales 3.7 V et 1200 mAh
- la Zero était alimentée par une batterie de spécifications nominales 3.7 V et 2200 mAh
Mais avant de dire que c’est mieux sur Zero, il faut tenir compte de la consommation de chaque calculatrice. Pour pouvoir comparer, laissons la ZGC3 sur son thème clair/blanc.
Nous trouvons plus pertinent de mesurer les consommations à vide (c’est à dire calculatrice inoccupée). Car sur les calculatrices plus puissantes qui consomment davantage lors des gros calculs, ces gros calculs dureront justement moins longtemps ce qui compense.
L’écran ”À propos” de la Zero ZGC3 accessible avec 2nd+1 a la bonne idée de nous détailler l’état et la consommation de la batterie :
- hors mode examen, avec le minimum d’éclairage de l’écran : 38,1 mA tirés sur une batterie de 3,928 V, soit une puissance de 149,657 mW
- en mode examen, avec le minimum d’éclairage de l’écran : 41,4 mA tirés sur une batterie de 3,924 V, soit une puissance de 162,454 mW
- hors mode examen, avec la luminosité d’écran maximale : 70,9 mA tirés sur une batterie de 3,921 V, soit une puissance de 277,999 mW
- en mode examen, avec la luminosité d’écran maximale : 72,7 mA tirés sur une batterie de 3,919 V, soit une puissance de 284,911 mW
Comparons avec la TI-84 Plus CE
Pour cela nous disposons d’une fausse batterie fabriquée par Excale et munie de câbles nous permettant d’externaliser la vraie batterie, et donc de rajouter un voltmètre et intercaler un ampèremètre.
Nous mesurons, TI-84 Plus CE également inoccupée sous un éclairage maximal de l’écran :
- hors mode examen : 272.771 mW
- en mode examen : 291.429 mW
Bref, nous avons donc :
- hors mode examen, 277,999 mW sur ZGC3 contre 272.771 mW sur TI-84 Plus CE
- en mode examen, 284,911 mW sur ZGC3 contre 291.429 mW sur TI-84 Plus CE
Seule la capacité de la batterie l'emporte donc a priori, et avec 2200 mAh contre 1200 mAh, la Zero ZGC3 devrait avoir une autonomie dans les 1,83 fois supérieure à celle de la TI-84 Plus CE... du moins si l'on considère des batteries neuves.
Resterait encore à savoir si ces différentes batteries vieilliront aussi bien avec le temps…
V) Code source et développeur
Go to topNiveau interface, quasiment tout ce qui concerne les fonctionnalités intégrées (hors applications additionnelles) est reproduit ou adapté de façon extrêmement minutieuse… clairement trop pour un seul homme.
Quelle peut donc bien être l’entité qui se charge donc d'"imiter" Texas Instruments ?
Et bien, Google et son indexation ubiquiste a la réponse. Regarde bien, nous avons trouvé en public 2 captures d’écran montrant des extraits du code source C++ du firmware de la calculatrice Zero. Si rien ne le dit dans le texte affiché par la page en question, ces images mentionnent "zero" et "zb" (pour Zero Basic) et sont associés à des descriptions alternatives on ne peut plus explicites :
- "Piece of embedded firmware code that uses the Zero Basic compiler for calculating mathematical expressions."
- "Piece of embedded firmware code that uses the float data type for the purpose of memory optimization."
Ne te faisons pas languir plus longtemps, la page en question sur laquelle il est vaguement question du projet de firmware Zero entre autres, appartient à Integra Sources, une entreprise de développement basée au Kazakhstan, avec aussi un bureau marketing en Floride aux Etats-Unis.
Bilan et comparaisons
Go to topNe te la cachons pas, nous sommes extrêmement divisés par Zero…
- des performances clairement intermédiaires entre celles des TI-Nspire CX II et HP Prime G2, chatouillant celles de la NumWorks N0120
- une mémoire Flash externe conséquente de 8 Mio, laissée entièrement libre puisque le firmware est installé dans les 3 Mio de mémoire Flash interne
- une mémoire RAM externe très généreuse de 8 Mio, apparemment laissée elle aussi presque entièrement libre
Avec un tel matériel, il serait parfaitement envisageable de porter KhiCAS pour la Zero ZGC3, entre autres. Des ajouts d’autant plus salvateurs si l’on juge le développement officiel trop lent ou insuffisant.
Ajoutons de plus de superbes améliorations sur la Zero par rapport aux TI-84 Plus CE, des choses que nous attendions parfois désespérément depuis des décennies :
- saisie alphabétique en minuscules
- thème sombre
- zone graphique sur toute la largeur de l’écran, enfin débarrassée de ses énormes et horribles bordures
- couleurs supplémentaires dans la palette système utilisable pour les graphes et instructions graphiques de programmes
- stylos supplémentaires pour les graphes et instructions graphiques de programmes
- véritable interpréteur Micropython
- polynômes à coefficients complexes
- libre nommage des variables sur plusieurs caractères
- variables pouvant accueillir librement différents types de données
- connectivité contemporaine et réversible grâce au port USB-C
- connectivité sans logiciel grâce au mode USB MSD
Nous t’avons énuméré pléthore de bugs, et encore nous ne t’avons pas tout dit afin de ne pas t’ennuyer, nous contentant des bugs que nous comprenions ou qui se prêtaient bien au contexte :
- Quelques problèmes de calcul ou liés à l’évaluateur d’expressions…
- Quelques graves problèmes d’affichages faux (systèmes d’équations et zéros de polynômes)...
- Des résultats exacts Q pas toujours pertinents…
- Une application Python extrêmement préliminaire et quasiment inutilisable à ce jour…
- … et surtout, beaucoup de problèmes liés aux interfaces et événements
Mais ce dernier point particulièrement fait manquer la Zero d’homogénéité et rend ainsi sa prise en main plus fastidieuse, avec la nécessité dans chaque contexte de savoir dans quel ordre appeler les différentes interfaces/touches afin de contourner les différents bugs et bien obtenir les réponses souhaitées, comme si le projet avait manqué dès le départ d’une vision d’ensemble.
Rajoutons de plus une absence de stabilité du développement, dans le sens où de nouveaux bugs arrivent même à faire leur apparition depuis la dernière version.
Le firmware n’est bien qu’en façade, dès que l’on creuse un tout petit peu on trouve facilement des bugs. Fonctionnellement c’est à peine de la qualité bêta, et après au moins 18 mois de développement c’est extrêmement décevant.
Après ne jetons pas trop la pierre ; il n'est pas impossible que l’entreprise Zero ait été accaparée ces derniers temps par les diverses exigences de changement de design provenant de Texas Instruments, ainsi que par le changement majeur de matériel.
Quoi qu’il en soit, en l’état, pour nous la calculatrice Zero est très loin d’être un produit fini, et nous voyons fort mal comment elle pourrait sortir prochainement et s’opposer sérieusement à la TI-84 Plus CE Python, du moins si il n’y a pas un effort très sérieux sur le logiciel, pour réaliser en seulement quelques mois ce qui ne l’a apparemment pas été en plus de 18 mois. Un changement de méthode de développement serait peut-être même nécessaire selon nous, les tests de qualité et de non-régression nous semblant cruellement faire défaut dans le cadre de ce projet. Une ouverture du code source, comme chez NumWorks, pourrait potentiellement être salvatrice si des enthousiastes viennent à la rescousse, afin de ne pas rater la rentrée 2024, car il reste du boulot pour le moins que l’on puisse dire.
Après heureusement, la calculatrice peut être mise à jour. Un lancement dans les prochains mois resterait donc malgré tout envisageable car n’empêchant pas, en théorie, les mises à jour indispensables corrigeant les bugs pour la rentrée 2024.
Jesse wrote:[...] thanks for all your feedback. We definitely needed some real-world testing to see that we need to make improvements to both the firmware and the enclosure. It will take some work but it won’t be anything like the amount of time it took from ZGC2 to ZGC3. Everything is relatively minor fixes and we aren’t doing a major redesign like that.
Tant mieux, nous te disons en conséquence à très bientôt pour la sortie de la Zero !
En attendant nous te proposons des comparaisons de la Zero permettant de mieux la positionner par rapport aux produits disponibles chez toi :
- Comparer la Zero ZGC3 en France
(TI-82 Advanced Edition Python, TI-83 Premium CE Edition Python, NumWorks N0110/N0115/N0120, TI-Nspire CX II-T(CAS), HP Prime G2, Casio Graph 35+E II, Graph 90+E et fx-CP400+E) - Comparer la Zero ZGC3 en Europe
(TI-84 Plus CE-T Python Edition, NumWorks N0110/N0115/N0120, TI-Nspire CX II-T(CAS), HP Prime G2, Casio fx-9860GIII, fx-CG50 et fx-CP400) - Comparer la Zero ZGC3 en Amérique du Nord
(TI-84 Plus CE Python, NumWorks N0110/N0115/N0120, TI-Nspire CX II(CAS), HP Prime G2, Casio fx-9750GIII, fx-CG50 et fx-CG500)
Autres reviews communautaires (en anglais) :
- Article de Cemetech
- Vidéo de TheLastMillenial sur YouTube
(Article écrit par Critor, avec l'aide d'Adriweb et mr womp womp)