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 :
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"
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.
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
.
sudo chown -R $USER:$USER ~/TI83CERom
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).
Pour envoyer des fichiers (programmes) ou faire d'autres actions, clic-droit sur l'écran virtuel.
Liens
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 !
3 personnes ont visité cette page aujourd'hui et 726 en tout.