

Nous t'avions déjà présenté et testé différents prototypes de calculatrices
Texas Instruments
. Mais jusqu'à cette année nous n'avions jamais eu ni même vu passer le moindre prototype de
TI-92
, la calculatrice haut de gamme innovante sortie par
Texas Instruments
pour la rentrée 1995.
Grâce à
pour qui nous l'avons acheté, dans une actualité précédente nous te
présentions une formidable découverte, tout premier prototype connu au monde des
TI-92
sorties pour la rentrée 1995 !

Sur la seule photo de face alors présentée par l'annonce,
Frédéric
- œil de lynx
l'a reconnu grâce à la touche de verrouillage avec la main présentant un visuel différent de celui des modèles de production, sans manche ni poignet, comme on pouvait déjà remarquer sur les premiers visuels de la communication de l'époque :
Au moins 3 visuels différents avaient été envisagés par
TI
pour cette touche selon les illustrations qui ont varié dans les communications promotionnelles de l'époque :


Le prototype présente un module
ROM
amovible muni de la version finale
1.12
du
8 Mai 1996
, et utilisant des connecteurs
Zebra
, physiquement incompatibles avec les modèles de production.


Mais contrairement aux premiers modèles de production, ce prototype présentait également une
ROM
interne, pour sa part munie d'une version
0.5d23
jamais vue compilée le
16 Janvier 1995
!

L'urgence pour nous était donc de
dumper
cette version historique pendant que le prototype fonctionnait encore, un véritable trésor pour en apprendre davantage sur l'histoire du développement de la
TI-92
.
Problème, contrairement aux
, les
TI-92
n'ont pas la fonction
Asm()
pour exécuter du code en langage machine.
Il est certes possible de la rajouter avec le
shell
, mais ce dernier utilise des fichiers d'installation spécifiques pour chaque version
TI-92
connue, et n'a donc aucune chance de fonctionner sur la version
0.5d23
ici inconnue jusqu'à cette semaine.
Lorsqu'une
TI-92
présente à la fois une
ROM
interne et le module
ROM
externe amovible, c'est le module externe qui est prioritaire pour l'amorçage.
Et dans cette configuration, le prototype
TI-92
démarre donc sur la version
1.12
sur laquelle on peut installer
Mallard
.



Selon la documentation communautaire, la
ROM
utilisée est
mappée
en mémoire à la fois aux adresses
0x200000
et
0x400000
.
Mais bizarrement ici, l'option
PEEK
de l'écran de diagnostics en version
0.5d23
présentait des valeurs différentes aux adresses
0x200000
et
0x400000
.
Peut-être que la documentation est fausse, peut-être n'a-t-elle vérifié ce qui se passait dans le cas d'une
ROM
interne, configuration qui n'a concerné que les toutes dernières
TI-92
à partir de la version
1.11
, ou peut-être tout simplement que ce prototype se comporte différemment.
Bref, et si on en tentait alors d'amorcer notre prototype sur la
ROM
externe
1.12
, d'y installer
Mallard
puis de
dumper
non pas à l'adresse
0x400000
les
1 Mio
de la version
1.12
dont nous disposons déjà, mais un éventail bien plus large de
4 Mio
à partir de l'adresse
0x200000
?


C'est maintenant fait avec un
TiLP
modifié grâce à l'aide exhaustive de
, et bingo, même quand on amorce sur le module
ROM
externe, la
ROM
interne semble quand même
mappée
en mémoire, plutôt deux fois qu'une d'ailleurs :

0x200000
: ROM
interne 0x300000
: ROM
interne 0x400000
: ROM
externe
La version
0.5d23
s'amorce alors sans problème sur un émulateur
TI-92
compatible comme
!

(pas trop de choix en fait, on trouve beaucoup d'émulateurs de
TI-92 Plus
mais très peu d'émulateurs de
TI-92
, pour la plupart en version bêta ou même alpha très inachevée, pour des systèmes d'exploitation désuets comme
Windows 95
ou même
MS-DOS
, ou encore ne fonctionnant pas correctement avec cette version)
.

Avec cette version
0.5d23
du
16 Janvier 1995
nous sommes donc en gros 6 mois avant le lancement de la
TI-92
. Pour d'autres modèles, il nous est déjà arrivé de trouver des traces de développement logiciel ou matériel allant jusqu'à 1 an avant la sortie.
Comparons avec la version supérieure la plus proche dont nous disposons, la
1.3
du
20 octobre 1995
, soit 9 mois plus tard.
En cherchant bien on arrive à trouver quelques différences dans l'organisation des éléments de l'interface utilisateur, mais en gros l'interface semblait déjà finalisée, quasiment identique à ce que nous avons eu. Depuis combien de
mois années
Texas Instruments
développait-il la
TI-92
?


On peut également trouver quelques renommages, plusieurs des fonctions de
zoom
adoptant pour préfixe
Z
et pas encore
Zoom
.
Quelque chose qui semble bien plus pratique sur la version
0.5d23
, c'est la gestion des erreurs de saisie. Sur les versions de production, tout ce que tu obtiens en cas de saisie incorrecte, c'est une
popup
d'erreur bloquante indiquant la plupart du temps un bête
et à fermer avec la touche
Esc
.
Ici tu obtiens un avertissement non bloquant en bas d'écran t'indiquant exactement ce que le vérificateur syntaxique attendait à la position du curseur, et peux immédiatement corriger !

