Table des matières

Émulation de calculatrices TI (Texas Instruments ®)

Professeur de Mathématiques, je veux pouvoir montrer à tous mes élèves comment manipuler une calculatrice de marque Texas Instruments ®. L'idéal étant de pouvoir la vidéo-projeter et l'utiliser en «direct-live». La solution que j'ai trouvée la meilleure est d'utiliser, sur mon ordinateur portable, un émulateur de calculatrice.

Matériel nécessaire

Une calculatrice TI munie d'un câble USB (habituellement livré avec la calculatrice) permettant de la relier à l'ordinateur. Les modèles dont je dispose sont une TI-83 Plus.fr et une TI-89.

Éventuellement un scanner (et une feuille blanche format A4), si vous désirez créer un skin représentant fidèlement votre calculatrice, à une taille compatible avec votre écran ou votre vidéo-projecteur. (Je n'ai pas trouvé sur Internet de skin représentant ma TI-83 Plus.fr.)

Depuis Thibault Duponchelle, l'auteur de Tilem, y a intégré le skin de la TI-83 Plus.fr que j'ai créé comme indiqué dans cette page. Ce skin s'appelle ti83pfr.skn.

Il y a également intégré un superbe skin nommé ti83pfr2.skn, dessiné avec grand art par mon ami Olivier J.

Un grand merci à Thibault pour son fabuleux travail.

Logiciels et bibliothèques nécessaires

tilp2 : permet la communication et le transfert de fichiers entre l'ordinateur et la calculatrice. Pour plus de précision, voir la page consacrée à tilp2.

gfm : un gestionnaire permettant d'ouvrir de créer ou d'éditer les fichiers de type "tigroup", ou groupes de fichiers en provenance d'une TI (excellent pour des sauvegardes ou transferts de fichiers).

tiemu-skinedit : un éditeur de skin simple d'utilisation ; fonctionne pour tiemu comme pour tilem décrits ci-après.

tiemu : un émulateur de calculatrices TI-89, TI-92, TI-92+, TI voyage 200 (v200) qui sont à base de µ-processeur motorola 68000.

tilem (TI Linux EMulator) : un émulateur de calculatrices TI-73, TI-76.fr, TI-81, TI-82, TI-82 Stats, TI-83, TI-83+, TI-84+, TI-85, TI-86 qui sont à base de µ-processeur Z80. Contrairement aux autres logiciels nécessaires, tilem n'est pas installable en un clic ; il nécessite le téléchargement et la compilation de son code-source. Pas d'affolement, tout est expliqué ci-après.

Le code source de tilem est hébergé sur sourceforge.net. Pour télécharger la dernière version (en cours de développement), il est préférable d'installer SubVersion.

Certaines bibliothèques (libraries) de développement sont nécessaires à la compilation : libgtk2.0-dev et libglib2.0-dev.

Pour installer tous ces logiciels et bibliothèques, soit vous cliquez ici pour bénéficier de la transparence de la logithèque Ubuntu, soit vous employez la méthode Geek :

sudo apt-get install tilp2 gfm tiemu tiemu-skinedit subversion libsvn1 libgtk2.0-dev libglib2.0-dev libticalcs2-* libticalcs-dev

Liaison TI / ordinateur par câble USB

Une fois la TI reliée à l'ordinateur par le câble USB et allumée, faisons en sorte que les utilisateurs (et pas uniquement root) puissent communiquer avec la calculatrice.

Identification du périphérique USB

La commande :

lsusb

retourne :

[...]
Bus 001 Device 004: ID 0451:e001 Texas Instruments, Inc. GraphLink
[...]

Ce qui importe ici est la paire d'IDentifiants : 0451:e001. Le premier, ici 0451, est l'identifiant du fournisseur ; le second, ici e001, est l'identifiant du produit.

udev et permission

Créer un périphérique géré par udev, avec les identifiants précédemment relevés, et donner les droits sur le périphérique aux membres du groupe plugdev :

echo 'BUS=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="e001", SYMLINK+="ticable", GROUP="plugdev"' | sudo tee /etc/udev/rules.d/10-ticable.rules

Vérifier que vous faites bien partie du groupe plugdev. La commande suivante doit retourner une ligne contenant le nom plugdev :

groups

Sinon (vous n'auriez pas eu des problèmes de connexion de périphériques USB, par hasard ?), il faut vous inscrire dans ce groupe :

sudo adduser $USER plugdev

Relancer enfin le service udev :

sudo service udev restart

Récupération de la ROM de la TI

La ROM de la TI, c'est la mémoire qui contient toutes les instructions qu'elle connait. Cette ROM est donc le cerveau de la calculatrice. On va d'abord la copier dans l'ordinateur, pour pouvoir ensuite l'utiliser avec tilem.

Pour copier la ROM de la TI dans l'ordinateur, on utilise tilp2, avec les droits root (pour un accès complet au matériel), et le câble USB de la calculatrice.

Tiemu propose "pedRom" (de Patrick Pelissier) qui est une implémentation libre, mais même si pedrom est très puissant au niveau des fonctions mathématiques, il y a de sensibles différences avec les ROMs contenues dans les calculatrices.
  1. Relier la TI à l'ordinateur à l'aide du câble USB (le mien est un SilverLink).
  2. Vérifier que la TI est allumée.
  3. Dans un terminal, lancer la commande :
    tilp
  4. Dans la partie gauche de tilp (sous Fichiers de la calculatrice) effectuer un clic-droit et choisir Paramètres. Essayer de lancer une détection de la TI à l'aide de l'icone "loupe" ; attention, parfois le résultat ne s'affiche pas dans la fenêtre, mais dans le terminal ! Préciser la configuration (menu Calc) et cocher la case "USB scan at startup". Valider.
  5. Dans la partie gauche de tilp, cliquer sur Lister. Les fichiers de la calculatrice s'affichent, en arborescence.
  6. Dans la partie droite de tilp, le dossier actuel est le dossier /root (tilp a été lancé avec sudo). Il vaut mieux se rendre dans son dossier personnel, et y créer un nouveau dossier nommé TIxx (du modèle de la calculatrice), puis se rendre dans ce dossier.
  7. Faire une sauvegarde, nommée backup_datedujour. Un fichier .tig sera créé.
  8. Double-clic, dans la partie gauche, sur Système d'exploitation. Un message vous avertit que vous n'êtes pas autorisé à copier ou distribuer la ROM. Mais la loi française (si vous en dépendez) autorise une copie de sauvegarde… Fermer l'avertissement. Un second s'affiche, annonçant qu'un programme en assembleur va être envoyé à la calculatrice (pour récupérer la ROM). Suivant. Le transfert prend quelques minutes, à environ 16 KB/s. Ne rien débrancher ni éteindre durant le transfert ! Sauvegarder au nom de RomTIxx. Un fichier .rom est créé, que l'on ne voit dans l'interface qu'en demandant l'affichage de tous les fichiers (clic-droit, options…)
  9. Fermer tilp.

Tilem

Émulateur de calculatrices TI-73, TI-76.fr, TI-81, TI-82, TI-82 Stats, TI-83, TI-83+, TI-84+, TI-85, TI-86 qui sont à base de µ-processeur Z80.

Obtention du code-source

Dans un terminal :

mkdir SVN
cd SVN
svn co https://tilem.svn.sourceforge.net/svnroot/tilem/trunk tilem
cd tilem

Compilation

Toujours dans le même terminal :

./configure
make
sudo make install

Premier test de Tilem

Dans un terminal :

tilem2

Ou alors encore plus simple : il suffit de cliquer sur l'icône de TilEm2 (ou sur l'entrée du menu dans le lanceur d'ubuntu).

Faire un clic droit sur la fenêtre qui s'ouvre et choisir "Load skin…" ; les noms des skins sont explicites.

Nouveau clic-droit et choisir "Open calculator…" ; choisir le fichier RomTIxx.rom précédemment récupéré.

Pour envoyer un programme (récupéré sur une autre calculatrice, ou sur internet) sur votre TI virtuelle : clic droit puis "Send file…"

Pour ne pas avoir à recommencer tout cela lors de la prochaine utilisation : clic droit puis "Save calculator". L'état de la TI est enregistré ; il sera récupéré lors de la prochaine utilisation de Tilem, ce qui est très appréciable !

Lorsque vous cliquez sur un fichier reconnu comme étant un programme de calculatrice, TilEm2 se lance et essaie de l'ouvrir avec la bonne rom si possible. Pour information, les extensions des programmes les plus répandues sont :

Certains programmes sont compatibles avec un modèle qui n'est pas celui qu'il vise (on pourra lancer un programme basic 83p sur une ti84+ généralement mais rarement l'inverse).

Tiemu

Émulateur de calculatrices TI-89, TI-92, TI-92+, qui sont à base de µ-processeur motorola 68000.

Dans un terminal :

tiemu

Il est demandé de choisir une Rom ; choisir le fichier RomTIxx.rom précédemment récupéré.

Votre TI virtuelle est opérationnelle. Le clic droit permet également de la gérer.

Créer et utiliser un nouveau skin avec SkinEdit

Scan de la calculatrice

Il est aussi possible de prendre sa TI en photo. Attention aux ombres trop prononcées et au flou.

Scanner, à l'aide de xsane, la calculatrice (qui peut être entourée par une feuille de papier blanc découpée, pour faire masque car il est impossible de fermer le capot du scanner).

Réglages suggérés :

Enregistrer l'image obtenue au format .jpg. La retravailler avec The Gimp, au moins pour lui donner une taille convenable (900 pixels de hauteur, tout en conservant les proportions).

SkinEdit

Dans un terminal :

skinedit

Dans le menu Files choisir Nouveau (heu… la francisation est pour le moins incomplète !) et sélectionner l'image au format .jpg de la TI.

Dans la fenêtre Properties qui apparait, indiquer le titre (Title), par exemple TI-83 Plus.fr, et dans la ligne Auteur (Author) indiquer son nom et son e-mail ; sélectionner le type de calculatrice, par exemple TI-83+ ; laisser le réglage du LCD à : peu de contraste (Low contrast). Valider.

Dans la fenêtre principale de Skinedit, cliquer sur le bouton LCD qui sert à délimiter sur l'image la zone de l'écran de la calculatrice. Cliquer sur le coin supérieur gauche de l'écran LCD et maintenir enfoncé le bouton gauche de la souris (drag) jusqu'au coin inférieur droit de l'écran LCD. Relâcher le bouton gauche et finir par un clic droit sur l'écran LCD.

Enfin le bouton Keys sert à désigner, de la même manière, chaque bouton de la calculatrice. C'est un peu fastidieux, mais la qualité du skin en dépend. Prendre garde à sélectionner des zones suffisamment grandes pour être confortables, mais ne se chevauchant pas.

Vérifiez que toutes les touches sont bien définies avant d'enregistrer le skin (menu File ; Enregistrer).

Le skin est utilisable dans Tilem (clic droit ; Load skin…)

Il est également possible d'utiliser Skinedit pour convertir des skins initialement prévus pour VTI (pour Virtual TI, logiciel sous Windows) en skins pour Tilem/Tiemu. À vos moteurs de recherche !

Liens

En français :

En Anglais :


Contributeur principal : claudiux