Texas Instruments TI 58C/TI 59

English Version
WikipédiA



A gauche la TI-59 avec son lecteur de cartes, à droite la 58C avec le module Master Library.

Caractéristiques TI Compiler Mes programmes

Ma troisième calculatrice programmable, achetée d'occasion autour de 1985. J'avais eu la TI 57, puis la TI 66 avant d'avoir une TI 58C vue déjà comme obsolète par rapport à la déferlante des calculatrices à cristaux liquides qui consommaient peu et ne nécessitaient plus le système à accumulateur et chargeur.

Un vrai ordinateur de poche:
  1. jeu d'instructions complet
  2. 480 pas de programme permanents (le double pour la TI 59)
  3. module ROM de base de 5000 pas interchangeable pour diverses applications
  4. bonne précision mathématique
  5. imprimante disponible avec affichage alphanumérique
  6. un lecteur de carte magnétique pour la TI 59
Avec quelques défauts:
  1. le clavier vieillit mal, on a un effet de rebond
  2. système avec accumulateur et chargeur
L'imprimante PC-100

Voici la TI-59 sur son imprimante thermique: ni cartouche d'encre, ni de stylo à changer.

A droite, le jeu de caractères alphanumériques: enfin des programmes bavards...
Le TI Compiler et son TI Compiler Shell:
Voici le moyen de programmer la TI 59 avec les facilités d'un langage de haut niveau:
  1. des noms de variable au lieu des numéros de registres
  2. des noms d'étiquettes, de flags
  3. des commentaires
  4. adresses calculées lors de la compilation
  5. structures LOOP, WHILE, UNTIL, FOR, IF, ELSE
  6. structures SELECT, CASE, DEFAULT, ENDCASE
  7. goto calculé ON reg { ... }
  8. affectations multiples
  9. notation des tableaux
  10. fonctions d'impression
  11. Macros avec paramètres
Il génère le listing identique à celui de l'imprimante TI avec:
  1. numéros de pas
  2. codes des touches
  3. mnémoniques sur 3 caractères

Il génère les fichiers programmes pour trois émulateurs (voir plus bas):
  • l'émulateur TI-59.EXE pour Windows
  • le TI59ce sur Pocket PC et Smartphone!
  • Le tout nouvel émulateur d'Alain Zanchetta sous Windows
Le TI Compiler Shell, l'interface graphique bilingue est disponible!
Inclus: documentation en Anglais et Français avec programme d'installation sous Windows.



Le Shell avec la fenetre d'édition du programme, celle du listing, la fenêtre MS-DOS du compilateur et l'émulateur Windows TI-59.
TI Compiler est un programme DOS, entièrement écrit en assembleur A86, qui ne nécessite qu'un PC XT sous DOS 3.xxavec 128 Ko de ram. Il intègre des commandes simples de définitions de registres ou de variables, des facilités pour les fonctionsHIR non officielles, des pseudo-opcodes pour remplacer des fonctions peu lisibles (comme OP 2x ou OP 3x remplacées par INC et DEC) etde nombreux messages d'erreurs en clair pour la mise au point.

Vous pouvez télécharger TI Compiler, le fichier contient:
  1. TICOMP.COM: le compilateur 16Ko!
  2. Ticomp.DOC: le manuel détaillé
  3. History.txt: les différentes versions
  4. Ticomp.s: le source assembleur
  5. TISOURCE.TXT: un exemple à compiler
  6. TILIST.TXT et TIEMUL.T59 les deux fichiers générés par l'exemple
Quelques exemples:

Remplacer les numeros de registres et les étiquettes peu parlantes...
  LBL A
  RCL 00
  x²
  STO 01
  RTN
...par des noms de variables et de procédures!
#label A au_carré
#reg 00 valeur
#reg 01 carré

LBL au_carré
    RCL valeur
    x²
    STO carré
RTN
Remplacer des numéros de pas dans les sauts, qu'il faut calculer soi-même...
   RCL 00
   SBR 012
   STO 01
   R/S
   x²
   RTN
...par des noms d'étiquettes calculées automatiquement!
   RCL 00
   SBR routine
   STO 01
   R/S
routine:
   x²
   RTN
