Page 1 of 1

Test-découverte TI-84 Plus CE-T Python Edition, OS 5.5.5

Unread postPosted: 30 Jul 2020, 08:57
by critor
1132511355Pour la rentrée 2015, Texas Instruments révolutionnait ses calculatrices graphiques de milieu de gamme, passant à la couleur avec :
  • la TI-83 Premium CE pour la France et la Belgique
  • la TI-84 Plus CE-T pour le reste de l'Europe
  • la TI-84 Plus CE dans le reste du monde
Ce n'est pas forcément pareil dans d'autres pays où elle peut être davantage concurrencée par le haut de gamme TI-Nspire, mais pour la France la TI-83 Premium CE devint rapidement la calculatrice la plus cool du marché, connue de tous les lycéens grâce à sa formidable bibliothèque de jeux dits assembleurs. :D

Pour la rentrée 2019 suite aux nouveaux programmes du lycée français, Texas Instruments rafraichissait son best-seller en nous sortant la nouvelle TI-83 Premium CE Edition Python capable d'exécuter des scripts écrits en langage de programmation Python. Le matériel passait en révision matérielle M (soit la 14ème version), une évolution matérielle majeure avec une mémoire Flash beaucoup plus rapide ainsi qu'un coprocesseur 32 bits dédié au Python, faisant de la TI-83 Premium CE Edition Python la première et seule calculatrice graphique à exploiter deux processeurs. :bj:

11485Toutefois, bien que passant elles aussi de façon concomitante à la même révision matérielle M, les nouvelles TI-84 Plus CE de rentrée 2019 n'étaient pas capables d'exécuter des scripts Python.

En effet, la puce apportant le coprocesseur dédié n'étant ici pas soudée sur la carte mère.

127001269812699Pour cette rentrée 2020 le reste de l'Europe est sur le point de bénéficier enfin à son tour de cette nouvelle technologie, avec la nouvelle TI-84 Plus CE-T Python Edition que nous venons tout juste de recevoir (merci TI) et allons découvrir et tester devant toi ! :D

La calculatrice vient accompagnée de guides de démarrage en pas moins de 4 langues différentes, Allemand, Néerlandais, Suédois et Anglais, langues également présentes sur l'emballage et qui nous donnent donc une idée des pays européens ciblés, pays dont l'enseignement secondaire a donc embrassé le langage Python comme en France.




Sommaire :




1) Versions OS et Boot :

Go to top

A ce jour sur la TI-83 Premium CE Edition Python, l'OS (système d'exploitation) en est à la version 5.5.1 dont la mise à jour est sortie il y a à peine quelques semaines.

Commençons donc par consulter la version de système d'exploitation préchargée dans les nouvelles TI-84 Plus CE-T Python Edition de rentrée 2020. Tapons pour cela
2nd
+
1
et nous obtenons quelque chose de visiblement plus récent, une version 5.5.5, plus précisément 5.5.5.0011.

Regardons maintenant également en prime du côté du Boot (code d'amorçage). Les TI-83 Premium CE Edition Python et TI-84 Plus CE assemblées pour la rentrée 2019 utilisaient un Boot en version 5.3.6.0017.

Et bien la combinaison
mode
alpha
ln
nous indique ici encore quelque chose de tout nouveau sur TI-84 Plus CE-T Python Edition, un Boot en version 5.5.0.0006.

Les changements de version de Boot ne sont habituellement pas anodins chez Texas Instruments qui plus est ici avec un changement du 2ème chiffre. C'est usuellement significatif de nouvelles sécurités ou encore de modifications matérielles majeures, point que nous traiterons plus loin.

On peut également valider sur ce même écran le lancement du logiciel de diagnostic qui nous fournit quelques informations complémentaires.

POB pour peut-être Python On Board nous indique que pour l'instant le microcontrôleur apportant le coprocesseur Python est chargé avec un firmware (microprogramme) en version 1.11.

Or, les firmwares TI-Python en sont à la version 3.10 et la puce sera donc mise à jour au premier lancement de l'application Python.
Peut-être que la version 1.11 est relative à firmware inclus par défaut lors de la fonte de la puce. Il pourrait également s'agir d'un firmware de test programmé par TI lors de l'assemblage de la calculatrice.


2) Applications et versions :

Go to top

