Page 1 of 1

Nouvel écran CP400/CG500 révision C incompatible Hollyhock

Unread postPosted: 01 Nov 2024, 00:12
by critor
18921Rentrée 2003, Casio inventait la calculatrice formelle tactile avec son modèle haut de gamme ClassPad 300.

Ce modèle eut plusieurs successeurs :
  • rentrée 2005 : ClassPad 300 Plus
  • rentrée 2006 : ClassPad 330
Ces premiers membres de la génération ClassPad monochrome supportaient de plus l'installation d'applications additionnelles que la communauté pouvait librement programmer en langage C et distribuer.
Hélas, rentrée 2012 Casio remplaçait son modèle haut de gamme par la ClassPad 330 Plus qui supprimait cette fonctionnalité.
L'histoire se répète donc aujourd'hui mais dans le milieu de gamme couleur avec ici encore la suppression du support des applications additionnelles à l'occasion du remplacement de la Graph 90+E par la Graph Math+.

2714Dès la rentrée 2013, Casio faisait évoluer cette fois-ci le matériel ClassPad. Nous passions à une nouvelle génération dite ClassPad II et munie d'un écran couleur, avec un premier modèle fx-CP400.

Plusieurs variantes vinrent en remplacement par la suite pour certains pays :
  • rentrée 2016 : fx-CP400+E pour la France (rajoutant la diode examen conformément à la nouvelle réglementation sortie en 2015)
  • rentrée 2017 : fx-CG500 pour l'Amérique du Nord (supprimant les dispositions non alphabétiques du clavier tactile, plusieurs examens ayant une règle interdisant les calculatrices munies de tels claviers)
Mais aucun retour du support des applications additionnelles, ce qui de notre point de vue a grandement contribué à la baisse d'intérêt envers ces modèles dont nous ne parlons hélas plus que de façon exceptionnelle (entre le faible rythme des mises à jour officielles, le peu qu'elles apportaient et donc l'interdictions des créations communautaires, il y a rarement des choses intéressantes à raconter à leur sujet), entraînant leur quasi disparition en France.

1839114707Fin 2020 sortait Hollyhock-2, un jailbreak que nous t'avions présenté par la suite.

Hollyhock-2 te remettait enfin la possibilité d'installer et lancer des programmes langage machine Renesas SH4. Les fichiers des programmes ainsi exécutables adoptaient l'extension .bin, et un patch du système d'exploitation rajoutait un menu permettant de choisir le fichier .bin à lancer.

Ces programmes pouvaient être compilés à partir de de code écrit en langage C++ ou encore assemblés à partir de code en langage assembleur SH4. Plusieurs programmes compatibles remarquables sont sortis depuis, dont CPBoy, un émulateur de la console de jeux portable 8 bits Nintendo Game Boy de 1989.

L'outil d'installation d'HollyHock-2 patchait le système d'exploitation à la volée lors d'une mise à jour de la calculatrice. Il te fallait donc lancer l'outil de mise à jour de Casio, pendant que l'outil d'installation HollyHock-2 tournait.
Mais HollyHock-2 et son outil d'installation n'avaient été adaptés qu'à une seule mise à jour, la version 2.01.2000

Pour installer HollyHock-2, tu devais donc downgrader ta calculatrice fx-CP400/CG500 vers cette version 2.01.2000, compilée le 12 mai 2017 et donc aujourd'hui lourdement obsolète.

En pratique ce n'était pas bien gênant pour les utilisateurs, tellement les mises à jour sorties depuis ont été pauvres en nouveautés et ce n'est pas peu dire.

Mais du côté d'HollyHock-2, c'était malgré tout chercher les ennuis...

… et nous y sommes aujourd'hui.

Pour cette rentrée 2024, nous avons eu toute une vague d'utilisateurs nouvellement équipés signalant des problèmes avec HollyHock-2.

Plus précisément c'est le système en version 2.01.2000 qui semble ne plus fonctionner correctement sur les fx-CP400/CG500 récentes, l'écran n'affichant plus rien et restant tout noir.

La tentative de downgrader les dernières fx-CP400/CG500 les rend donc totalement inutilisables.