Remplacer les tests, les boucles sans structure apparente...
   RCL 00
   x%t
   RCL 01
   x=t 017
   RCL 00
   +
   DSZ 0 008
   0
   =
   R/S
...par des ensembles IF/ENDIF, ou FOR/LOOP clairement définis!
   RCL compteur
   x%t
   RCL reference
   IF(x<>t)
      FOR compteur
         RCL compteur
         +
      LOOP
      0 =
   ENDIF
   R/S
Remplacer une suite peu lisible...
   RCL 00
   +
   RCL 01
   =
   STO 02
   1 0 0 0
   SUM 00
   SUM 01
...par des unités logiques visibles, avec affectation, somme ou produit multiple:
   #reg 2 somme
   #reg 0 x
   #reg 1 y

   somme={ @x + @y = }
   x,y+{ $1000 }
Remplacer des adressages indirects dans des zones non clairement définies...
   4 STO 00
   9 STO 05
   RC* 00 x%t
   RC* 05
   INV x=t 022
   OP 35
   DSZ 00 006
   R/S
   ...
...par une notation sous forme de tableau!
   #ARRAY tab_1 1 4
   #ARRAY tab_2 6 9
   #reg 00 I
   #reg 05 J
   
   I={ TOP tab_1 }
   J={ TOP tab_2 }
   FOR I
      @tab_1(I) x%t
      @tab_2(J)
   WHILE(x=t) difference
      DEC J
   WEND
   R/S
 difference: ...
Remplacer les codes et opérations d'impression...
   6413351713
   OP 04
   1 0 x² * Pi =
   OP 06
...par du texte et des ordres clairs!
   "=area line>>
   $10 x² * Pi =
   MixLine   ; this prints
   ; 314,1592654 =area
TI Compiler génère le listing complet pour programmer votre calculatrice...
000 76 LBL
001 10  E'
002 43 RCL
003 12 12 
004 85  + 
005 89 Pi 
006 95  = 
007 45 y^x
008 05  5 
009 95  = 
010 22 INV
011 59 Int
012 42 STO
013 12 12
...
... mais aussi le fichier directement utilisable sous l'émulateur TI-59.EXE pour un test rapide et une mise au point immédiate. (Ce fichier s'appelle TIEMUL.T59 par défaut, nom réglable avec la commande #EMULATOR)
Lien avec l'émulateur sur Pocket PC

TI59ce est un second émulateur géré par TI Compiler. Il tourne sur Pocket PC et SmartPhone et est toujours supporté par son auteur Alain Zanchetta.Le précédent émulateur souffre de quelques rares bugs mais qui ne seront jamais corrigés... Essayez par exemple ceci avec TI-59.EXE:
8888888888 2nd INT
On devrait logiquement obtenir
8888888888
Mais il renvoie
298954296.0
Ce bug n'existe pas dans TI59ce qui est donc recommandée d'autant que son auteur est toujours actif.