Faisons maintenant un tour du côté des applications avec
apps
. Nous y retrouvons les habituelles applications préchargées des anciennes TI-84 Plus CE :
  • CabriJy : une version allégée du logiciel de géométrie dynamique Cabri
  • CelSheet : feuille de calcul / tableur
  • Conics : rappel des formules et tracé de courbes coniques
  • EasyData : acquisition de données lors des TP via une interface compatible à connecter
  • Hub : pour pour réaliser des programmes dans le domaine de la robotique ou des objets connectés à l'aide de l'interface TI-Innovator Hub
  • Inequalz : représentation graphique d'inéquations
  • Periodic : classification périodique des éléments
  • PlySmlt2 : racines de polynômes et résolution de systèmes d'équations linéaires
  • Prob Sim : simulateur d'expériences aléatoires
  • SciTools : convertisseur d'unités, bibliothèque de constantes physiques, calcul vectoriel, calcul selon la règle des chiffres significatifs
  • SmartPad : pour prise contrôle de l'émulateur officiel TI-SmartView CE sur ordinateur à l'aide du clavier de la calculatrice connectée en USB
  • Transform : transformations de courbes
Mais contrairement aux anciennes TI-84 Plus CE, la nouvelle TI-84 Plus CE Python Edition est préchargée non pas avec 12 mais 13 applications exécutables. En effet, il y a bien évidemment l'application Python en prime.

Tentons d'en apprendre un peu plus en listant maintenant les applications via le menu mémoire
2nd
+
2
alpha
math
.

Nous y retrouvons en prime les applications non exécutables de langues : Deutsch (Allemand), Español (Espagnol), Français, Nederlan (Néerlandais), Portug (Portugais) et Svenska (Suédois). La dernière mise à jour 5.4.0.0034 des TI-84 Plus CE incluait des versions 5.3.6.0018 de ces applications, version utilisée donc comme sa numérotation l'indique depuis la mise à jour d'OS 5.3.6. Notons justement ici qu'avec l'OS 5.5.5.0011, ces applications passent enfin à une nouvelle version : 5.5.0.0011. Il a donc dû y avoir quelque part des affichages de texte rajoutées ou modifiés, reste encore à trouver où...

L'application Python n'est quant à elle bizarrement ni dans la version 5.5.0.0038 ayant accompagné la dernière mise à jour d'OS 5.5.1.0038 de la TI-83 Premium CE Edition Python il y a quelques semaines, ni dans la version précédente 5.4.0.0034. Elle indique une version intermédiaire inédite, 5.4.1.0011.

Mais rien de bien intéressant en fait, car on se rend compte que l'application ne fait que 14,547 Ko. Il est donc impossible qu'elle contienne un firmware TI-Python fonctionnel.

Effectivement on note une fois lancée que l'application n'est qu'un simple placeholder, elle affiche juste un écran indiquant d'aller télécharger et installer l'application Python complète en version 5.5.0 ou supérieure à l’adresse education.ti.com/84cetupdate d’ailleurs non encore fonctionnelle à date de publication de cet article (erreur 404).

Par simple curiosité (notre vilain défaut) on peut tenter d'installer l'application Python dans la version 5.4.0.0034 plus ancienne déjà diffusée pour TI-83 Premium CE Edition Python, et effectivement elle ne fonctionne pas, affichant un écran expliquant que la programmation Python n'est pas disponible sur les TI-84 Plus CE, car ne connaissant sans doute pas encore le nouveau modèle TI-84 Plus CE-T Python Edition.

C'est donc obligatoirement une application Python en version 5.5.0 ou supérieure qu'il nous faut installer.


3) Installation Python :

Go to top

12719Pour les TI-84 Plus CE-T Python Edition assemblées pour cette rentrée 2020, il faut donc installer manuellement une application Python en version 5.5.0 ou supérieure.

Prenons la dernière version 5.5.0.0038 déjà diffusée pour TI-83 Premium CE Edition Python, elle passe sans aucun problème ! :bj:
Code: Select all
from ti_system import *
from ti_graphics import *
drawImage('Boy150t', 0, 30)
drawImage('Girl150t', 71, 30)
disp_wait()


4) Mémoires de travail et de stockage :

Go to top

Sortie de son emballage, la TI-84 Plus CE-T Python Edition nous indique via
2nd
+
2
dans les 145 Ko de mémoire RAM (mémoire de travail) disponible, pour une capacité de près de 153 Ko que l'on peut vérifier en supprimant les variables prédéfinies.

La mémoire Flash (mémoire de stockage) annonce quant à elle 1,850 Mo de libres, mais attention c'est avec la fausse application Python préchargée.

Si l'on installe donc l'application Python complète en version 5.5.0.0038, l'espace de stockage disponible chute à 1,326 Mo.

Pour référence, la capacité de l'espace de stockage consultable après en avoir supprimé le contenu est de 3,014 Mo.