14706Après les machines ne sont pas perdues pour autant, il suffit de passer par le menu "OS Error" pour réinstaller la version d'origine du système d'exploitation afin de les remettre en état :
  1. maintenir enfoncées les 3 touches
    EXP
    ^
    Clear
  2. sans relâcher ces 3 touches, enfoncer et relâcher le bouton RESTART au dos
  3. la calculatrice affiche alors l'écran "OS Error", prête à recevoir un nouveau système d'exploitation
Mais que se passe-t-il ?...

Cela ressemble énormément à un problème de révision matérielle. Un ou plusieurs composants auraient été changés dans les dernières fx-CP400/CG500. Ils seraient alors correctement supportés par du code rajouté dans les dernières mises à jour, mais incorrectement gérés par les versions plus anciennes dont l'antique 2.01.2000 de 2017.

Resterait encore à trouver le changement.

Mais avant cela, en attendant une éventuelle mise à jour d'Hollyhock-2, comment éviter le problème ?

A priori tu devrais te tourner vers le marché de l'occasion. Mais comment y distinguer les machines compatibles Hollyhock-2 des autres, qui avec le temps y deviendront de plus en plus nombreuses ?

2713Et bien un précieux indice est le numéro de série présent sur un autocollant à l'intérieur du compartiment des piles.

De 2008 à 2021, Casio a utilisé un format de numéro de série dont nous n'avons qu'une compréhension partielle. C'est un format en iiiiXym?r000000 où :
  • iiiii est un préfixe identifiant le modèle :
    • 777AW pour la fx-CP400
    • 804AW pour la fx-CP400+E
    • 805AW pour la fx-CG500
  • y est le dernier chiffre de l'année de l'assemblage de la calculatrice
  • m identifie le mois de l'assemblage de la calculatrice :
    • de 1 à 9 pour janvier à septembre
    • X pour octobre
    • Y pour novembre
    • Z pour décembre
  • r est la révision matérielle
  • X est une lettre
  • 0 est un chiffre
  • ? est une lettre ou un chiffre
En voici quelques exemples que nous avons collectés pour toi :
Code: Select all
iiii|X|ym|?|r|000000
----+-+--+-+-+------
777A|W|94|Q|A|359293
777A|W|77|Q|A|277943
777A|W|67|Q|A|211276
777A|W|66|Q|A|200041
777A|W|65|Q|A|194498
777A|W|58|U|A|153395
777A|W|57|M|A|147399
777A|W|48|M|A|094152
777A|W|45|M|A|072646
777A|W|09|Q|A|424320
777A|W|09|Q|A|423265
777A|W|09|Q|A|402163
777A|W|07|Q|A|409318
777A|W|05|Q|A|401933
777A|W|57|M|A|140161
777A|W|36|M|A|016997
777A|W|44|M|A|064002
Code: Select all
iiii|X|ym|?|r|000000
----+-+--+-+-+------
804A|W|65|Q|A|003359
804A|W|94|Q|A|017176
804A|W|66|Q|A|008346
804A|W|12|Q|A|018630
804A|W|12|Q|A|018527
Code: Select all
iiii|X|ym|?|r|000000
----+-+--+-+-+------
805A|W|78|Q|A|002751
805A|W|04|Q|A|005032

Toutes les calculatrices fx-CP400/CG500 utilisant cet ancien format de numéro de série sont compatibles Hollyhock-2. Donc en occasion c'est très simple : si le numéro de série commence par 7 ou 8, c'est bon.

Toutes ces numéros de série nous apprennent au passage que jusqu'en 2021 les fx-CP400/CG500 étaient en révision matérielle A.

Courant 2021, Casio est passé à un tout nouveau format de numéro de série, hélas plus complexe et obscur pour nous, notre base d'exemples pour aider à le comprendre étant beaucoup moins fournie. C'est un format en iiiiimX000000rr_?0 où :
  • iiiii est un préfixe identifiant le modèle :
    • L777A pour la fx-CP400
    • C804A pour la fx-CP400+E
    • C805A pour la fx-CG500
  • m identifie le mois de l'assemblage de la calculatrice :
    • de 1 à 9 pour janvier à septembre
    • X pour octobre
    • Y pour novembre
    • Z pour décembre
  • rr pourrait être la (ou les ?...) révisions matérielles
  • X est une lettre
  • 0 est un chiffre
  • ? est une lettre ou un chiffre
