Calculatrice Titane TI-89 et programmation C

Il n'y a pas si longtemps, il y avait un article sur Habré à propos de la calculatrice graphique TI-83, et comme je suis propriétaire de TI-89 Titanium, la calculatrice de nouvelle génération de Texas Instruments, j'ai décidé d'en parler sous le chat et de montrer comment vous pouvez créer la vôtre pour cette calculatrice. propres programmes en C.

Contrairement à la TI-83, qui est basée sur le microprocesseur z80 8 bits, la TI-89 Titanium est créée à l'aide du Motorola 68000 32 bits:

image

De plus, la TI-89 Titanium a un certain nombre d'autres améliorations. Ici, je vais donner ses brèves caractéristiques:

Processeur - 12 MHz MC68000, écran - monochrome, 160x100 pixels, 256 Ko de RAM (188 Ko disponibles pour l'utilisateur), 4 Mo de ROM Flash (environ 2,7 Mo disponibles pour l'utilisateur), E / S standard (jamais utilisées), Mini port USB (utilisé pour l'échange) avec un ordinateur conventionnel):

image

Il est alimenté par quatre piles AAA (je dois dire qu'il consomme beaucoup, donc avec une utilisation intensive de la batterie, vous devez la changer assez souvent). Il existe également une batterie supplémentaire qui enregistre les paramètres lors du remplacement des batteries principales:

image

Il existe de nombreuses ressources sur Internet consacrées aux calculatrices TI et, en particulier, la TI-89 Titanium. Un exemple est www.ticalc.org . Sur cette ressource, vous pouvez trouver un grand nombre de descriptions, programmes et codes sources différents pour cette calculatrice TI et d'autres, par exemple, les jouets.

En fait, cette calculatrice est destinée aux calculs mathématiques et contient CAS (système d'algèbre informatique), qui vous permet d'effectuer non seulement des calculs numériques, mais aussi des calculs sous forme symbolique:

image

Mais nous voulons savoir comment créer nos propres programmes en C. Pour cela, il existe un compilateur tigcc (http://tigcc.ticalc.org) créé à partir de gcc. Malheureusement, ce projet n'a pas été mis à jour depuis longtemps, mais, néanmoins, le compilateur fonctionne. Téléchargez-le et installez-le sur votre poste de travail sous Linux. Après cela, nous compilons avec elle une application console simple comme "Hello world!" et nous obtenons le fichier avec l'extension 89z. Ceci est notre fichier exécutable.

La prochaine étape consiste à télécharger notre programme sur la calculatrice. Pour ce faire, installez l'application tilp en exécutant "sudo apt install tilp2", connectez le câble USB et exécutez tilp. Ensuite, sélectionnez les fichiers que vous souhaitez télécharger (par exemple, notre programme) et démarrez le processus de téléchargement. Dès qu'un ou plusieurs fichiers sont téléchargés sur la calculatrice, vous pouvez voir leur liste en appuyant sur 2nd + VAR-LINK. Pour exécuter le programme téléchargé, vous devez accéder à la calculatrice dans HOME, où les calculs habituels sont effectués et taper le nom du programme, et mettre des parenthèses derrière, c'est-à-dire simplement appeler le programme en tant que fonction sans arguments.

Les programmes de console ordinaires ne sont pas si intéressants, il existe donc des fonctions pour afficher diverses primitives à l'écran, lire les entrées à partir des touches, etc. Comme l'une des applications interactives, j'ai adapté mon programme pour jouer à l'envers. Cela ressemble à ceci:

image

Les sources de ce programme peuvent être téléchargées sur mon site ici .

Il convient de noter que, malheureusement, tigcc n'est pas en mesure d'optimiser correctement le code, de sorte que les programmes ne sont pas les plus rapides. Cela peut être corrigé si vous écrivez dans l'assembleur, et en même temps, comprenez comment le Motorola 68000 a un meilleur système de commande que x86. De nombreux exemples de programmes d'assemblage peuvent être téléchargés à partir de ticalc.org.

Et enfin et surtout. Si vous ne disposez pas d'une telle calculatrice, vous pouvez toujours jouer avec. Pour ce faire, vous devez installer l'émulateur "sudo apt install tiemu", qui ressemble et fonctionne exactement comme son frère de fer:

image

Source: https://habr.com/ru/post/fr449764/


All Articles