π
<-

News 2024
August (6)
July (4)
June (8)
May (6)
April (11)
March (6)

News 2023
August (6)
July (6)
June (10)
May (12)
April (14)
March (11)

News 2022
October (11)
August (4)
July (4)
June (3)
May (8)
April (5)
March (6)

News 2021
August (4)
July (12)
June (6)
May (7)
April (6)
March (4)
January (10)

News 2020
August (6)
July (14)
June (11)
May (8)
April (19)
March (4)

News 2019
August (2)
July (3)
June (4)
May (8)
April (3)
March (5)

News 2018
August (7)
June (11)
May (5)
April (13)
March (12)

News 2017
August (5)
July (6)
June (3)
May (3)
April (20)
March (11)
January (10)

News 2016
August (5)
July (5)
June (4)
May (3)
April (6)
March (2)

News 2015
August (6)
July (6)
June (5)
May (4)
April (12)
March (8)

News 2014
August (6)
July (7)
June (3)
May (1)
April (2)
March (6)

News 2013
August (6)
July (14)
June (1)
May (5)
April (1)
March (1)

News 2012
August (3)
July (3)
June (3)
April (2)
March (3)

News 2011

Hollyhock-2 : jailbreak C/assembleur pour fx-CP400

New postby critor » 14 Oct 2021, 11:01

7230Les 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 ! :bj:

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.

14708Et 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 ! :bj:

Enfin après une attente interminable de 8 années, nous avons notre jailbreak à la Ndless / arTIfiCE pour les fx-CP400 ! :D

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 ! :bj:

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 :
  1. Mets le dossier Snail2021/ du .zip téléchargé obligatoirement sur ton bureau
  2. Lance le logiciel Snail2021.exe présent dedans, et qui te guidera dans tout le reste de la procédure d'installation
  3. Installe le logiciel ResourceHacker, qui servira à patcher automatiquement l'OS au sein du fichier .dll de Casio
  4. Lance le logiciel officiel de mise à jour en version 2.01.2000
  5. 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)
  6. 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.
  7. 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.
  8. Retourne sur la fenêtre de Snail2021 pour confirmer le patching de l'OS en validant avec
    Entrée
    .
    14706
  9. 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 :
    1. maintiens enfoncées les 3 touches
      EXP
      ^
      Clear
    2. sans relâcher ces 3 touches, enfonce et relâche le bouton
      RESTART
      au dos
    3. la calculatrice affiche alors un l'écran texte suivant :
      Code: Select all
      *****************
      *               *
      *   OS Error    *
      *               *
      * Please update *
      *               *
      *      OS.      *
      *               *
      *****************
  10. Sur la fenêtre de Snail2021, valide alors l'installation de l'OS modifié en tapant
    Entrée
    .
  11. Patiente le temps de l'installation de l'OS, plusieurs minutes.
  12. 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 ! :bj:
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

14707L'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.

14709Pré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é. :mj:

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.

Téléchargements pour Windows:

Tutos-vidéo :

Code source : https://github.com/SnailMath/hollyhock-2

Mise à jour émulateurs Graph 90/35+E II 3.60/3.50

New postby critor » 27 Oct 2021, 11:46

Pour la rentrée 2021, Casio t'a sorti une mise à jour bien sympa :
  • version 3.60 pour Graph 90+E (fx-CG50AU en Australie, fx-CG50 dans le reste du monde)
  • version 3.50 pour Graph 35+E II (fx-9750GIII en Amérique du Nord, fx-9860GIII dans le reste du monde)
La mise à jour rajoutait une application Probabilités très intuitive, avec une interface unifiée et très propre te permettant la résolution d'un formidable éventail de question types concernant les lois de probabilités, superbement illustrée à chaque fois pour une compréhension optimale ! :bj:

1459913023La mise à jour de rentré 2021 a donc concerné :
  • les calculatrices
  • les simulateurs pour clé USB d'émulation Casio

Problème, les logiciels d'émulation installables pour Windows ou Mac n'avaient quant à eux pas été mis à jour.

Il t'était donc jusqu'à présent impossible d'y utiliser l'application Probabilités, que ce soit pour prendre des captures d'écran pour tes documents, ou guider une classe en vidéoprojection. :'(

Comme promis lors des journées APMEP aux enseignants évoquant ce problème, Casio nous publie enfin aujourd'hui les mises à jour de ses émulateurs installables ! :D

Aujourd'hui donc, fini les ennuis, tu vas enfin pouvoir exploiter le plein potentiel des Graph 90+E 3.60 et Graph 35+E II 3.50 ! :bj:

Merci Casio ! :favorite:

Téléchargements :

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
732 utilisateurs:
>704 invités
>21 membres
>7 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)