Pourquoi avoir abandonné ça ?


Comportement similaire si l'on saisit par exemple un nom de variable de plus de 8 caractères.

Jetons un coup d'œil à la boîte à caractères accessible via
2nd
+
. On y trouve déjà de façon évidente un sous-menu
Contrôle
supplémentaire avec plein de caractères ne pouvant être saisis sur les versions de production !


Des différences également dans les autres sous-menu. Dans
Greek
par exemple, manquent les 2 caractères grecs
θ
et
π
car pouvant être saisis au clavier.
Pour le reste, il s'agit de déplacements :
- les caractères
«
et »
étaient bizarrement dans Math
et pas encore dans Punctuation
- les caractères et n'étaient pas encore dans les déclinaisons internationales du
a
et du o
, mais dans Punctuation

Tentons maintenant de comparer les versions en terme de fonctionnalités. On peut par exemple accéder à l'éditeur de programme et vérifier ce qu'il a au menu.
On remarque l'absence de l'onglet
F6
avec les différents paramètres et valeurs de la fonction
setMode()
, ainsi que l'absence des délimiteurs de bloc
Custom
dans l'onglet
F2
.
En pratique toutefois ces différents
tokens (jetons)
semblent bien connus de la version
0.5d23
, ils ne sont juste pas au menu et doivent donc être saisis caractères par caractère.
La caractère
©
servant de préfixe identifiant les commentaires est également absent de ce même onglet ainsi que du catalogue. On peut toutefois le saisir via la boîte à caractères, mais il n'est pas reconnu en tant que tel et génère une erreur de syntaxe.

Dans l'onglet
F3
on note que les boîtes de dialogue construites par les programmes étaient initialement prévues pour comporter des icônes, même si le
token
icon
était non reconnu si saisi à la main.

On y note également que la version
0.5d23
disposait d'une instruction supplémentaire
Show
à utiliser sous la forme
Show "string"
selon le catalogue.
En pratique toutefois
Show
ne marche pas, ce mot n'étant pas reconnu en tant qu'instruction. Peut-être s'agit-il juste d'un ancien nom pour l'instruction
Text
permettant d'afficher une boîte avec un message.
Les fonctions de connectivité du sous-menu
Link
sont ici non exposées, mais bien reconnues si saisies manuellement au clavier.

Nous l'avons déjà évoqué plusieurs fois, alors passons au catalogue accessible via
2nd
2
pour terminer la comparaison.
Plusieurs fonctions sont absentes du catalogue en version
0.5d23
, mais bel et bien reconnues si saisies à la main. On peut citer :
ClrErr
DispG
DispTbl
EndPrgm
DelFold()
getFold()
setFold()

getFold(
semble avoir toutefois un petit problème, acceptant ici anormalement un paramètre optionnel et affichant alors un message d'erreur signalant un
bug
:
"BUG: Illegal data tag"
.

La version
0.5d23
présentait bizarrement 2 fonctions différentes pour retourner les dimensions de variables :
dim()
comme sur les versions de production mais uniquement pour les listes, vecteurs et matrices- et une fonction supplémentaire
length()
dédiée aux seules chaînes de caractères
Les versions de production ont donc réuni par la suite ces deux fonctionnalités sous un seul appel de fonction,
dim()
.

On note également qu'en version
0.5d23
l'instruction
DrawSlp
pour tracer une droite connaissant les coordonnées d'un de ses points et sa pente, s'appellait alors
SlpLine
.

La
TI-92
simplifie automatiquement les résultats littéraux au maximum, ce qui ne permet pas d'obtenir des étapes des calculs contrairement à d'autres modèles.
Peut-être que sur cette version
0.5d23
ça ne marchait pas encore bien dans certains cas, car 2 fonctions explicites de simplification étaient encore présentes :
cExpand()
dans le contexte des nombres imaginaires ou complexessimplify()
dans le seul contexte des nombres réels

Enfin, les fonctions de
zoom
adoptent ici le préfixe
Z
et pas encore
Zoom
comme déjà vu plus haut. À la différence qu'ici ces fonctions ne sont pas fonctionnelles si appelées en l'état,
TI
devait être en plein renommage.
En pratique il faut remplacer le préfixe
Z
par
Zoom
dans la saisie afin que ça marche.

On remarque en passant que l'instruction
ZoomInt
est absente du catalogue en version
0.5d23
.
Elle est bien reconnue si saisie à la main, mais son interface souffre alors d'un bug d'affichage.
Comme déjà dit, il ne nous est pas possible à ce jour de publier l'image
ROM
0.5d23
.
En effet
Texas Instruments
combat farouchement la diffusion d'images
ROM
de ses calculatrices car, contrairement aux images d'OS qui n'ont pas le code amorce, elles sont directement utilisables pour faire fonctionner des émulateurs non officiels, notamment sur smartphones et tablettes, ce qui dans certains pays autorisant ces appareils aux examens évite ainsi d'avoir à s'acheter une calculatrice.
Toutefois, l'image
0.5d23
récupérée est désormais dans les mains des quelques personnes qui ont aidé directement ou indirectement à sa sauvegarde, et qui sauront on espère la conserver en privé en lieu sûr jusqu'à des temps plus propices.