5) Mode examen et Python :

Go to top

Comme les anciennes TI-84 Plus CE, la TI-84 Plus CE-T Python Edition dispose de 2 modes examen :
  • le mode examen bleu qui s'active en allumant la machine tout en maintenant les touches
  • le mode examen orange qui s'active en allumant la machine tout en maintenant les touches
    +
    enter
Le bon mode examen à activer variera d'un pays à un autre, mais pourra être vérifié lors de la surveillance à l'aide de la couleur de la barre de titre. C'est également vérifiable à distance, puisque le mode examen bleu fera clignoter la diode examen en vert, quand le mode orange la fera clignoter en orange.

L'activation du mode examen qu'il soit orange ou bleu verrouille entre autres tous les programmes présents en mémoire.

Une grosse différence avec le mode examen français de la TI-83 Premium CE Edition Python est qu'il sera même ici impossible de créer le moindre programme une fois passé en mode examen, une restriction visant à satisfaire entre autres la réglementation des Pays-Bas qui interdit pendant l'examen l'accès à tout éditeur de texte, et donc entre autres ici l'éditeur de programmes.

Une différence par contre entre les modes examens bleu et orange, c'est au niveau des applications :
  • Le mode examen bleu verrouille toutes les applications, y compris les applications préchargées. Toutes les fonctionnalités apportées via des applications sont donc inutilisables en mode examen. :#non#:
  • Le mode examen orange est moins restrictif; il conserve l'accès à certaines applications, jusqu'à présent Conics, Inequalz et PlySmlt2.

Visiblement aucun changement dans ce dernier mode, contrairement à la TI-83 Premium CE Edition Python française l'application Python sur TI-84 Plus CE Python Edition est totalement inaccessible en mode examen. Il est donc impossible aussi bien de créer des scripts Python que de les exécuter, bien embêtant pour vérifier ses réponses aux questions d'algorithmique. :'(

Nous comprenons la restriction si les Pays-Bas en sont toujours à interdir bêtement l'accès à tout éditeur de texte. Nous ne jetons pas la pierre, la concurrence fait d'ailleurs exactement pareil :
  • Casio autorise l'accès à l'application Python sur le modèle français Graph 90+E mais pas sur le modèle international fx-CG50
  • Casio autorise l'accès à l'application Python sur le modèle français Graph 35+E II mais pas sur le modèle américain fx-9750GIII ni international fx-9860GIII
  • NumWorks offre 2 choix de mode examen lorsque la calculatrice est réglée pour fonctionner en anglais ou néerlandais, l'un des deux étant indiqué comme le mode examen dédié aux Pays-Bas, et interdisant l'accès à l'application Python contrairement à l'autre

Mais il n'empêche que nous trouvons cela particulièrement choquant ici d'avoir une calculatrice dont le nom met fièrement en avant des possibilités Python via le suffixe Python Edition, alors que le Python est totalement inutilisable une fois la calculatrice passée en mode examen. :mj:


6) Matériel :

Go to top

12712Tentons maintenant de mieux comprendre le fonctionnement de la TI-84 Plus CE-T Python Edition. Elle présente au dos à la suite du numéro de série un timbre à date L-0520P. Cela nous donne 3 informations :
  • la calculatrice a été assemblée dans l'usine de code L
  • la calculatrice a été assemblée en Mai 2020
  • la calculatrice utilise la révision matérielle P soit 17ème version du matériel

12720Malgré le fait qu'il y ait donc eu 3 nouvelles versions depuis, la TI-84 Plus CE Python Edition en révision matérielle P de cette rentrée 2020 utilise la même carte mère SG95/F/T-10-2(2L) que les TI-83 Premium CE Edition Python et TI-84 Plus CE en révision matérielle M de la rentrée 2019.
Toutefois, cela ne veut absolument pas dire qu'il n'y a rien à dire dessus. ;)

Comparons déjà la carte de la TI-84 Plus CE-T Python Edition en révision matérielle P de rentrée 2020, avec celle de la TI-84 Plus CE révision matérielle M de rentrée 2019 :


Nous notons :
  • l'usage à l'emplacement U01A de la même puce ASIC JB-007-00, renfermant notamment le processeur 8 bits eZ80 cadencée à 48 MHz ainsi que la RAM.
  • de même à l'emplacement U01B la même puce de mémoire Flash 25Q32JVSIQ de chez Winbond avec 4 Mio de capacité, accueillant donc le Boot, l'OS, les applications ainsi que toutes les variables dites archivées
  • et surtout autour de l'emplacement U01E l'ajout de la puce et des composants avoisinants qui était manquants l'année dernière, une puce ATSAMD21E18A-U de chez Atmel, apportant le coprocesseur 32 bits ARM Cortex-M0+ cadencé à 48 MHz dédié au Python, accompagné de 256 Kio de mémoire Flash ainsi que de 32 Kio de mémoire SRAM

