Les calculatrices graphiques
Classpad sont le haut de gamme de
Casio. Elles combinent un moteur de calcul formel et un écran tactile résistif à stylet.
Les derniers modèles appartiennent à la génération
Classpad II et présentent en prime un écran couleur. Il s'agit à ce jour des :
- fx-CP400+E en France (rentrée 2016)
- fx-CG500 en Amérique du Nord (rentrée 2017)
- fx-CP400 dans le reste du monde (rentrée 2013)
Pour simplifier, nous les désignerons par la suite en tant que
fx-CP400.
Les
fx-CP400 rencontrent du succès dans certains pays mais clairement pas en France ; c'est une combinaison de différents facteurs qui explique cela, tout dépend de ce que l'on fait avec.
D'une part, bien que leur processeur soit identique à celui de la superbe
Graph 90+E (un 32 bits Renesas SH4 cadencé à 117,96 MHz), les
fx-CP400 sont des modèles assez lents. Plusieurs opérations s'achevant dans la minute sur d'autres modèles peuvent ici dans certains cas nécessiter plusieurs minutes, et parfois encore pire :
- programmes (déjà arrivé avec un algorithme du BAC S)
- graphiques
- tableau de variations
Le problème est ainsi transversal aux diverses applications, et on ne peut clairement pas incriminer le processeur. L'autre hypothèse permettant alors d'expliquer tout cela, c'est le moteur de calcul numérique, ces manipulations ayant en commun d'effectuer une série de calculs. Il semble que le moteur de calcul numérique ait du mal dans certains cas, possiblement parce que le moteur de calcul formel interfère d'une façon non optimale.
Rien à avoir avec le moteur de calcul, mais les affichages graphiques au sein des programmes ont également le défaut d'être très lents. En conséquence il n'y a que très peu de développement de programmes pour
fx-CP400, donc peu de sites qui en distribuent, et sans doute que ça joue sur les achats dans les pays où les utilisateurs se sentent concernés par la possibilité de rajouter des programmes comme en France.
Jusqu'au modèle
Classpad 330 de la rentrée 2007, on pouvait développer des applications en langage
C et assembleur puis les compiler en fichiers
.cpa, contournant ainsi à la fois la lenteur et les limitations du langage de programmation interprété
Basic.
Hélas à compter de la
Classpad 330+ de la rentrée 2012,
Casio a fait le choix de fermer complètement la gamme aux développements tiers. Le format des applications devient le
.c1a.
Casio semble avoir lourdement taillé dans la gestion des applications, dans le sens où le code des applications est maintenant intégré en dur dans le système d'exploitation. Les
fx-CP400 ont repris le même fonctionnement avec le format
.c2a.
Les applications possibles sont ainsi restreintes aux seules applications officielles et applications développées en partenariat avec
Casio. C'est très simple, il n'en existe que 2 à notre connaissance :
- Physium, application officielle avec le tableau périodique des éléments et la bibliothèque de constantes physiques
- Algy2, application partenaire de vérification des étapes d'un calcul littéral, comme par hasard payante et sans aucune concurrence possible suite aux choix de la fermeture par Casio
Les fichiers
.c1a/c2a semblent ainsi ne contenir que de quoi donner accès au code de l'application déjà intégrée au système, ainsi que les nom et icône à afficher au menu d'accueil.
Dans une
actualité précédente, nous te parlions des travaux de
the6p4c.
Il avait réussi suite à un lourd travail de rétro-ingénierie et de documentation, à installer un système d'exploitation modifié sur sa
fx-CP400.
Le système en question permettait d'exécuter du code machine préalablement injecté lors de la modification. Oui, c'était la 1
ère exécution de code machine tiers sur
fx-CP400 !
C'était bien évidemment insuffisant en l'état ; il n'était pas envisageable de devoir réinstaller un nouveau système d'exploitation à chaque fois que tu souhaitais lancer du code différent.
Il fallait quelque chose pour permettre de charger à chaud tes programmes en langage machine, et choisir lequel exécuter.
the6p4c avait en ce sens commencé à développer
Hollyhock, un
jailbreak pour ta
fx-CP400, mais n'y avait hélas plus touché depuis 3 ans.
Le projet
Hollyhock n'ayant pas atteint la
release, tu devais déjà t'embêter à le compiler toi-même. Mais de plus même après ça, son installation correcte nécessitait nombre de manipulations bien trop techniques pour l'utilisateur final.
Et bien aujourd'hui nous y sommes enfin.
SnailMath a repris le travail de
the6p4c et nous sort
Hollyhock-2, une version cette fois-ci bien plus facile à installer !
Enfin après une attente interminable de 8 années, nous avons notre
jailbreak à la
Ndless /
arTIfiCE pour les
fx-CP400 !
Hollyhock-2 contient différents éléments :
- le patch modifiant le système d'exploitation pour lui rajouter un bouton permettant l'exécution de code arbitraire
- un lanceur de programmes en langage machine (fichier run.bin) lancé par le bouton précédent, t'affichant donc la liste des programmes lançables
- quelques exemples de jeux en langage machine
Enfin des jeux
fx-CP400 qui peuvent bénéficier à pleine vitesse des capacités du processeur et de l'écran !
Précisons que le
patch modifiant le système d'exploitation cible à ce jour la seule version
2.01.2000 remontant à la rentrée 2017.
(ce qui veut dire que si tu installes Hollyhock-2, tu renonces à ce jour aux améliorations apportées depuis puisque nous en sommes aujourd'hui à la version 2.01.7000, et notamment les corrections de valeurs du tableau périodique des éléments avec la version 2.01.6000)L'installation se passe uniquement sous
Windows à ce jour. Le patch est appliqué à chaud, pendant que tu exécutes le logiciel officiel de mise à jour de la calculatrice en version
2.01.2000.
Voici les instructions d'installation :
- Mets le dossier Snail2021/ du .zip téléchargé obligatoirement sur ton bureau
- Lance le logiciel Snail2021.exe présent dedans, et qui te guidera dans tout le reste de la procédure d'installation
- Installe le logiciel ResourceHacker, qui servira à patcher automatiquement l'OS au sein du fichier .dll de Casio
- Lance le logiciel officiel de mise à jour en version 2.01.2000
- Confirme les différentes boîtes de dialogue du logiciel officiel jusqu'à-ce qu'il te demande de connecter la calculatrice (ne pas confirmer cette dernière boîte)
- Retourne sur le fenêtre de Snail2021 et valider en tapent
Entrée
; Snail2021 va alors récupérer et patcher le fichier .dll de mise à jour de Casio. - Une fois que Snail2021 te confirme avoir récupéré les fichiers, retourne sur la fenêtre du logiciel officiel de mise à jour pour annuler l'installation et la fermer.
- Retourne sur la fenêtre de Snail2021 pour confirmer le patching de l'OS en validant avec
Entrée
.
- Il est maintenant temps d'installer l'OS modifié sur ta calculatrice. La version 2.01.2000 est très probablement plus ancienne que tu as déjà sur la machine en question. Pour installer donc une version inférieure à celle que ta calculatrice exécute, tu as besoin de mettre cette dernière en mode de récupération de l'OS, sans quoi l'installation sera refusée :
- maintiens enfoncées les 3 touches
EXP
^
Clear
- sans relâcher ces 3 touches, enfonce et relâche le bouton
RESTART
au dos - la calculatrice affiche alors un l'écran texte suivant :
- Code: Select all
*****************
* *
* OS Error *
* *
* Please update *
* *
* OS. *
* *
*****************
- Sur la fenêtre de Snail2021, valide alors l'installation de l'OS modifié en tapant
Entrée
. - Patiente le temps de l'installation de l'OS, plusieurs minutes.
- Une fois l'installation terminée, copie les fihiers suivants du dossier Snail2021 sur ta calculatrice (directement à la racine et pas dans un sous-dossier) :
- run.bin (obligatoire pour le bon fonctionnement d'Hollyhock-2, c'est lui qui te permettra de choisir le programme assembleur à exécuter)
- et si tu le souhaites, les fichiers .hhk contenant des exemples de jeux (MineSnail qui est un démineur, Snake, et Tetris30)
Voilà, ta calculatrice est maintenant enfin capable de lancer des programmes en langage machine !
Ceux-ci peuvent être de différents types :
- du langage machine directement exécutable, assemblé sur ordinateur à partir de code assembleur SH4 ou compilés à partir de code source C
- des programmes directement modifiables sur ta calculatrice (dans l'éditeur de programmes) contenant une représentation hexadécimale du code machine
L'utilisation d'
Hollyhock-2 est très simple. Il modifie le menu de l'application
Système, mettant le lanceur de code
Hollyhock-2 à la place de la configuration de l'unité imaginaire
i/j.
Ce menu t'exécute alors le fichier
run.bin si tu l'as placé au bon endroit, ce dernier te listant alors les programmes en langage machine exécutables.
Précisons que
Hollyhock-2 respecte le mode examen de
Casio, refusant dans ce contexte de lancer
run.bin et donc t'empêchant entre autres d'exécuter des programmes pouvant t'afficher des données/informations interdites.
Le fonctionnement de ce blocage est extrêmement simple. En mode examen, l'icône indiquant la charge de batterie en bas à droite change de couleur. Elle est :
- grise hors mode examen
- verte dans les 15 minutes suivant l'activation du mode examen
- puis bleue en mode examen au-delà des 15 premières minutes
Hollyhock-2 vérifie tout simplement la couleur de cette icône, et refuse de lancer
run.bin si cette dernière n'est pas grise.
Nous verrons bien ce qu'en pense
Casio, si il y a une réaction ou pas. Mais paradoxalement, le fait que le code source d'
Hollyhock-2 soit public, permet à n'importe qui de malintentionné de le modifier pour faire sauter cette sécurité.
Reste maintenant à savoir si
Hollyhock-2 va pouvoir relancer l'intérêt envers la
fx-CP400 ainsi que ses ventes, dans les pays qui comme en France avaient laissé de plus en plus ce modèle de côté.
À ce jour nous en sommes loin, il n'existe pas grand chose comme programmes pour le moment.
Un problème est aussi que
Hollyhock-2 nous sort bien tard. La
fx-CP400+E sortie en 2016 n'a certes que 5 ans. Mais ce modèle n'a fait que rajouter une diode examen à la la
fx-CP400 qui existait déjà depuis 2013 et continue à être commercialisée aujourd'hui hors de France.
La
fx-CP400 a ainsi aujourd'hui plus de 8 ans, c'est un record, jamais aucun modèle couleur ou formel de
Casio n'avait duré aussi longtemps sans remplacement.
Il est possible que la pandémie ait ralenti les choses, mais pour nous la
fx-CP400 est en fin de vie et devrait être remplacée très prochainement par un nouveau modèle, à moins d'un changement de stratégie de
Casio qui pourrait avoir décidé de ne poursuivre le développement du logiciel de Mathématiques intégré
Classpad que dans sa version en ligne
Classpad.net ayant l'intérêt d'être directement exécutable sur les smartphones/tablettes de plus en plus utilisés au lycée.
Jusqu'à présent l'histoire n'a jamais offert de succès aux
jailbreaks sortant aussi tardivement. On peut citer :
- la TI-81 : sortie en 1990, elle n'a eu son jailbreak Unity qu'en 2010, soit après 20 ans, avec un succès quasiment nul.
- la TI-73 : sortie en 1998, elle n'a eu son jailbreak Mallard que 7 ans après en 2005. Il était déjà bien tard, le public intéressé par le développement assembleur avait déjà pris l'habitude d'éviter ce modèle d'entrée de gamme, cette sortie n'a pas intéressé grand monde et n'a pas changé les habitudes : extrêmement peu de programmes assembleur sortis pour cette plateforme.
- la TI-82 : sortie en 1993 elle a eu son premier jailbreak en 1997, un meilleur délai mais qui restait quand même important. De plus en 2001 Texas Instruments a lourdement modifié les TI-82 afin d'économiser sur les coûts de production, leur faisant utiliser la carte électronique très différente de la TI-83 avec une version système spéciale 19.006, cassant ainsi la compatibilité. 8 ans après le lancement cela n'intéressait plus grand monde, les mises à jour des jailbreaks se sont faites attendre, et n'ont pas toujours conservé la compatibilité avec les programmes assembleur produits pour les anciennes versions. En conséquence de ces délais et incidents, une bibliothèque de programmes assembleur nettement réduite par rapport à ce qui est sorti pour d'autres modèles contemporains comme la TI-85.
Nous souhaitons bien évidemment le meilleur à
Hollyhock-2 et ne demandons qu'à-ce que l'avenir balaye nos craintes, mais il n'empêche qu'après 8 ans il est maintenant bien tard pour juste
commencer l'aventure assembleur sur
fx-CP400.