π
<-
Chat plein-écran
[^]

Test/Review Zero ZGC3, imitation de la TI-84 Plus CE Python

Test/Review Zero ZGC3, imitation de la TI-84 Plus CE Python

Unread postby critor » 25 Sep 2023, 11:35


Aujourd’hui, parlons Zero. Dans une actualité d'avril 2022 nous t'annoncions la sortie prochaine pour la rentrée 2022 d'une nouvelle calculatrice graphique en Amérique du Nord, la Zero par l'entreprise du même nom (une façon de faire qui rappelait initialement la NumWorks). Le projet se voulait offrir une version améliorée et plus abordable de la TI-84 Plus CE, équivalent à l'international de notre TI-83 Premium CE française, tout en étant compatible avec ces dernières au niveau de l'utilisation.

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.
Prévu initialement pour la rentrée 2022, la sortie avait été retardée sans aucune nouvelle jusqu'à ce jour, et le site officiel zerocalculators.com avait même été vidé de tout contenu.

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.
Aujourd'hui nous avons l'immense honneur d'avoir entre les mains un 3e échantillon dans une nouvelle révision matérielle, la Zero ZGC3, que nous allons donc pouvoir tester devant toi.
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 :


A) L'homme derrière la Zero

Go to top

Mais avant tout, derrière la Zero il y a un homme que nous allons enfin te présenter après plus d’une année de mystère : Jesse McLaughlin, fondateur de l'entreprise Zero créée en 2019.

Jesse, 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 top

17611On nous a prévenu que ceci aura changé d'ici la sortie, mais l'emballage de la ZGC3 que nous avons eu semble identique à ceux qui étaient déjà venus avec les ZGC1 et ZGC2 et donc ne nous semble à ce jour pas prêt pour une sortie de la calculatrice (qui en conséquence n'est sans doute pas encore imminente). On remarque d'ailleurs le même code barre 1 95893 43641 5, et le guide de démarrage rapide illustre toujours le design de la ZGC2.
175821758317584


1758515793Par 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 :bj:
    1758614660
  • 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
Nous verrons bien d'ici la rentrée 2024 si Texas Instruments se satisfait de ces changements ou pas.

176031760217600Sur 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 top

1761417597Il est grand temps d'allumer notre Zero ZGC3. Et bien grosse surprise immédiate. Contrairement aux prédécesseurs ZGC1 et ZGC2, la ZGC3 fonctionne par défaut dans un thème sombre. Quand on pense à tous ceux qui se donnent du mal à programmer des thèmes sombres pour TI-83 Premium CE et TI-84 Plus CE, comme entre autres celui de Cesium, et aux utilisateurs qui peinent à les rajouter et conserver actifs depuis que Texas Instruments a supprimé le support des programmes en langage assembleur...

Peut-être un effort supplémentaire afin de distinguer la ZGC3 des TI-84 Plus CE, et dans tous les cas un bel avantage !

1761317615Bon 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 top

1761617598Déjà, à quelle version système avons-nous affaire ? Rendons-nous sur l’écran ’About’ en tapant 2nd+1.

Là 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

Comme sur TI-84 Plus CE, les inscriptions clavier de la Zero indiquent pour chaque touche :
  • 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
Saisir des lettres minuscules sur TI-84 Plus CE n’est pas aisé, car possible uniquement dans certains contextes :
  • 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 avec
    alpha
    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.

17639Formidable 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 top

Maintenant que nous savons saisir, parlons variables.
Sur TI-84 Plus CE, tu peux affecter entre autres avec l’opérateur
sto→
, 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)
À noter que tous les noms précédents affichés avec plusieurs caractères sont en fait des jetons insécables. Ils sont saisis d’un coup aux menus ou au clavier et se comportent exactement comme un caractère, c’est-à-dire que le curseur ne peut être positionné qu’avant ou après le jeton en question.


1766017659Sur 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 θ

176371763817640Sur 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 ! :bj:
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

1765817657Pré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, …) !

17661Malheureusement 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 top

Commençons par parler programmation, car cela va pouvoir nous être utile pour nombre de tests. La Zero est programmable dans un langage interprété appelé le Zero Basic.

Si 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 CEZero
    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 :


    TI-84 Plus CEZero
    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
    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.
    • 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
