Ceci est une ancienne révision du document !
CEmu - Émulateur de calculatrices TI 83 Premium CE et TI 84 Plus CE
Texas Instrument commercialise des calculatrices, parmi lesquelles les TI-83 Premium CE et TI-84 Plus CE, mais ne propose pas, à ce jour (27/02/2017), d'émulateur de ces calculatrices pour Linux.
Heureusement, le projet libre CEmu existe ! Il est présenté ici par son initiateur MateoConLechuga. Ce projet est actif et en constante évolution ; il est suffisamment avancé pour pouvoir utiliser cet émulateur en classe, par un professeur qui veut montrer à ses élèves comment utiliser une de ces calculatrices.
Nous allons voir comment :
- compiler et installer CEmu sur un ordinateur tournant sous LinuxMint 18.1 ou Ubuntu Xenial ;
- récupérer, grâce à Tilp, l'image de la ROM de notre calculatrice ;
- utiliser cette image ROM pour émuler la calculatrice dans CEmu.
Pré-requis
Disposer :
- d'une calculatrice TI-83 Premium CE ou TI-84 Plus CE et de son câble USB/micro-USB ;
- d'un ordinateur tournant sous LinuxMint ou Ubuntu ou toute autre distribution à base de Debian.
Compiler CEmu
Tout ceci se fait sous Linuxmint ou Ubuntu.
Télécharger les sources de CEmu
Les sources de CEmu sont dans un dépôt GitHub : https://github.com/MateoConLechuga/CEmu. Pour les récupérer aisément, il suffit d'installer le paquet git :
sudo apt-get install git
puis de l'utiliser pour obtenir les sources :
cd git clone https://github.com/MateoConLechuga/CEmu
Le code source de CEmu est alors dans le dossier CEmu situé à la racine de votre dossier personnel (~/CEmu
).
Paquets nécessaires à la compilation
Installer les paquets qt5-default et g++ :
sudo apt-get install qt5-default g++
Qt 5.6.2 /opt pour Xenial
La version de Qt que l'on peut installer dans une Ubuntu Xenial par les dépôts officiels est trop ancienne pour pouvoir compiler CEmu. On va donc utiliser le PPA qui se trouve à l'adresse : https://launchpad.net/~beineri/+archive/ubuntu/opt-qt562-xenial pour installer la version Qt 5.6.2 /opt pour Xenial.
sudo add-apt-repository ppa:beineri/opt-qt562-xenial sudo apt-get update sudo apt-get install qt-latest
Cette installation prend quelques minutes.
Enfin, on compile CEmu
cd ~/CEmu/gui/qt /opt/qt56/bin/qmake -r CEmu.pro make
Après la compilation (qui peut se terminer par quelques warning sans conséquence), l'exécutable CEmu est situé dans ~/CEmu/gui/qt
; on peut le copier dans un autre dossier, si l'on préfère. Par exemple :
mkdir -p ~/bin cp ~/CEmu/gui/qt/CEmu ~/bin/
Récupération de la ROM avec Tilp
Tilp (plus précisément Tilp2) est un logiciel permettant d'échanger des fichiers entre l'ordinateur et la calculatrice, et surtout de récupérer la ROM de celle-ci, par l'intermédiaire du câble USB/mini-USB.
Cependant, les versions de Tilp2 (et ses bibliothèques) présentes dans les dépôts des différentes distributions n'est pas suffisante, à ce jour, pour communiquer pleinement avec les derniers modèles des calculatrices TI ; elles sont de plus incapables de récupérer correctement la ROM de la calculatrice.
Heureusement Romain Liévain, l'auteur de Tilp2, et son équipe ont mis au point un script qui permet d'installer les toutes dernières versions de Tilp2 et des bibliothèques qui lui sont nécessaires.
Voici ce qu'il faut faire, pas à pas.
Récupérer le script install_tilp.sh
Vérifier que l'on dispose bien de wget, qui permet de télécharger des fichiers sur le web, sans passer par un navigateur :
sudo apt-get update sudo apt-get install wget
Ensuite, récupérer le script, le stocker dans le dossier tilp2 de votre répertoire personnel et le rendre exécutable :
mkdir ~/tilp2 cd ~/tilp2 wget http://lpg.ticalc.org/prj_tilp/download/install_tilp.sh chmod +x install_tilp.sh
Nettoyage
Il est nécessaire de nettoyer l'ordinateur de tout paquet et fichier de configuration relatif à une éventuelle ancienne installation de tilp2 ou de ses bibliothèques :
sudo apt-get remove --purge libticonv* libtifiles* libticables* libticalcs* gfm tilp2 sudo apt-get autoremove sudo find /usr/lib -iname "*ticonv*" -exec rm -irf {} \; sudo find /usr/local/lib -iname "*ticonv*" -exec rm -irf {} \; sudo find /usr/lib -iname "*ticable*" -exec rm -irf {} \; sudo find /usr/local/lib -iname "*ticable*" -exec rm -irf {} \; sudo find /usr/lib -iname "*ticalcs*" -exec rm -irf {} \; sudo find /usr/local/lib -iname "*ticalcs*" -exec rm -irf {} \; sudo find /usr/lib -iname "*tifiles*" -exec rm -irf {} \; sudo find /usr/local/lib -iname "*tifiles*" -exec rm -irf {} \; sudo rm -rf ~/lpg
Préparation
Installer les paquets nécessaires à la compilation de tilp2 et des ses bibliothèques (oui, c'est une seule ligne !) :
sudo apt-get install build-essential git autoconf automake autopoint libtool libtool-bin libglib2.0-dev zlib1g-dev libusb-1.0-0-dev libgtk2.0-dev libglade2-dev gettext bison flex groff texinfo xdg-utils libarchive-dev intltool
Créer un dossier et un lien symbolique nécessaires lors de la compilation :
sudo mkdir -p /usr/include/tilp2 cd /usr/local/include/ sudo ln -s ../../include/tilp2
Installer Tilp
On lance le script, en demandant de récupérer la dernière version de tilp2 et de ses bibliothèques (c'est le rôle du USE_EXPERIMENTAL=1
qui débute la seconde ligne) :
cd ~/tilp2 USE_EXPERIMENTAL=1 sudo ./install_tilp.sh
La compilation débute dès la fin de la récupération des fichiers ; on a le temps d'une petite pause.
Accès à la calculatrice en utilisateur
Si on laissait les choses en l'état, seul le super-utilisateur (root) aurait accès à la calculatrice par le port usb, et serait donc le seul autorisé à utiliser Tilp (par sudo).
Pour permettre à tout utilisateur de l'ordinateur d'utiliser Tilp, il suffit de copier dans le fichier etc/udev/rules.d/69-libticables.rules (sudo nano /etc/udev/rules.d/69-libticables.rules) les lignes suivantes :
<code>
ACTION!=“add”, GOTO=“libticables_end”
# serial device (assume TI calculator)
KERNEL==“ttyS[0-3]”, ENV{ID_PDA}=“1”
# parallel device (assume TI calculator)
SUBSYSTEM==“ppdev”, ENV{ID_PDA}=“1”
# SilverLink
SUBSYSTEM==“usb”, ATTR{idVendor}==“0451”, ATTR{idProduct}==“e001”, ENV{ID_PDA}=“1”
# TI-84+ DirectLink
SUBSYSTEM==“usb”, ATTR{idVendor}==“0451”, ATTR{idProduct}==“e003”, ENV{ID_PDA}=“1”
# TI-89 Titanium DirectLink
SUBSYSTEM==“usb”, ATTR{idVendor}==“0451”, ATTR{idProduct}==“e004”, ENV{ID_PDA}=“1”
# TI-84+ SE DirectLink
SUBSYSTEM==“usb”, ATTR{idVendor}==“0451”, ATTR{idProduct}==“e008”, ENV{ID_PDA}=“1”
# TI-Nspire DirectLink
SUBSYSTEM==“usb”, ATTR{idVendor}==“0451”, ATTR{idProduct}==“e012”, ENV{ID_PDA}=“1”
LABEL=“libticables_end”
</code>
Fermez l'éditeur nano avec Ctrl-X (répondez par l'affirmative).
Puis :
sudo service udev restart
Brancher ensuite la calculatrice. Si elle était déjà branchée, débranchez puis rebranchez-la.
==== Récupérer la ROM ====
Brancher la calculatrice TI-83 Premium CE à l'ordinateur par l'intermédiaire du câble USB/mini-USB fourni avec la calculatrice.
<note tip>Bien enfoncer le câble dans la calculatrice ; on ne doit plus voir la partie métallique, ne pas hésiter à forcer. La plupart des erreurs de communications sont dues à un câble mal inséré.</note>
Puis lancer tilp avec les droits root :
mkdir -p ~/TI83CERom
sudo tilp
Dans la partie droite de la fenêtre, se placer dans le dossier TI83CERom.
Dans le menu Fichier/Paramètres, indiquer dans la configuration que le câble est un DirectLink et rechercher la calculatrice connectée à l'aide de l'icône représentant une loupe ; sélectionner cette calculatrice en cliquant dessus. Valider.
Une fois revenu dans la fenêtre principale, charger le contenu de la calculatrice :
Puis double-clic sur Système d'exploitation. Après quelques messages d'avertissement, un programme est envoyé sur la calculatrice et exécuté pour en récupérer la ROM. L'exécution de ce programme est assez longue, on a l'impression en regardant ce qui se passe dans le terminal qu'il fait constamment la même chose et la calculatrice affiche une grande quantité de
Asm(prgmROMDUMP)
, c'est normal ; on peut prendre une seconde pause, jusqu'à ce que Tilp vous propose d'enregistrer le fichier contenant la ROM. Enregistrez-le dans le dossier ~/TI83CERom sous le nom TI83PCE.rom
.
<note tip>Une fois la ROM sauvegardée, profiter de Tilp pour supprimer de la calculatrice (clic-droit) les fichiers ROMDUMP et ROMDATA et enregistrer les programmes qui s'y trouvent (afin de les insérer plus tard dans CEmu).</note>
<note tip>Ayant lancé tilp avec les droits root, les fichiers (y compris la ROM) récupérés par l'intermédiaire de tilp appartiennent à l'utilisateur root. S'ils ont été enregistrés dans ~/TI83CERom, exécuter la commande suivante pour en redevenir propriétaire :
sudo chown -R $USER:$USER ~/TI83CERom
</note>
===== Premier lancement de CEmu =====
~/bin/CEmu
Au premier lancement de CEmu, il est demandé de choisir le fichier contenant la ROM. Une fois cela fait, on peut utiliser sa calculatrice virtuelle (onglet Keypad pour voir le clavier).
<note tip>Si l'on voit mal les onglets (en bas de la fenêtre de CEmu), déplacer la fenêtre de CEmu à l'aide de Alt-Clic_Maintenu.
Pour envoyer des fichiers (programmes) ou faire d'autres actions, clic-droit sur l'écran virtuel.</note>
===== Liens =====
* GitHub de CEmu
* Forum tilp
===== Remerciements =====
Mille mercis aux géniaux développeurs de CEmu et de Tilp, qui ont permis que l'on puisse n'utiliser que notre système d'exploitation favori pour réaliser tout cela !