Sous Windows XP, j'utilise l'émulateur de PocketPC "Device Emulator" fourni par Microsoft pour faire tourner cet émulateur de TI59... (Pour l'installationde Device Emulator, contactez moi!).
Le fichier généré s'appelle TIPPC.TI par défaut (réglable avec la commande #POCKETPC) et est chargeable par l'émulateur par INV 2ND WRITE:
Le tout nouvel émulateur d'Alain Zanchetta pour Windows.

Basé sur son travail pour le PocketPC, voici son adaptation sur PC.
Le format des des nombres a été entièrement remanié pour s'adapter à la précision de 13 chiffres décimaux afin d'émuler au mieux le comportement de la calculatrice.

Cet emulateur est doublé d'un debugger avec visualisation des registres et gestion de points d'arrêts!

Remarquable travail que vous pouvez télécharger ici.

Le fichier généré par TI Compiler s'appelle TIWIN.TI par défaut (réglable avec la commande #AZEMULATOR) et est chargeable par l'émulateur par INV 2ND WRITE.


L'émulateur de Pierre Houbert sous Windows.

Tout nouveau, en plein développement, voici un émulateur très prometteur! Il dispose d'une documentation précise et complète en français au format PDF.

En plus d'émuler la TI-58/59 avec son bloc imprimante PC100, il étend les codes OPnn avec les possibilités suivantes:

L'affichage alphanumérique à l'écran



L'affichage de 5 courbes simulatnées avec 100 pixels de précision



La gestion des étiquettes de saut numériques mises à jour lors de l'effacement ou l'insertion d'un pas



Et beaucoup d'autres options également..!!

L'émulateur en mode TRACE avec affichage des registres et du listing

La page de Pierre Houbert pour les téléchargements, c'est ici!

Programmes de Dave Ramey Merci!

Voici un utilisateur actif du TI-Shell!
(13 avril 2010: corrections des fichiers PRJ)
Téléchargez TI59PROGS, un ensemble de programmes avec source et documentation envoyés par Dave Ramey, certains écrits par lui même,d'autres inspirés de magazines. On y trouve:Les nouveaux programmes depuis la mise à jour (avec fichier projet pour le TI Shell):Autre gros travail de Dave, voici les sources de la librairie Maths Utilities que vous pouvez utiliser,consulter ou modifier à votre guise:

Maths Utilities

Utilisation des modules

Encore une contribution de Dave Ramey! L'émulateur d'Alain Zanchetta permet maintenant le chargementde modules et son débugger affiche le contenu des registres HIR. Dave a donc fourni les sources des différentsmodules avec leur version utilisables par l'émulateur:Chaque ZIP contient les sources et le fichier *.MOD à charger dans l'émulateur.Victor Toth vous offre en ligne les manuels de ces modules ici!


Mes programmes:

Chaque archive ZIP contient les éléments suivants:
*.LST
Le programme avec numéros de pas et codes
*.T59
Le programme chargeable par l'émulateur TI59.EXE de Miroslav Nemecek
*.ENG
Fichier d'aide en anglais pour l'émulateur, à renommer *.TXT
*.FRA
Le même en français
*.DOC
Informations générales sur le programme anglais et français
TISOURCE.TXT
le nouveau source pour TI Compiler
Contient une version utilisant l'imprimante PC100
Titre
Genre
Bon exemple pour...
Description
ALEATEST Maths .
Permet de tester votre générateur aléatoire, répartition dans 10 tranches, moyenne, écart type. Ci-contre, le résultat pour le générateur x'=frac(1/x). Mal équilibré, les premières tranches (de 0,0 à 0,4) sont chargées et les dernières (de 0,5 à 0,9) peut atteintes.
MASTMIND Jeu de réflexion #ARRAY, #MACRO
Jeu de Master Mind, combinaison de 4 chiffres de 1 à 7 avec répétitions. Un classique. Ci-contre une partie avec la version imprimante.
INTEGDBL Maths . Calcul d'intégrales doubles.
GAUSS_5 Maths #DATA Calcul d'intégrales avec la méthode de Gauss à 5 points, très efficace!
NEWTON Maths . Résout les équations du type f(x)=0.
SYSNOLIN Maths #ORG Résout les systèmes d'équations non linéaires du type
( f(x,y)=0
( g(x,y)=0
FRACTION Maths . Calculateur RPN pour fractions, simplifications, PGCD, PPCM, approximation d'un réel.
STATS Maths #PGM, #ARRAY Regression a deux variables jusqu'à Y=a.F(x,t)+b avec optimisation de t.
SOLEIL Astronomie .
heure du lever, coucher du soleil, passage au méridien, durée du jour, phases de la Lune
à toute date et de tout lieu sur Terre. Ci-contre, état de la lune le 10 sept 2009. Signe "-" donc lune décroissante, éclairée à gauche à 60% (partie 333333) et sombre à droite à 40% (partie décimale 1111).
MAXIMUM Maths . Cherche le maximum (ou minimum) local d'une fonction.
Grandes Sommes Maths . Optimise la somme d'un grand nombre de termes (à tester, efficacité relative...)
EARTHDIST Géographie . Distances sur Terre (ou autre sphère), distance en ligne, décalage horaire.
Bataille de Chars Jeu de stratégie VAL Combat contre la calculatrice, détruisez son char avant qu'elle ne vous détruise!
LASER Jeu de réflexion #ARRAY, SELECT, #ASK, printing Devinez la position des mirroirs dans la grille à l'aide de votre laser!


Depuis le 15 décembre 2007