Exception qui confirme la règle, le test d’égalité en Zero Basic ne s’écrit pas = 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.
176961769717695

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 écran
  • Lbl et Goto pour les branchements, à remplacer donc par des boucles ou appels de sous-programmes
  • OpenLib et ExecLib pour les applications fournissant des bibliothèques d’instructions
  • Send( et Get( 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
Inversement, en TI-Basic tu n’étais pas obligé de fermer les délimiteurs (parenthèses, crochets, accolades) en fin de ligne. En Zero Basic par contre il vaudra mieux le faire systématiquement dans les programmes, un délimiteur non fermé ayant en effet des conséquences sur l’exécution des lignes suivantes.



H) Programmation et écran texte

Go to top

Maintenant que nous savons programmer, profitons-en pour explorer les capacités de l’écran texte (ou écran de calcul) de la Zero. La définition est certes la même que sur TI-84 Plus CE, 320×240 pixels, mais la police est différente, nous semblant plus petite sur la Zero.

Cré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 CEZero
Code: Select all
0→K
1→X
1→Y
While K≠45
ClrHome
For(L,1,Y
  Output(L,1,L
End
For(C,1,X
  Output(1,C,remainder(C,10
End
Output(3,3,{X,Y
0→K
While K≠45 and K≠24 and K≠25 and K≠26 and K≠34
  getKey→K
End
max(1,X+(K=26)-(K=24→X
max(1,Y+(K=34)-(K=25→Y
End
Code: Select all
0→K
1→X
1→Y
while K≠45 do
ClrHome()
for L in 1,Y+1 do
  Output(L,1,L)
end
for C in 1,X+1 do
  Output(1,C,remainder(C,10))
end
Output(3,3,{X,Y})
0→K
while K≠45 and K≠24 and K≠25 and K≠26 and K≠34 do
  getKey()→K
end
max(1,X+(K==26)-(K==24))→X
max(1,Y+(K==34)-(K==25))→Y
end

17641Si 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 ! :bj:

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 top

17650Niveau interface, précisons avant tout que la calculatrice Zero ne fonctionne que dans une seule langue, l’Anglais.

Nous 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.

17650Sur 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 ! :bj:

17651Petite 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

Parlons maintenant de l’écran graphique. Par cela nous entendons la zone de l’écran dont l’utilisateur peut contrôler librement l’allumage des pixels ainsi que leurs couleurs, notamment :
  • depuis le grapheur de fonctions
  • via des instructions graphiques depuis un programme
Commençons par tenter de découvrir ses dimensions.

Sur TI-84 Plus CE, il suffit d’un petit calcul faisant intervenir les bornes de la fenêtre graphique :
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.


1764717643Rien 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.

1765217653Mais 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
Code: Select all
ZDecimal
0→Xmin
0→Ymax
40Xmax→Xmax
40Ymin→Ymin
Code: Select all
ZDecimal
0→Xmin
0→Ymax
20*Xmax→Xmax
20*Ymin→Ymin

Le code précédent règle Xmin=0, Ymax=0 et :
  • Xmax=264 et Ymin=-164 sur TI-84 Plus CE
  • Xmax=320 et Ymin=-196 sur Zero
Attention, on se rend compte que dans le contexte de programmes, les multiplications implicites ne sont pas toujours gérées correctement, d’où quelques précautions à prendre dans la traduction du code ici, et également dans tout ce qui va suivre.




J2) Affichage de textes

Go to top

Pour afficher du texte dans la zone graphique, la TI-84 Plus CE offre 2 instructions que tu peux appeler depuis l’écran de calcul, depuis l’écran graphique ou encore depuis un programme :
  • TextColor(...couleur…) pour régler la couleur
  • Text(...ligne… , …colonne… , …text1… , …text2… , …) pour afficher un ou plusieurs textes à la position indiquée

17656Sur 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… , …)

17662Sur 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
Bien évidemment il s’agit d’un bug involontaire, puisque activer cet effet empêche de positionner le texte en italique ailleurs qu’à gauche de l’écran. Ce serait toutefois sympa de trouver une spécification permettant de conserver cet effet lors des prochaines mises à jour. ;)




J3) Palette de couleurs

Go to top

Niveau couleurs, sur TI-84 Plus CE tu pouvais choisir parmi un palette de 15 teintes système différentes pour tes graphes ou tracés depuis des programmes. En rajoutant la transparence cela donnait un codage sur 4 bits lorsque tu sauvegardais les affichages de premier plan sous forme de variables à l’aide de l’instruction StorePic.

1765417655A 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
Code: Select all
Prompt A,B
B→C
For(X,Xmax,0,­1
  Line(X,0,X,Ymin,C,1
  C→O
  A+int(X/(Xmax+1)(B-A+1→C
  If C≠O ou X=0
  Then
    TextColor(O
    Text(0,X,O
  End
End
Code: Select all
Prompt(A,B)
B→C
for X in Xmax-1,-1,-1 do
  Line(X,Ymin,X,Ymax,C)
  C→O
  A+int(X/(Xmax+1)*(B-A+1))→C
  if C≠O or X==0 then
    Text(X,0,toString(C))
  end
end


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)

17645Et 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.

1767417673Rappelons 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 top

La TI-84 Plus CE te permet également de choisir parmi différents styles (ou plus exactement stylos) pour tes graphes de fonctions ou instructions de tracés appelées depuis tes programmes.

8 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 CEZero
Code: Select all
0→K
1→S
TextColor(BLANC
While K≠45
  ClrDraw
  Line(Xmin,Ymax,Xmax,Ymin,BLACK,S
  Text(0,0,S
  0→K
  While K≠45 and K≠85 and K≠95
    getKey→K
  End
  S+(K=95)-(K=85→S
End
Code: Select all
0→K
1→S
while K≠45 do
  ClrDraw
  Line(Xmin,Ymax,Xmax,Ymin,BLACK,S)
  Text(0,0,S)
  0→K
  while K≠45 and K≠85 and K≠95 do
    getKey()→K
  end
  S+(K=95)-(K=85)→S
end

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 :
  1. trait plein fin
  2. trait plein épais
  3. ombrage supérieur
  4. 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

1767617675Pour 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 :
17677176781767917680
17681176821768317684

17685176861768717688
17689176901769117692


Regardons maintenant avec notre programme ce qui est disponible pour les instructions de tracé :
1767217663176641766517666
1766717668176691767017671

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
Les autres valeurs ne produisent qu’un trait plein fin. Cela peut certes se comprendre pour les animations, mais c’est dommage de ne pas avoir droit aux ombrages avec pointillés dans le contexte de programmes.

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 top

17704Nous venons de les évoquer plusieurs fois, alors parlons un petit peu fonctions et graphes.

Notons 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 !

1770617707Il 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.

1779417705Rajoutons 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 top

17701Regardons du côté des suites numériques, il semble que ce soit l’une des fonctionnalités TI-84 Plus CE qui ait été le moins bien copiée par la Zero.

Dé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.

17700Mais 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
C’est n’est qu’une fois ces 2 valeurs saisies que ta suite sera active pour les graphes ou tableaux de valeurs.

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

Les TI-84 Plus CE et TI-83 Premium CE française ne sont pas identiques. Elles ont entre autres une différence fondamentale au niveau du moteur de calcul exact :
  • 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$
  • 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
$mathjax$\mathbb{Q}$mathjax$
:

TI-83 Premium CE
TI-84 Plus CE
Zero


17721
17722

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
$mathjax$\frac{2024\pi}{12}$mathjax$
est un nombre rationnel se simplifiant en
$mathjax$\frac{3577763}{6752}$mathjax$
...




M2) Moteur de calcul numérique

Go to top

Après le calcul exact, passons au calcul numérique. Rappelons que dans ce contexte les calculatrices ne travaillent pas sur l’ensemble des nombres réels, mais sur un sous-ensemble de nombres décimaux. Ces nombres peuvent s’écrire sous la forme
$mathjax$M\times 10^E$mathjax$
avec :
  • M, nombre décimal sur
    $mathjax$\left[1;10\right[$mathjax$
    : la mantisse
  • E, entier relatif : l’exposant
En conséquence, même lorsque le résultat attendu est un nombre entier ou décimal, selon les calculs intermédiaires sollicités il pourra y avoir une petite marge d’erreur.

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 CEZero
Code: Select all
Prompt B
0→K
While 1+B^-K-1
  K+1→K
End
K
Code: Select all
Prompt(B)
0→K
while 1+B^-K-1 do
  K+1→K
end
K

17709A 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 CEZero
Code: Select all
0→K
While 1
  10^K
  Disp K
  K+1→K
End
Code: Select all
0→K
while 1 do
  10^K
  disp(K)
  K+1→K
end
Code: Select all
0→K
While 10^-K
  K+1→K
End
-K
Code: Select all
0→K
while 1 do
  10^-K
  K+1→K
end
-K

17795Résultats des courses :
  • la TI-84 Plus CE accepte des exposants allant de -99 à +99
  • la Zero accepte des exposants allant de -324 à +308
On pourrait donc s’attendre sur Zero à des calculs plus précis, à une marge d’erreur inférieure.

17708Sauf 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
Cela semble témoigner d’un codage interne des nombres sur la Zero directement en binaire, et non pas en BCD (Binary-Coded Decimal). Pour un produit ciblant le contexte scolaire, c’est un choix assez surprenant...




N1) Connectivité avec logiciel ZeroConnect

Go to top

17602Nous avons déjà commencé à saisir des programmes assez conséquents, alors il est temps de parler connectivité.

À 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. :bj:

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

17644Mais ce n’est pas fini ! Dans la version que l'on a, la Zero a également le gros avantage de proposer de transférer tes données autrement. Si tu allumes la calculatrice en maintenant la touche enter, tu constateras que la calculatrice entre dans un mode de fonctionnement spécial :
  • 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 top

Parlons maintenant applications.

Sur 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
Et bien c’est un des points qui a été le moins travaillé sur la Zero. Déjà a priori, pas de support d’applications additionnelles ; nous n’en voyons aucune trace dans le menu mémoire ou lors d’une connexion à l’ordinateur.

17712Selon 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 top

17713On retrouve dans Poly Root Finder sur Zero une interface de recherche des racines de polynômes similaire à ce qu’offre PlySmlt2 sur TI-84 Plus CE, avec a priori des capacités identiques selon l’écran de configuration. Tout petit détail, les listes dans lesquelles mémoriser les coefficients et racines se choisissent ici à l’écran de configuration, et non à l’écran de résultats.

Déroulons devant toi quelques exemples, déjà
$mathjax$x^2+x+1=0$mathjax$
:

TI-83 Premium CE
TI-84 Plus CE
Zero ZGC2
ZGC3


17728
17729
17739
17740

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 ! :bj:
Voici par exemple
$mathjax$i x^2+x+2=0$mathjax$
:

TI-84 Plus CE
Zero ZGC2
ZGC3
177301774117742

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
$mathjax$2x^2-2x-2=0$mathjax$
:

TI-83 Premium CE
TI-84 Plus CE
Zero ZGC2
ZGC3


1773117731
17732
17743
17744

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
$mathjax$x^2+x-1=0$mathjax$
:

Zero ZGC2
ZGC3
HP Prime
1773317745

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$
17746
17747
17748
17734
17735
17736
17737
17738

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 top

17749Simultaneous EQN solver est un autre exemple d’application sur laquelle ne semble pas avoir été passé suffisamment de temps, même si a priori les capacités semblent identiques à celles de PlySmlt2 sur TI-84 Plus CE.

Il 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

17750
17751


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

17754
17755


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

17752
17753




P) Langage de programmation Python

Go to top

1775717756Formidable surprise, elle n’était pas listée via la touche apps mais la Zero ZGC3 inclut une application Python, un ajout remarquable par rapport à l’ancienne ZGC2 ! :bj:

17758Quelques 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é

17759Cherchons à 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 :
  1. Micropython 1.20.0 (Zero)
  2. Micropython 1.19.1 (PythonExtra pour Casio)
  3. Micropython 1.17.0 (NumWorks)
  4. Micropython 1.12.0 (KhiCAS/Micropy pour Casio, TI-Nspire et NumWorks)
  5. Micropython 1.11.0 (TI-Nspire CX II)
  6. Micropython 1.9.4 (Casio Graph 90/35+E II + fx-9750/9860GIII + HP Prime)

17760Impossible 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.

Nous aurions bien voulu t’effectuer un test complet du Python, avec entre autres les performances, mais nous regrettons cela va nous être impossible.

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
Nous avons bien tenté de saisir nos scripts .py de test sur ordinateur puis de les transférer selon les deux méthodes précédentes, mais peu importe le dossier utilisé (racine ou /exchange/), nous n’arrivons pas ensuite à les importer dans l’application Python.


1779817763Pour 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 ! :bj:
  1. 252,1 Mo (HP Prime G2)
  2. 4,048 Mo (Zero ZGC3)
  3. 2,068 Mo (TI-Nspire CX II)
  4. 1,033 Mo (Casio fx-CG50 + Graph 90+E)
  5. 100,432 Ko (Casio fx-9750/9860GIII + Graph 35+E II)
  6. 64,888 Ko (NumWorks)
  7. 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 top

Allons maintenant voir du côté du gestionnaire de mémoire avec 2nd+2.

Commenç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
1776417595

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 :
  1. 461,500 Mo : HP Prime G2
  2. 92,300 Mo : TI-Nspire CX II
  3. 24,696 Mo : Casio fx-CG500/CP400
  4. 16,248 Mo : Casio fx-CG50 / Graph 90+E
  5. 7,652 Mo : Zero ZGC3
  6. 3,560 Mo : Zero ZGC1/ZGC2
  7. 3,097 Mo : Casio fx-9750/9860GIII / Graph 35+E II
  8. 3,014 Mo : TI-84 Plus CE Python / TI-83 Premium CE Python
  9. 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
Les TI-Nspire CX II ne fournissant aucun moyen officiel de mesurer l’espace de travail, la ZGC3 se classe directement à la 2e place parmi les modèles actuels !
  1. 246,400 Mo : HP Prime G2
  2. 8,227 Mo : Zero ZGC3
  3. 514,708 Ko : Casio fx-CG500/CP400
  4. 152,891 Ko : TI-84 Plus CE Python / TI-83 Premium CE Python
  5. 61,904 Ko : Casio fx-CG50 / fx-9750/9860GIII / Graph 90/35+E II
  6. 59,736 Ko : Zero ZGC1/ZGC2
  7. 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)
ZeroConnect ne permet pas davantage de choisir la destination, l’imposant peut-être en fonction du type de variable transférée.

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 top

Puisque nous venons de voir que le matériel de la ZGC3 était très différent de celui des ZGC1/ZGC2, il est intéressant de creuser la chose avec des tests de performances.

17785Commençons par un test de performances via un calcul, une grosse somme développée par pier4r sur HP Museum, en mode degrés :
$mathjax$\sum\limits_{x=1}^{1000}{\sqrt[3]{e^{sin\left(Arctan\left(x\right)\right)}}}$mathjax$

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 !
La ZGC3 se classe ainsi… à la 3e place parmi tous les modèles actuels, formidable ! :bj:
  1. 0,130s : HP Prime G2
  2. 0,252s : NumWorks N0120
  3. 0,256s : Zero ZGC3
  4. 0,49s : Zero ZGC1/ZGC2
  5. 0,997s : TI-Nspire CX II
  6. 1,100s : NumWorks N0110/N0115
  7. 6,330s : Casio fx-CG500/CP400
  8. 8,550s : Casio fx-CG50 / Graph 90+E
  9. 13,200s : TI-84 Plus CE Python / TI-83 Premium CE Python
  10. 14,100s : Casio fx-9750/9860GIII / Graph 35+E II

17786Pour 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$
Pour les modèles trop rapides difficiles à chronométrer, nous multiplierons le nombre de fonctions tracées, et diviserons d’autant le temps chronométré. Nous ramènerons de plus le tout à une vitesse de tracé par colonne, en tenant compte de la largeur en pixels de la zone graphique.
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 !
La ZGC3 se classe ainsi une nouvelle fois à la 3e place :
  1. 0,0005s : HP Prime G2
  2. 0,0017s : NumWorks N0120
  3. 0,0046s : Zero ZGC3
  4. 0,0054s : NumWorks N0110/N0115
  5. 0,0089s : Zero ZGC1/ZGC2
  6. 0,0108s : Casio fx-CG50 / Graph 90+E
  7. 0,0184s : TI-Nspire CX II
  8. 0,0281s : Casio fx-9750/9860GIII / Graph 35+E II
  9. 0,0913s : Casio fx-CG500/CP400
  10. 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 ! :bj:




S) Mode examen

Go to top

Tout comme les modèles des grands constructeurs, la ZGC3 dispose d'un mode examen permettant de limiter les fonctionnalités et d'effacer la mémoire de la calculatrice durant un examen. La procédure pour activer le mode examen est très similaire à la combinaison internationale qu'on retrouve sur les TI, par contre, elle n'offre aucune option pour choisir quelles fonctionnalités seront limitées.
Pour activer le mode examen sur la Zero tu dois:
  1. Éteindre la calculatrice
  2. Maintenir les touches et
  3. Rallumer la calculatrice
Dans une actualité précédente, nous t'annoncions la découverte du mode examen sur la Zero. Dans cet article, nous avions identifiés un total de 4 problèmes de conformité avec le mode examen:
  1. La diode doit se situer sur la tranche supérieure pour être visible sans obstacle par les surveillants
  2. La diode doit présenter un motif régulier (clignotement par exemple) - or ici elle restait simplement allumée
  3. 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
  4. Il suffisait d'aller faire un reset dans le menu mémoire pour désactiver le mode examen.

Désormais, nous sommes heureux de constater que 3 de ces problèmes sont maintenant résolus !
  1. ✅La diode a été déplacée sur la tranche supérieure de la calculatrice.
  2. ✅La diode clignote maintenant en bleu lorsque le mode examen est activé.
  3. ❌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.
  4. ✅Un simple reset ne permet plus de désactiver le mode examen.
De grosses améliorations certes, mais la ZGC3 n’est donc toujours pas conforme pour une utilisation dans les pays ou aux examens nécessitant de vérifier la diode examen comme en France.

17788Dans 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)
1779017789Grande nouvelle, ce n'est plus le cas avec la ZGC3 dont le mode examen se rapproche de celui de la TI-83 Premium CE, ce qui serait parfait pour la France !

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 top

1769317694Ouvrons donc enfin la nouvelle ZGC3… Grosse surprise, la carte électronique qui dans les révisions précédentes ZGC1/ZGC2 arborait une inscription GraphingCalculator v1.11, est maintenant estampillée GraphingCalculator v2.1, suggérant donc une révision matérielle majeure.

Pour 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 !

17787On 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) :
Faites glisser le slider en basUse the slider at the bottom!


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 :
  1. 512 Mio : HP Prime G2
  2. 128 Mio : TI-Nspire CX II
  3. 64 Mio : Casio fx-CG500/CP400
  4. 32 Mio : Casio fx-CG50 / Graph 90+E
  5. 11 Mio : Zero ZGC3
  6. 8,5 Mio : NumWorks N0120
  7. 8,0625 Mio : NumWorks N0110/N0115
  8. 8 Mio : Casio fx-9750/9860GIII / Graph 35+E II
  9. 5 Mio : Zero ZGC1/ZGC2
  10. 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 :
  1. 256 Mio : HP Prime G2
  2. 64 Mio : TI-Nspire CX II
  3. 8,25 Mio : Zero ZGC3
  4. 8 Mio : Casio fx-CG50 / Graph 90+E
  5. 2 Mio : Casio fx-CG500/CP400
  6. 832 Kio : Zero ZGC2
  7. 564 Kio : NumWorks N0120
  8. 512 Kio : Casio fx-9750/9860GIII / Graph 35+E II
  9. 320 Kio : Zero ZGC1
  10. 288 Kio : TI-84 Plus CE Python / TI-83 Premium CE Python
  11. 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
2022
2023
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

1759117605Niveau alimentation, nous venons donc de voir que :
  • 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.

1779717796L’é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

1590214683Comparons 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
Finalement les consommations des TI-84 Plus CE et Zero ZGC3 sont donc très similaires.
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 top

Soyons honnêtes, même si il y a à ce jour plein de bugs, cette "reproduction" du logiciel de calculatrice graphique TI-82/83/84 de Texas Instruments est un travail colossal.

Niveau 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 top

En fin de compte, si la Zero est destinée à être opposée à la TI-84 Plus CE Python nord-américaine, en pratique elle est plus proche de la TI-84 Plus CE-T Python Edition européenne de par la présence d’une diode examen.

Ne te la cachons pas, nous sommes extrêmement divisés par Zero
D’un côté nous avons un matériel haut de gamme, qui devrait être commercialisé au prix du milieu de gamme. Cela inclut :
  • des performances clairement intermédiaires entre celles des TI-Nspire CX II et HP Prime G2, chatouillant celles de la NumWorks N0120 :bj:
  • 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 :bj:
  • une mémoire RAM externe très généreuse de 8 Mio, apparemment laissée elle aussi presque entièrement libre :bj:
Ces 2 derniers points sont très prometteurs si la Zero pouvait se mettre à gérer des applications additionnelles tierces, la rapprochant fortement en terme de capacités de la Casio fx-CG50 (Graph 90+E en France), cette dernière offrant dans les 6,5 Mio de mémoire de stockage libre en sortie d’usine, et 8 Mio de mémoire RAM. Rappelons en effet que la Casio bénéficie de nombreuses applications additionnelles développées par sa communauté, dont plusieurs de qualité professionnelle. Nous pouvons citer des interpréteurs Micropython, ou encore des outils de calcul formel comme des portages d’EigenMath ou Xcas (KhiCAS).

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 sommes profondément touchés. La Zero, c’est littéralement la calculatrice qu’un fan/passionné des TI-82/83/84 et/ou du TI-Basic comme nous en avons tant vu passer sur TI-Planet cette dernière décennie aurait pu rêver et inventer ! :bj:
Toutefois, si les interfaces Texas Instruments sont minutieusement reproduites dans leur quasi-totalité, derrière la façade beaucoup de choses ne vont pas.

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
Heureusement, en dehors des résultats faux dans les 2 applications et du Python, la Zero est fonctionnelle, il y a moyen de lui faire sortir les bonnes réponses.

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 qui sait bien mieux que nous ce qui se cache derrière les différents bugs nous annonce que tout est relativement mineur et facile à corriger :
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 ! :bj:

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 écrit par Critor, avec l'aide d'Adriweb et mr womp womp)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48.1%
 
Posts: 41995
Images: 15902
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Test/Review Zero ZGC3, imitation de la TI-84 Plus CE Pyt

Unread postby parisse » 25 Sep 2023, 12:54

Merci beaucoup pour cet article et toutes les informations incluses!
Je serais plutôt optimiste sur la possibilité de corriger les bugs les plus gênants d'ici le printemps 2024, le point qui me semble le plus délicat c'est les flottants en base 10. Mais le fait que le développement semble externalisé est un point négatif. J'espère qu'une partie au moins du dev se fait directement par des employés de Zero, et que c'est le bas niveau qui dépend de l'extérieur.
Concernant le développement d'applis, j'ai regardé les caractéristiques de la flash ROM, elle semble exécutable en place, donc on pourrait avoir jusqu'à 8Mo pour faire des applis sans avoir à copier de code vers la RAM. Mais ça parait incompatible avec l'utilisation comme support clef USB. A mon avis, s'il y a un jour du support pour applis externes, ce sera avec une copie du code en RAM et des limitations en taille. Et je ne pense pas que ce sera disponible à la rentrée prochaine.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86.2%
 
Posts: 3666
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Test/Review Zero ZGC3, imitation de la TI-84 Plus CE Pyt

Unread postby critor » 25 Sep 2023, 15:19

Sur une idée de iPhoenix, voici une façon détournée d'interroger le heap Python, sans avoir besoin de caractère indisponible au clavier (notamment _ et =) :
Code: Select all
import gc
eval("gc.mem"+chr(95)+"alloc()+gc.mem"+chr(95)+"free()")

17798
Résultat un bon 4 Mo, génial, on va se régaler pour nos projets... du moins le jour où Python marchera :P
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48.1%
 
Posts: 41995
Images: 15902
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Test/Review Zero ZGC3, imitation de la TI-84 Plus CE Pyt

Unread postby SlyVTT » 25 Sep 2023, 15:41

Très bon article en effet.
Vu que vous avez "accès" au chef de projet, il serait intéressant de lui demander sa position sur les addins externes / le code natif.
Et peut être si un SDK serait disponible ;)
Some works in progress :
The GUI Toolkit NF for nSpireMyShmup for fxCG-50Magic Light for Casio Graph 90+E
and
Magic Light for nSpire CX/CX-II
Simple Text Editor for nSpireOutRun for Casio Graph 90+E
95%
50%
100%
75%
100%
And more to come ... stay tuned
User avatar
SlyVTTPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 45.7%
 
Posts: 523
Images: 31
Joined: 19 Jan 2021, 09:41
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
GitHub: SlyVTT

Re: Test/Review Zero ZGC3, imitation de la TI-84 Plus CE Pyt

Unread postby Adriweb » 25 Sep 2023, 15:46

Aux dernières nouvelles à ce sujet (mais elles sont vieilles...), ce n'était pas prévu d'avoir un SDK, non.
Mais bon peut-être qu'ils vont revenir la dessus s'il y a suffisamment d'intérêt/demande? Encore faut-il avoir l'architecture logicielle en place pour le permettre, et à vrai dire il y a plus urgent à faire pour l'instant...

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 78.9%
 
Posts: 14746
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Test/Review Zero ZGC3, imitation de la TI-84 Plus CE Pyt

Unread postby SlyVTT » 25 Sep 2023, 16:47

Et on gagne la machine au concours de rentrée, c'est une imposition à la méthode NW :troll:
Some works in progress :
The GUI Toolkit NF for nSpireMyShmup for fxCG-50Magic Light for Casio Graph 90+E
and
Magic Light for nSpire CX/CX-II
Simple Text Editor for nSpireOutRun for Casio Graph 90+E
95%
50%
100%
75%
100%
And more to come ... stay tuned
User avatar
SlyVTTPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 45.7%
 
Posts: 523
Images: 31
Joined: 19 Jan 2021, 09:41
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
GitHub: SlyVTT

Re: Test/Review Zero ZGC3, imitation de la TI-84 Plus CE Pyt

Unread postby Afyu » 25 Sep 2023, 16:50

nous sommes extrêmement divisés par Zero

Excellent ! :D

Sinon, cette nouvelle concurrente sur le marché des calculatrices me semble prometteuse. J'ai hâte de voir la suite de cette nouvelle aventure :)
User avatar
AfyuVIP++
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 2.7%
 
Posts: 405
Images: 149
Joined: 30 Oct 2019, 19:17
Gender: Male
Calculator(s):
MyCalcs profile
Class: plutôt, oui :)

Re: Test/Review Zero ZGC3, imitation de la TI-84 Plus CE Pyt

Unread postby jean-baptiste boric » 25 Sep 2023, 17:26

Adriweb wrote:Aux dernières nouvelles à ce sujet (mais elles sont vieilles...), ce n'était pas prévu d'avoir un SDK, non.
Mais bon peut-être qu'ils vont revenir la dessus s'il y a suffisamment d'intérêt/demande? Encore faut-il avoir l'architecture logicielle en place pour le permettre, et à vrai dire il y a plus urgent à faire pour l'instant...

Hmm... Avec des spécifications pareilles, il serait tout à fait envisageable d'embarquer WebAssembly sur cette calculatrice. Ça pourrait adresser la quasi-totalité des cas d'usages d'un SDK natif ; intégrer un interpréteur sur étagère comme wasm3 est relativement simple, portable et peu risqué d'un point de vue sécurité.
User avatar
jean-baptiste boricPremium
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 5.5%
 
Posts: 379
Joined: 21 Dec 2015, 22:22
Gender: Not specified
Calculator(s):
MyCalcs profile
GitHub: boricj

Re: Test/Review Zero ZGC3, imitation de la TI-84 Plus CE Pyt

Unread postby parisse » 25 Sep 2023, 18:52

wasm, ça tiendrait dans le reste de la flash interne?
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86.2%
 
Posts: 3666
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Test/Review Zero ZGC3, imitation de la TI-84 Plus CE Pyt

Unread postby jean-baptiste boric » 25 Sep 2023, 19:26

parisse wrote:wasm, ça tiendrait dans le reste de la flash interne?

L'interpréteur wasm3 par exemple utilise ~64 KiB de ROM et ~10 KiB de RAM d'après son README.md. D'autres moteurs d'exécutions auront d'autres caractéristiques (interpréteur, JIT, AOT...), mais d'ordre général on peut faire rentrer WebAssembly dans des micro-contrôleurs relativement modestes.

La mémoire linéaire en WebAssembly a une granularité de 64 KiB ; c'est un peu gros pour une NumWorks N0110 avec 256 KiB de RAM, mais pour une Zero ZGC3 avec 8 MiB de SRAM c'est pas un problème.
User avatar
jean-baptiste boricPremium
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 5.5%
 
Posts: 379
Joined: 21 Dec 2015, 22:22
Gender: Not specified
Calculator(s):
MyCalcs profile
GitHub: boricj

Next

Return to News Zero

Who is online

Users browsing this forum: No registered users and 1 guest

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
904 utilisateurs:
>840 invités
>56 membres
>8 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)