En voici quelques exemples que nous avons collectés pour toi :
Code: Select all
iiiii|m|X|000000|rr|_?0
-----+-+-+------+--+---
L777A|X|W|016938|BA|_E1
L777A|1|W|116373|BA|_E3
L777A|8|W|065289|BA|_E2
L777A|9|W|083506|BA|_E2
L777A|Z|W|156928|CB|_E3
L777A|3|W|161185|CB|_E4
L777A|5|W|164860|CE|_E0
L777A|5|W|169069|CE|_E0
Code: Select all
iiiii|m|X|000000|rr|_?0
-----+-+-+------+--+---
Code: Select all
iiiii|m|X|000000|rr|_?0
-----+-+-+------+--+---
C805A|9|W|002680|BA|_E2
C805A|9|W|002583|BA|_E2
C805A|2|W|005067|BA|_E3
C805A|2|W|001576|BA|_E2

Bien que le mois d'assemblage de la calculatrice soit toujours indiqué, bizarrement l'année d'assemblage ne serait donc plus présente dans ce nouveau format, ou du moins plus indiquée de façon claire.
Il y a une hypothèse selon laquelle cela pourrait être le tout dernier chiffre à droite, puisque les valeurs collectées jusqu'ici ne vont que de 0 à 4, ce qui pourrait se traduire en 2020 à 2024... Mais nous avons plusieurs entrées utilisant des 0 clairement anachroniques, notamment pour les Graph Math+ tout juste sorties pour cette rentrée 2024 et donc certainement pas assemblées en 2020.

Aucune entrée concernant la fx-CP400+E française à date. Il est possible que ce soit dû à la très faible popularité de ce modèle, tout comme il est possible que cela nous révèle que la production en a été définitivement arrêtée.

Comme indiqué plus haut le rr pourrait donc bien être la révision matérielle puisque ce sont des lettres toujours en début d'alphabet, avec la bizarrerie qu'il s'agirait maintenant d'une double révision. Nous aurions donc des fx-CP400/CG500 en révision BA, CB et CE. Peut-être que cela indiquerait en fait les révisions de 2 éléments matériels distincts de la calculatrice :
  • électronique + boîtier
  • carte principale + carte d'alimentation
  • cartes électroniques + écran
  • ...
Quoi qu'il en soit nous avons la réponse à la question, si la révision rr vaut CB ou CE, alors Hollyhock-2 ne fonctionne pas. Nous parlons pour simplifier de révision matérielle C.

Pour bien récupérer une fx-CP400/CG500 d'occasion compatible Hollyhock-2, il te faut donc récupérer le numéro de série et cibler :
  • les révisions matérielles A : le numéro de série commence 7 ou 8
  • les révisions matérielles B : le numéro de série comment par L ou C, et le suffixe de révision avant le tiret séparateur commence par B

Maintenant que nous savons non seulement comment les identifier mais en prime comment les nommer, creusons donc ce qui se passe avec ces fx-CP400/CG500 en révision matérielle C.

Quels composants ont été remplacés avec la révision C serait donc la question.

Nous ne disposons pas encore de photo du nouveau matériel, le problème étant signalés par de nouveaux utilisateurs fraîchement équipés, et leur demander de démonter leur calculatrice est peut-être un peu trop.

Nous avons 2 hypothèses a priori pour expliquer l'écran noir obtenu lorsqu'on installe une ancienne version sur une révision C :
  • soit un nouvel écran et donc un nouveau contrôleur d'écran - ce dernier resterait éteint sans rien afficher avec les anciennes versions, mais la calculatrice serait bel et bien allumée et a priori prête à calculer (du moins si le tactile est fonctionnel, ce qui n'est pas certain vu que cette capacité est liée à l'écran)
  • soit d'autres changements sur la carte électronique, notamment au niveau de la mémoire, empêchant les anciennes versions système de s'amorcer correctement et d'arriver jusqu'au code allumant l'écran

L'un des utilisateurs affectés par le problème a gentiment accepté de partager ce que raconte le menu de diagnostics de sa machine. Rappelons pour accéder à ce menu sur fx-CP400/CG500 il faut :
  1. éteindre sa calculatrice
  2. maintenir enfoncées les touches
    =
    et
    EXP
  3. allumer sa calculatrice
  4. maintenir alors rapidement les touches
    et
    z
    enfoncées
  5. taper alors rapidement
    1