Comparons maintenant la carte de la TI-84 Plus CE-T Python Edition en révision matérielle P de rentrée 2020, avec celle de la TI-83 Premium CE Edition Python révision matérielle M de rentrée 2019 :


C'est comme on pouvait s'y attendre bien plus ressemblant, mais il y a quand même de petits détails à signaler :
  • La puce ASIC a pour référence JB-007-01 sur TI-83 Premium CE Edition Python et JB-007-00 sur les TI-84 Plus CE.
    C'est normal, les deux derniers chiffres indiquent en fait la valeur des bits de drapeau programmés de façon définitive en usine à la fonte de la puce. Ils peuvent être interrogés pour déterminer le modèle, et permettent ainsi d'interdire l'installation d'un OS TI-83 Premium CE sur TI-84 Plus CE et vice-versa. Les modèles étant en effet commercialisés dans des zones géographiques distinctes aux réglementations différentes, notamment pour le mode examen, une hybridation de ce genre eût été bien problématique.
  • La référence commune SG95/F/T-10-2(2L) fait en fait l'objet d'une correction manuelle avec une lettre rayée :
    • sans le T elle devient SG95/F-10-2 sur TI-83 Premium CE Edition Python, le F restant étant sans doute pour France
    • sans le F elle devient SG95/T-10-2 sur TI-84 Plus CE-T, le T restant étant probablement à relier à celui du nom du modèle


7) Application Python :

Go to top

La seule application Python installable et utilisable sur la TI-84 Plus CE-T Python Edition est donc à ce jour la 5.5.0.0038. Rien de neuf pour nous, nous l'avons déjà testée dans tous les sens lors de sa sortie initialement pour TI-83 Premium CE Edition Python il y a quelques semaines, nous n'allons pas tout recommencer.
L'on peut toutefois rappeler quelques caractéristiques déterminées à l'occasion.

Les interpréteurs MicroPython ou similaires qui tournent sur calculatrices font appel à 3 types de mémoires avec les rôles suivants :
  • la mémoire de stockage qui accueille et conserve tes scripts Python
  • le stack (pile) qui, à l'exécution, référence les objets Python créés
  • le heap (tas) qui, à l'exécution, stocke le contenu de ces objets Python

Pour être éditables et exécutables, les scripts Python doivent être placés dans la mémoire de travail (RAM eZ80) de la calculatrice, d'une capacité de près de 153 Ko comme vu plus haut.

Lorsque tu accèdes à l'environnement Python, tous les scripts Python présents dans la mémoire RAM eZ80 sont copiés dans l'espace de stockage du cœur Atmel secondaire, d'une capacité de 58,5 Kio seulement.

En pratique Texas Instruments a prévu une petite marge de sécurité, l'application Python ne t'acceptera :
  • qu'au plus 100 scripts Python différents
  • pour un total maximal de 50 Kio

Si le contenu de ta mémoire RAM eZ80 excède une de ces deux limites, l'application Python refusera de démarrer, et t'invitera à archiver plusieurs scripts, c'est-à-dire à les déplacer vers la mémoire de stockage Flash eZ80 où ils seront alors inutilisables et donc ignorés.

Un gros consommateur de pile / stack nous permettant de comparer les capacités de cette mémoire, ce sont les séries d'appels récursifs de fonctions :
Code: Select all
def sumr(n):return n>0 and n+sumr(n-1)

def maxr(fct):
  n=0
  try:
    while True:
      fct(n)
      n=n+1
  except Exception as e:print(e)
  return n

Aux examens :
  1. 128 :
    NumWorks
  2. 82 :
    Casio Graph 90+E
    Casio Graph 35+E II
  3. 77 :
    HP Prime (version alpha)
  4. 23
    TI-83 Premium CE Edition Python
En classe :
  1. 5362 :
    Casio Graph 35/75+E (application CasioPython)
  2. 655 :
    Casio Graph 35+E II (application CasioPython)
  3. 128 :
    NumWorks
  4. 130 :
    TI-Nspire (application MicroPython)
  5. 82 :
    Casio Graph 90+E
    Casio Graph 35+E II
  6. 77 :
    HP Prime (version alpha)
  7. 23
    TI-83 Premium CE Edition Python / TI-84 Plus CE-T Python Edition
  8. 20
    TI-83 Premium CE + TI-Python
  9. 15
    TI-83 Premium CE + TI-Python (firmware tiers)

