Il existe deux catégories de programmes pour nos calculatrices graphiques:
- les programmes interprétés utilisant un langage propre au logiciel de la machine (Basic, Lua...)
- les programmes assembleur qui utilisent directement le langage machine pour des performances et possibilités incomparables
Ces mêmes programmes assembleurs se répartissent eux-même en deux groupes:
- les programmes stub
- les programmes nostub
Tentons de comprendre un peu tout cela...
Déjà, connaissez-vous la différence entre shell et kernel?
Les premières calculatrices Texas Instruments à partir de 1990 n'offraient d'origine aucune possibilité d'exécuter des programmes assembleurs. On peut citer les TI-81, TI-82
(grises), TI-85, TI-80, TI-92 et TI-92II. Sans doute l'idée n'avait-elle même pas été évoquée à l'époque. Il est possible sur ces calculatrices de rajouter la possibilité d'exécuter des programmes assembleur en installant ce que l'on appelle alors un
kernel. Ces kernels développés par la communauté nécessitent des méthodes d'installation très variées, que l'on pourra parfois qualifier d'assez originales.
Par la suite, Texas Instruments a du se dire devant nos exploits que l'assembleur n'était finalement pas une mauvaise idée, et en a permis officiellement l'usage dans ses modèles ultérieurs. On peut citer les TI-82 Stats, TI-83, TI-84, TI-86, TI-89, TI-92 Plus et TI-Voyage 200. Mais les commandes officielles permettant de lancer les programmes assembleur souffraient parfois de quelques restrictions ou contraintes. La communauté a alors développé ce que l'on appelle des
shells. Ces shells permettent d'exécuter les programmes assembleur sans contrainte.
(notons toutefois en passant, que suite à un revirement total de politique les TI-Nspire rentrent paradoxalement dans la première catégorie)Pour résumé, shells et kernels servent donc au final à la même chose: permettre l'exécution de programmes assembleur qui ne marcheraient pas autrement. La nuance est donc que l'on qualifie de kernel un programme qui ouvre à l'assembleur une machine qui initialement ne le supportait pas, et de shell un programme qui étend les capacités assembleur déjà existantes d'une machine.
Et voilà où nous arrivons:
- est qualifié de stub un programme assembleur dont l'exécution nécessite l'usage d'un shell ou kernel
- est qualifié de nostub un programme assembleur qui est exécutable de façon indépendante
Ce soir, nous continuons de repousser les limites de l'émulation en ligne des TI-89, TI-92 Plus et TI-Voyage 200.
Après les programmes nostub, l'émulateur en ligne intégré à TI-Planet gère enfin les programmes stub!
Il détecte lorsqu'un programme nécessite un shell et le précharge automatiquement avec le programme.
(notez le support des niveaux de gris! ) Le shell utilisé ici, est PreOS. Notons par contre que pour le moment la procédure d'installation de PreOS elle, n'est pas automatisée. Avant de tester votre programme stub dans notre émulateur en ligne, vous devrez donc installer PreOS en:
- archivant preos et stdlib
- lançant preos
A bientôt!