{{tag>CEmu TI-83-Premium-CE TI-84-Plus-CE émulateur Qt calculatrice tilp tilp2 libticable libticonv}} ====== 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é [[https://www.cemetech.net/forum/viewtopic.php?t=12276|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 est un de ces acronymes récursifs dont on est friand dans le monde du logiciel libre et qui signifie //Tilp Is a Linking Program//. [[http://lpg.ticalc.org/prj_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. La récupération de la ROM de la calculatrice par Tilp2 est plus longue, mais bien plus complète (à ce jour), que celle qui peut être faite par CEmu. En effet, avec Tilp2 on récupère également toutes les applications et les langues (dont le Français), ce qui n'est pas fait par CEmu. 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. 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é. 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. {{:linuxaddict:logiciels:tilp_-_fichier_-_parametres.png?400|}} {{:linuxaddict:logiciels:tilp_-_configuration.png?400|}} Une fois revenu dans la fenêtre principale, charger le contenu de la calculatrice : {{:linuxaddict:logiciels:tilp_-_recharger.png?400|}} 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''. {{:linuxaddict:logiciels:tilp_-_systeme_exploitation.png?400|}} {{:linuxaddict:logiciels:tilp_-_save_file.png?400|}} 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). 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 ===== 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). 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. ===== Liens ===== * [[https://github.com/CE-Programming/CEmu|GitHub de CEmu]] * [[https://software.opensuse.org/download.html?project=home%3Aadriweb%3ACEmu&package=cemu&locale=fr|Installer CEmu sans compilation, via un PPA]] * [[https://tiplanet.org/forum/viewtopic.php?f=33&t=11436&start=80|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 ! ---- {{counter|today| personne a visité cette page aujourd'hui| personnes ont visité cette page aujourd'hui}} et {{counter}} en tout.