Le heap / tas est la mémoire la plus importante, les objets Python ayant le défaut d'être assez gourmands en mémoire. C'est donc en gros elle qui définit ce que tu seras capable de faire en Python.
Code: Select all
from gc import *
a, f = mem_alloc(), mem_free()
(a, f, a+f)

Sur les quelques 32 Kio de SRAM dont bénéficie le coprocesseur Python pour travailler, 19,968 Ko sont initialement alloués au tas.
Toutefois, l'initialisation de l'environnement consomme visiblement 2,912 Ko sur le tas, ne laissant que 17,056 Ko de disponibles.

C'est extrêmement faible...
Aux examens :
  1. 1,032942 Mo :
    Casio Graph 90+E
  2. 1,022145 Mo :
    HP Prime (version alpha)
  3. 100,560 Ko :
    Casio Graph 35+E II
  4. 32,339 Ko
    NumWorks (firmware Omega)
  5. 31,624 Ko
    NumWorks
  6. 17,056 Ko
    TI-83 Premium CE Edition Python
En classe :
  1. 2,049276 Mo :
    TI-Nspire (application MicroPython)
  2. 1,032942 Mo :
    Casio Graph 90+E
  3. 1,022145 Mo :
    HP Prime (version alpha)
  4. 257,636 Ko :
    Casio Graph 35/75+E (application CasioPython)
  5. 100,560 Ko :
    Casio Graph 35+E II
  6. 31,899 Ko :
    Casio Graph 35+E II (application CasioPython)
  7. 32,339 Ko
    NumWorks (firmware Omega)
  8. 31,624 Ko
    NumWorks
  9. 22,605 Ko
    TI-83 Premium CE + TI-Python (firmware tiers)
  10. 19,924 Ko
    TI-83 Premium CE + TI-Python
  11. 17,056 Ko
    TI-83 Premium CE Edition Python / TI-84 Plus CE-T Python Edition

Mais la mémoire ne fait pas tout non plus... La TI-84 Plus CE-T Python Edition a le gros avantage de disposer de l'une des plus belles collection de modules importables, dont on peut estimer l'importance en comptant les éléments qu'ils fournissent à l'aide du script suivant :
Code: Select all
def getplatform():
  id=-1
  try:
    import sys
    try:
      if sys.platform=='nspire':id=0
      if sys.platform.startswith('TI-Python') or sys.platform=='Atmel SAMD21':id=4
    except:id=3
  except:
    try:
      import kandinsky
      id=1
    except:
      try:
        if chr(256)==chr(0):id=5+(not ("HP" in version()))
      except:
        id=2
  return id

platform=getplatform()
#lines shown on screen
#plines=[29,12,  7, 9,11,0,0]
plines=[29,16,  7, 9,11,0,0]
#max chars per line
#(error or CR if exceeded)
pcols =[53,99,509,32,32,0,0]

unsafe = ((), (), (), ('sys.argv', 'sys.path'), (), (), ())

if platform>=0:
  curline=0
  _p = print
  nlines=plines[platform]
  ncols=pcols[platform]
  def print(*ls):
    global curline
    st=""
    for s in ls:
      if not(isinstance(s,str)):
        s=str(s)
      st=st+s
    stlines=1+int(len(st)/ncols)
    if curline+stlines>=nlines:
      input("Input to continue:")
      curline=0
    _p(st)
    curline+=stlines

def sstr(obj):
  try:
    s=obj.__name__
  except:
    s=str(obj)
    a=s.find("'")
    b=s.rfind("'")
    if a>=0 and b!=a:
      s=s[a+1:b]
  return s

def isExplorable(obj):
  for k in done:
    try:
      if isinstance(obj, eval(k)):
        t, done[k] = done[k], True
        return not t
    except: pass
  if str(obj).startswith("<module"): return False
  l = ()
  try: l = dir(obj)
  except: pass
  return len(l)

done = {'str':False, 'list':False, 'tuple':False, 'dict':False, 'complex':False, 'set':False, 'frozenset': False}