208517332Et c'est là que nous découvrons un premier indice d'importance, au niveau de la date du Boot (code de démarrage, également appelé ABS dans les menus de Casio). Le Boot donc qui n'avait jamais bougé depuis 2013 a bénéficié d'une nouvelle compilation pour les révisions C. Nous passons en effet :
  • d'un Boot compilé 4 septembre 2012
  • à un nouveau Boot compilé le 28 octobre 2022 sur les révisions C
C'est logique, si le système a eu besoin de nouveau code pour arriver correctement jusqu'à l'allumage de l'écran, c'est également le cas du Boot notamment pour son menu "OS Error" évoqué plus haut, cela conforte nos hypothèses.
Niveau dates cela colle également : une recompilation du Boot fin 2022, pour une intégration dans les révisions C utilisant les nouveaux composants et assemblées au plus tôt courant 2023, et le temps de renouveler les stocks en magasin c'est maintenant en 2024 que nous constatons le problème.

Ajoutons une précision, seule la dernière version système 2.01.7002 compilée le 9 février 2024 fonctionne correctement avec les fx-CP400/CG500 révision C.
Toutes les versions inférieures, y compris l'avant-dernière 2.01.7001 compilée le 11 décembre 2020, donnent le problème de l'écran qui rest tout noir.
Le ou les composants remplacés dans le cadre de la révision matérielle C seraient donc correctement supportés par du code rajouté dans la version 2.01.7002, et non gérés correctement par les versions précédentes.
Et cela colle également avec la recompilation du Boot en 2022, forcément intermédiaire en dates.

Donc reste juste à savoir ce qui a changé entre les versions 2.01.7001 et 2.01.7002.

Et bien cela tombe bien, car nous avions déjà remarqué que Casio préparait quelque chose à l'occasion lors de nos tests lors de la sortie de la version 2.01.7002. Nous notions en effet de nouvelles chaînes de caractères relatives à l'écran dans la section regroupant tous les messages du diagnostic, mais impossibles à afficher sur nos vieilles fx-CP400 :
Code: Select all
RTN  :
<< Column >>
Column   CYCLE
0.21kHz
0.43kHz
0.86kHz
1.72kHz
3.43kHz
6.86kHz
13.7kHz
18.3kHz
27.4kHz
33.3kHz
PWM freq:

Probablement que ces chaînes correspondant à des messages ou menus supplémentaires s'affichent dans le diagnostic des modèles en révision C.

Nous t'annoncions donc dès avril 2023 l'arrivée prochaine d'une révision fx-CP400/CG500 apportant un tout nouvel écran.

Prédiction qui se révèle donc juste aujourd'hui (comme souvent chez nous ;) ), même si il aura fallu attendre 18 mois pour la voir se réaliser.

Au moins un nouvel écran en révision C donc, et peut-être d'autres choses, il nous faudra récupérer au moins des photos du nouveau matériel pour voir ça.

Ce qui est certain, c'est que vu la très faible activité de Casio autour des calculatrices physiques fx-CP400/CG500 ces dernières années, la révision matérielle C n'est probablement sortie ni par plaisir, ni pour embêter la communauté Hollyhock-2. C'est probablement que Casio n'avait plus le choix, suite à l'annonce probable par ses fournisseurs de la fin de la disponibilité de l'ancien écran ou de l'ancien contrôleur écran qui étaient utilisés depuis la fx-CP400 de 2013, soit depuis une décennie.

Reste maintenant à corriger le problème d'Hollyhock-2.

Nous aurions 2 pistes :
  • mettre enfin à jour Hollyhock-2 avec le support de versions actuelles du système fx-CP400/CG500, ici obligatoirement la 2.01.7002 - mais si cela n'a jamais été fait depuis la version 2.01.2000 de 2017, c'est que cela ne doit pas être évident, et les outils nécessaires pour faciliter ce travail ne doivent sûrement même pas encore exister
  • ou sinon, si la gestion des nouveau et ancien écrans n'est pas trop différente au niveau du code, rajouter un patch à l'installateur Hollyhock-2 pour rajouter à son tour le support du nouvel écran révision C au système 2.01.2000 actuellement ciblé (et en supposant qu'il n'y ait pas d'autres différences que l'écran, ce qui reste à confirmer à ce jour)

Source : https://discord.gg/uEY5Qj7F (en l'absence d'autre source indiquée)