Émulation de calculatrices TI (Texas Instruments ®)
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.)
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.
- Relier la TI à l'ordinateur à l'aide du câble USB (le mien est un SilverLink).
- Vérifier que la TI est allumée.
- Dans un terminal, lancer la commande :
tilp
- 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.
- Dans la partie gauche de tilp, cliquer sur Lister. Les fichiers de la calculatrice s'affichent, en arborescence.
- 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.
- Faire une sauvegarde, nommée backup_datedujour. Un fichier .tig sera créé.
- 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…)
- Fermer tilp.
Tilem
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 :
- .82p et .82g pour ti82
- .83p et 83g pour ti83 ou ti82 stats (qui est une 83)
- .8xp et .8xk pour ti83+ ou ti84+
- .86p et .86g pour ti86
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
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
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 :
- Numérisation en couleur ;
- Type de support : pleine échelle couleur ;
- Résolution : 150 ppi ;
- Gamma : 0.88 ;
- Luminosité et Contraste : 0.0 ;
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…)