def explmod(pitm, pitmsl=[], reset=True):
  global curline
  spitm=sstr(pitm)
  if(reset):
    curline=0
    pitmsl=[spitm]
    for k in done: done[k] = False
  hd="."*(len(pitmsl)-1)
  c,c2=0,0
  l = sorted(dir(pitm))
  for i in range(len(l)):
    l[i] = (l[i], getattr(pitm, l[i]))
  try:
    if not isinstanceof(pitm, str):
      for i in range(len(pitm)):
        l.append((spitm+'['+str(i)+']',pitm[i]))
  except: pass
  for itm in l:
    c,c2=c+1,c2+1
    isUnsafe = platform >= 0 and '.'.join(pitmsl + [itm[0]]) in unsafe[platform]
    try:
      if isUnsafe: raise Exception
      print(hd+itm[0]+"="+str(itm[1]))
    except:
      print(hd+itm[0])
    if not isUnsafe and isExplorable(itm[1]) and itm[1] != pitm and itm[0] not in pitmsl:
      pitmsl2=pitmsl.copy()
      pitmsl2.append(itm[0])
      c2=c2+explmod(itm[1], pitmsl2, False)[1]
  if c>0 and reset:
    print(hd+"Total: "+str(c)+" 1st level item(s)")
    if c2>0 and c2!=c:
      print(hd+"       "+str(c2)+" item(s)")
  return [c,c2]


Casio Graph
35+E II
90+E
NumWorks
TI-83PCE
Ed. Python
builtins
array
collections
cmath
gc
math
matplotlib
matplotlib.pyplot
micropython
os
random
sys
time
turtle
uerrno
84-197
.
.
.
.
25-47
.
.
.
.
8-30
.
.
.
.
97-1581
3-363
.
13-428
9-404
42-602
.
.
10-410
.
.
17-977
.
.
25-1277
89-211
.
.
12-34
.
41-63
3-25
11-33
7-29
.
9-31
.
3-25
40-62
.
92-211
2-24
2-24
.
7-29
28-50
.
.
.
.
8-30
15-93
4-26
.
.
spécifiquecasioplot:6-28prime:3-368ion:48-162
kandinsky:6-28
ti_graphics:30-75
ti_hub:20-42
ti_plotlib:49-84
ti_system:12-34
ti_rover:66-92
analogin:3-46
analgout:3-48
bbport:3-44
brightns:5-29
color:6-30
colorinp:3-39
conservo:3-47
dht:3-25
digital:3-25
led:3-25
light:6-30
lightlvl:3-46
loudness:3-25
magnetic:3-25
moisture:3-25
potentio:3-46
power:3-25
ranger:3-25
relay:3-25
rgb:3-25
rgb_arr:3-52
servo:3-25
sound:5-29
speaker:3-25
squarewv:3-46
temperat:3-45
thermist:3-46
timer:3-35
vernier:3-25
vibmotor:3-47
Modules491143
Eléments123-302219-6042269-703435-1844

  1. 435-1844 éléments : TI-83 Premium CE Edition Python
  2. 269-703 éléments : NumWorks
  3. 219-6042 éléments : HP Prime (version alpha)
  4. 123-302 éléments : Casio Graph 90+E / 35+E II
Casio Graph
35+E II
90+E
CasioPython
Casio Graph
35+E II
35+E/USB
75/85/95
MicroPython
TI-Nspire
TI-Python
TI-83PCE Ed. Python
TI-84+CE Python Ed.
builtins
array
collections
cmath
gc
math
matplotlib
matplotlib.pyplot
micropython
os
random
sys
time
turtle
uerrno
84-197
.
.
.
.
25-47
.
.
.
.
8-30
.
.
69-126
.
91-230
2-28
.
12-38
7-33
41-67
.
.
6-32
.
8-34
12-38
.
.
24-108
93-218
2-28
.
12-38
7-33
41-67
.
.
3-29
.
.
15-86
.
.
.
92-212
2-24
2-24
.
7-29
28-50
.
.
.
.
8-30
15-93
4-26
.
.
93-214
2-25
2-25
12-35
7-30
41-64
.
.
6-29
15-38
8-31
15-99
8-33
.
.
92-211
2-24
2-24
.
7-29
28-50
.
.
.
.
8-30
15-93
4-26
.
.
spécifiquecasioplot:6-28
matplotl:25-68
nsp:3-10board:22
storage:7-47
ti_graphics:30-75
ti_hub:20-42
ti_plotlib:49-84
ti_system:12-34
ti_rover:66-92
ce_box:5-32
ce_chart:8-67
ce_quivr:5-41
ce_turtl:9-98
analogin:3-46
analgout:3-48
bbport:3-44
brightns:5-29
color:6-30
colorinp:3-39
conservo:3-47
dht:3-25
digital:3-25
led:3-25
light:6-30
lightlvl:3-46
loudness:3-25
magnetic:3-25
moisture:3-25
potentio:3-46
power:3-25
ranger:3-25
relay:3-25
rgb:3-25
rgb_arr:3-52
servo:3-25
sound:5-29
speaker:3-25
squarewv:3-46
temperat:3-45
thermist:3-46
timer:3-35
vernier:3-25
vibmotor:3-47
Modules69891347
Eléments217-496203-608176-509158-488238-692462-2082

  1. 462-2082 éléments : TI-83 Premium CE Edition Python / TI-84 Plus CE-T Python Edition
  2. 269-703 éléments : NumWorks
  3. 238-692 éléments : TI-83 Premium CE + TI-Python (firmware tiers)
  4. 219-6042 éléments : HP Prime (version alpha)
  5. 217-496 éléments : Casio Graph 90+E / 35+E II / fx-CG50 / fx-9750/9860GIII
  6. 203-608 éléments : Casio Graph 75/85/95 / 35+E/USB / 35+E II / fx-9750GII/GIII / fx-9860G/GII/GIII (appli CasioPython)
  7. 176-509 éléments : TI-Nspire (appli MicroPython)
  8. 158-488 éléments : TI-83 Premium CE + TI-Python

