====== É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 [[http://jm2l.linux-azur.org/users/thibault-duponchelle|Thibault Duponchelle]], l'auteur de [[http://lpg.ticalc.org/prj_tilem/index.html|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 à [[:tilp|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 **[[apt>tilp2,gfm,tiemu,tiemu-skinedit,subversion,libsvn1,libgtk2.0-dev,libglib2.0-dev,libticalcs2-7,libticalcs-dev | 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 **[[:tilp|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.
- 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 =====
É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 :
* .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 =====
É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|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 [[:gimp|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 :**
* [[http://education.ti.com/calculators/downloads/FRANCE/|Education.TI.com]]
* [[http://tiplanet.org/forum/portal.php|TIPlanet.org]]
* [[http://www.yaronet.com/forum.php?s=493|Yaronet.com (forum sur les TI à base de Z80, émulées par Tilem)]]
* [[http://www.tigen.org|TIgen.org]] et sa [[http://www.tigen.org/index.php?module=faq&page=cat&id=5|FAQ sur VTI]]
* [[http://www.ti83plus.online.fr|TI83Plus]]
* [[http://tout82.free.fr|Tout82]]
* [[http://espace-ti.forumactif.com/|Espace TI]]
* [[http://tiemulation.kegtux.org/|TI Emulation, un site qui parle des émulateurs et propose des roms]]
**En Anglais :**
* [[http://www.ticalc.org/|TIcalc]]
* [[http://www.omnimaga.org/|Omnimaga]]
* [[http://www.unitedti.org/|UnitedTI]]
* [[http://www.tifreakware.net/|TIFreakware]]
* [[http://maxcoderz.org/|maxcoderz]]
* [[http://cemetech.net/|cemetech]]
----
Contributeur principal : [[utilisateurs:claudiux]]