Et quels modules... Texas Instruments semble s'être donné un mal fou pour te permettre de tirer non plus le meilleur mais l'impossible de ta TI-84 Plus CE-T Python Edition, malgré un tas / heap de 17K en théorie assez préoccupant.

On peut citer notamment :

Le module de dessin sur écran ti_graphics a l'avantage exclusif à ce jour d'offrir toute une bibliothèque de fonctions de tracé de primitives : segments, rectangles et rectangles pleins, cercles et arcs de cercle, disques et secteurs de disque, ellipses et arcs d'ellipses, ellipses pleines et secteurs d'ellipse, ...

Ici contrairement à d'autres modèles aucun besoin donc de définir des fonctions et ainsi consommer du tas / heap pour le tracé de ces formes élémentaires, une seule ligne d'appel suffira pour une consommation minimale ! :bj:

12719Les choses ne s'arrêtent pas là, Texas Instruments a aussi pensé à tes scripts codant des interfaces graphiques ou jeux vidéo. Aux tailles consommées par les objets Python inclure des définition d'images / sprites dans tes scripts épuiserait très rapidement le tas / heap...

Texas Instruments a donc défini un nouveau format d'image IM8C.

Tes images sont stockées en dehors de tes scripts Python dans la mémoire Flash eZ80 de la calculatrice, ne consomment donc absolument rien sur le tas / heap Python, et sont ensuite affichables d'une simple ligne ! Absolument génial, non ? :bj:


8) Programmes assembleur :

Go to top

La dernière mise à jour d'OS 5.5.1 pour TI-83 Premium CE Edition Python avait supprimé le support des programmes en langage machine dits assembleurs, essentiellement des jeux assemblés ou compilés à partir de code source écrit en langage assembleur ou C. La mise à jour 5.5.1 plaçait ainsi en voie d'extinction une fonctionnalité officielle historique des calculatrices graphiques TI remontant à 1996, et un des principaux arguments de vente des TI-83 Premium CE et TI-84 Plus CE pour les élèves.

Les commandes en question n’étaient plus listées au catalogue, même si il y avait d’autres possibilités pour les saisir. Mais même dans ce cas, toute tentative d’utiliser les commandes en question déclenchait systématiquement une erreur invalide.

Une suppression officiellement pour des raisons de sécurité et donc de mode examen, suite à une bêtise abyssale commise à ce sujet par un enseignant-vidéaste français à la veille de ses vacances le 12 février 2020.

En pratique, cause ou conséquence, Texas Instruments tente de caresser dans le sens du poil certains enseignants ne voyant pas plus loin que le bout de leur nez, en communiquant sur le fait que désormais ses calculatrices privilégient le travail en classe.
C'est faire fi de plusieurs points majeurs :
  • au lycée français il y a de plus en plus de matières traitant spécifiquement des outils numériques (SNT en Seconde, spécialité NSI à compter de la Première...), et les documents ressources de certaines d'entre elles mentionnent clairement la création de jeux
  • un élève "en situation de réussite différée" qui joue sur sa calculatrice en classe, il n'y a franchement pas à s'en inquiéter - contrairement à son smartphone l'environnement est ici sain : pas de pubs, pas d'abonnements, pas de microtransactions
  • au contraire, un tel élève qui joue sur sa calculatrice en classe alors qu'il a un smartphone à portée de main, c'est une chance extraordinaire - la marche pour le faire passer d'utilisateur à créateur est beaucoup moins haute sur calculatrice, il y a donc de quoi le récupérer, l'intéresser et l'amener progressivement vers l’autonomie et la réussite
  • les jeux assembleur diffusés pour TI-83 Premium CE et TI-84 Plus CE sont chez nous quasiment tous accompagnés du code source, et donc librement étudiables et modifiables
D’un point de vue éducatif justement, Texas Instruments ne nous semble pas cette fois-ci être du bon côté de l'Histoire...

Certains sur Cemetech avaient à cette occasion écrit à Texas Instruments, et/ou espéré une possibilité de retour en arrière. C'est bien mal connaître l'entreprise en question, hélas...

Non Texas Intruments ne revient pas en arrière avec la nouvelle version 5.5.5.0011 de la TI-84 Plus CE Python Edition. Le support des programmes assembleur est ainsi désormais placé en voie d'extinction sur les TI-84 Plus CE, les derniers modèles de la gamme Texas Instruments qui en bénéficiaient encore.

Et bien évidemment, impossible d'installer l'ancien OS 5.4.0.0034 pour récupérer ces fonctionnalités. :#non#:


9) Dumping OS :

Go to top

Dumper l'OS 5.5.5.0011 préchargé dans les nouvelles TI-84 Plus CE Python Edition de cette rentrée 2020 n'est désormais pas chose triviale sans pouvoir exécuter le moindre programme assembleur.

La chose nous aura résisté quelque temps mais c'est maintenant chose faite. Nous pouvons même te préciser qu'une fois l'OS 5.5.5.0011 installé sur une TI-84 Plus CE, il inscrit de façon permanente en mémoire Flash dans une zone ne pouvant être réinitialisée par l'utilisateur, un numéro de 5.5.5 en tant que version minimale autorisée sur la machine en question. Il te devient alors impossible d'installer une version inférieure à 5.5.5 sur ta calculatrice. :#non#:

Si tu tiens donc à dégrader définitivement les capacités de ton ancienne TI-84 Plus CE, tu pourras effectuer la mise à jour via les liens en fin d'article.

Précisons toutefois que la méthode de dumping n'a rien de simple, nous avons dû faire transiter via un appareil externe, matériel dont l'utilisateur lambda ne disposera pas.

Rappelons de plus que pour pouvoir émuler une calculatrice il ne suffit pas d'avoir le fichier de de l'OS. Il faut en fait une image ROM complète, c'est-à-dire incluant notamment les deux éléments suivants :
  • le Boot (code d'amorçage)
  • l'OS (système d'exploitation)

Or précisons bien que pour récupérer le Boot 5.5.0.0006, il faudrait pouvoir exécuter de l'assembleur... Certes pour l’émulation de l’OS 5.5.5.0011, on peut toujours utiliser une ancienne version du Boot, ce que nous avons fait ici.

Il n'empêche que l'équipe de développement autour de l'émulateur CEmu a donc de grandes questions à résoudre assez rapidement. Sans réaction de leur part et si les sites communautaires TI continuent à s'interdire (pour raisons légales) de diffuser des images Boot/ROM, l'émulation des TI-83 Premium CE et TI-84 Plus CE va devenir de moins en moins accessibles aux nouveaux utilisateurs qui, contrairement à nous, n'aurons pas d'ancienne version du Boot sous la main.
Un Boot tiers comme dans le temps BootFree pour les anciennes TI-82+/83+/84+ pourrait être une solution avec en prime l’avantage de la pérennité...



Téléchargements :

Re: Test-découverte TI-84 Plus CE-T Python Edition, OS 5.5.5

Unread postPosted: 30 Jul 2020, 10:19
by Hamza.S
Merci pour cette article.
On sort les même conneries sans aucune amélioration en espérant que les utilisateurs fermeront l'œil.

je croyais que sans ASM le dumping était difficile à réaliser ?

Re: Test-découverte TI-84 Plus CE-T Python Edition, OS 5.5.5

Unread postPosted: 30 Jul 2020, 10:27
by critor
Hamza.S wrote:Merci pour cette article.
On sort les même conneries sans aucune amélioration en espérant que les utilisateurs fermeront l'œil.

je croyais que sans ASM le dumping était difficile à réaliser ?


Le dumping ROM complet, avec le Boot donc, et en effet nous ne l'avons pas.
Or sans possibilité de récupérer le Boot et sans évolution, CEmu est donc condamné à plus ou moins brève échéance.

Pour l'OS seul, il y a d'autres méthodes que l'asm. Sinon nous n'aurions pas plein d'OS de prototypes Nspire notamment, alors que Ndless n'est disponible que pour un nombre très restreint de versions d'OS, et bien évidemment jamais pour les OS alors inconnus avec lesquels viennent les prototoypes.