π
<-

Khi: bootloader conforme France, multiboot Epsilon+KhiCAS

Khi: bootloader conforme France, multiboot Epsilon+KhiCAS

Unread postby Admin » 07 Apr 2022, 10:25

La calculatrice NumWorks était initialement un formidable projet de machine ouverte.

Le développement tiers a pu s'y hisser à un niveau jamais atteint sur la concurrence, et permettant l'émergence d'un projet formidable, Omega par Quentin Guidee et ses non moins illustres collaborateurs.

Il s'agissait d'un firmware alternatif pour ta calculatrice NumWorks. Basé sur le code source d'Epsilon comme la licence libre l'y autorisait, Omega avait pour but de regrouper et mettre en avant les meilleures contributions au code d'Epsilon, en incluant cette fois-ci celles laissées de côté par le constructeur.

Difficile de tout citer ici mais voici déjà par exemple un des fantastiques ajouts d'Omega. La NumWorks travaille en interne sur des arbres de calcul, mais les bridait donc artificiellement pour n'accepter que des valeurs numériques. Omega ré-autorisait à nouveau ces arbres à utiliser des lettres / inconnues, ce qui nous redonnait ainsi un moteur de calcul littéral. De quoi même dériver, du jamais vu à seulement 80€ ! :bj:
Citons aussi un tableau périodique des éléments, ou encore la possibilité d'avoir une bibliothèque de constantes physiques avec unités bien avant que ce ne soit disponible dans le firmware officiel.

12024Outre ce qu'il intégrait, Omega offrait également l'avantage de pouvoir installer à chaud des applications, fonctionnalité jusqu'alors absente du firmware officiel Epsilon. Plusieurs applications de très haute facture furent développées, on peut citer entre autres : :D
  • KhiCAS, une formidable application intégrée de Mathématiques et de Sciences par Bernard Parisse, enseignant-chercheur à l'Université de Grenoble, qui étendait gratuitement les capacités de ta calculatrice au niveau d'une HP Prime. L'application intégrait le moteur de calcul formel GIAC développé pour le logiciel Xcas du même auteur pour des possibilités en calcul encore plus étendues. Étaient également inclus un tableur, une bibliothèque de constantes physiques, un convertisseur d'unités, un tableau périodique des éléments et bien d'autres choses encore. Le tout était en prime programmable en Python, avec une collection de modules importables bien plus étoffée que celle de l'application Python officielle, et surtout ici de façon intégrée, tes scripts Python pouvant en effet faire appel au moteur de calcul formel GIAC par l'intermédiaire du module cas.
  • Nofrendo, un émulateur de console de jeux Nintendo NES par zardam
  • Peanut-GB, un émulateur de console de jeux Nintendo GameBoy par M4x1m3
  • Periodic, un tableau périodique des éléments par M4x1m3
Un gros avantage de plus était ici que KhiCAS et l'ensemble des fonctionnalités rajoutées restaient accessibles en mode examen, de façon parfaitement légale et légitime en France, puisque ces fonctionnalités ne sont pas des données et venaient de plus directement intégrées à des modèles concurrents haut de gamme parfaitement autorisés. :bj:
14500Mais voilà, à la rentrée 2021 la mise à jour 16.3 d'Epsilon, le firmware officiel des calculatrices NumWorks, a introduit un verrouillage des modèles N0110.

Toute N0110 mise à jour ou venant préchargée d'une version 16.3 ou supérieure, comprend un chargeur de démarrage censé être non effaçable, et empêchant entre autres :
  • l'installation de tout firmware non correctement signé par le constructeur, c'est-à-dire entre autres de tout firmware tiers (Omega, Upsilon, Khi, ...)
  • l'installation d'applications persistantes en mémoire Flash (logiciel intégré de Mathématiques avec moteur ce calcul formel KhiCAS, émulateurs Nintendo Game Boy et NES, tableau périodique des éléments, ...)
Les utilisateurs informés avaient certes le choix mais étaient face à un cruel dilemme :
  • soit utiliser le firmware Epsilon pour bénéficier de toutes les dernières nouveautés officielles, mais en contrepartie renoncer définitivement aux firmwares tiers
  • soit utiliser un firmware tiers, mais en contrepartie renoncer aux nouveautés officielles car NumWorks a profité de l'occasion du verrouillage pour révoquer sa licence libre, et interdire ainsi la réutilisation de tout code introduit à partir de la version 16

15413Dans une actualité précédente, nous t'annoncions la sortie de Phi. Phi est un chargeur de démarrage avec lequel il suffit d'écraser le chargeur officiel, grâce à une faille présente dans les firmwares Epsilon officiels.

Après plus de 6 mois d'attente Phi te permettait enfin de déverrouiller ta calculatrice, étant ensuite capable de lancer aussi bien les firmwares officiels Epsilon que les firmware tiers, à la seule condition que ces derniers aient été mis à jour pour supporter ce nouvel amorçage.
À ce jour étaient compatibles les firmwares Omega et Khi.

Encore mieux que ça, avec Phi tu n'avais même pas à choisir entre fonctionnalités officielles et tierces, tu peux avoir les deux en même temps. Depuis le verrouillage la mémoire Flash des N0110 est partitionnée en deux moitiés égales de 4 Mio, et pouvant chacune accueillir un firmware.
Le raccourci reset+
4
permet de consulter l'état de la mémoire Flash et de mettre la calculatrice dans un mode de mise à jour protégé car interdisant la réécriture du chargeur de démarrage.
La mémoire Flash de 8 Mio est découpé en 2 slots A et B de 4 Mio chacun. Les raccourcis reset+
1
et reset+
2
te permettent alors de basculer entre l'amorçage des deux firmwares situés dans chacun de ces 2 slots.

Sauf qu'il y avait 2 problèmes majeurs avec Phi.

D'une part, le découpage de la mémoire Flash en 2 slots égaux de 4 Mio faisait qu'il n'était pas possible de profiter à la fois :
  • de la possibilité d'avoir 2 firmwares entre lesquels basculer au choix (par exemple l'une des dernières versions du firmware Epsilon pour avoir les dernières fonctionnalités officielles que la révocation de la licence libre interdit désormais de reprendre, accompagnée d'un des firmwares tiers Omega ou Khi)
  • et de la formidable application KhiCAS
Un problème de taille au sens propre, c'était ou l'un ou l'autre :
  • Soit tu mettais obligatoirement un firmware tiers dans le slot A (Omega ou Khi) et pouvais alors installer et lancer l'application KhiCAS, mais cette dernière débordait sur le slot B et n'était donc pas compatible avec l'installation d'un 2ème firmware dans ce dernier
  • Soit tu mettais 2 firmwares différents au choix dans les slots A et B, excluant ainsi l'installation de KhiCAS puisque le slot B lui était nécessaire
Des contraintes qui faisaient entre autres qu'il était impossible de disposer à la fois de l'application KhiCAS et des fonctionnalités d'une version récente du firmware officiel Epsilon.
Extrêmement dommage. :'(

D'autre part, et là c'était extrêmement grave, Phi n'est pas conforme à la réglementation française du mode examen et est donc strictement interdit d'utilisation à tout examen exigeant l'activation de ce mode en France. :#non#:
Le problème est que les raccourcis reset+
1
et reset+
2
permettant de basculer entre les deux firmwares présents en mémoire désactivent le mode examen.
Or c'est strictement interdit par les spécifications officielles du mode examen français ; le mode examen ne doit pas pouvoir être désactivé de façon autonome par les candidats, c'est-à-dire que la désactivation doit nécessiter un outil extérieur non présent sur leur table de composition car interdit en examen (2ème calculatrice, ordinateur, etc.).
Un outil interdit étant frauduleux, si tu introduis Phi dans une salle d'examen en France et te fais prendre (parce que tu auras basculé entre deux firmwares pendant l'épreuve et peut-être même oublié de réactiver immédiatement le mode examen), tu risquais l'ensemble des désagréments possiblement dramatiques (non fixé sur ta réussite à l'examen à la veille de l'été comme les camarades et donc rien à fêter avec eux, le jugement nécessitant du temps alors qu'en prime les rectorats sont fermés une bonne partie de l'été risque de perdre ton inscription dans l'enseignement supérieur et donc une année, jusqu'à 5 ans d'interdiction de passer tout examen y compris le permis de conduire de quoi bien te gâcher la vie, ...).

Malgré sa gravité et ses conséquences éventuelles hautement désagréables, ce problème rapidement signalé n'a malheureusement pas fait l'objet de corrections de la part de l'équipe Omega. :'(

Heureusement, Bernard Parisse, auteur de l'application KhiCAS et de son firmware dédié Khi, s'est saisi de ces problèmes.

Sa dernière mise à jour elle aussi majeure du firmware Khi inclut désormais un chargeur de démarrage comparable à Phi, mais conforme à la réglementation du mode examen français.
Le mode examen si actif n'est plus désactivé lorsque tu bascules entre les firmwares via les raccourcis reset+
1
ou reset+
2
, plus aucun danger pour toi ! :bj:
Techniquement, le chargeur de démarrage lorsqu'on lui demande de changer de firmware récupère la configuration éventuelle du mode examen dans le firmware actif jusqu'alors, et la migre vers le nouveau firmware demandé.

15441Intéressons-nous maintenant à la nouvelle possibilité de multiboot enfin compatible avec l'utilisation de l'application KhiCAS. Le nouveau bootloader (chargeur de démarrage) de Khi découpe la mémoire Flash en 3 slots, nommés ici 1, 2 et 3 :
  • le slot 1 de 3,5M correspond au début du slot A de Phi
  • le slot 3 de 4M correspond exactement au slot B de Phi
  • le slot 2 de 0,5M est un petit espace intermédiaire entre les deux

15437Et c'est cela qui change tout, Bernard a sorti une version minimaliste du firmware Khi. Ne comprenant aucune application intégrée elle est dédiée au seul lancement des applications rajoutables dont KhiCAS entre autres.

Un avantage annexe de cette version minimaliste est qu'elle laisse bien davantage de RAM libre pour les applications, 176K au lieu de 97K ! :D

Tu peux donc enfin obtenir à la fois les dernières fonctionnalités du firmware officiel Epsilon et l'application KhiCAS. Il te suffit :
  • d'installer Epsilon dans le slot 1
  • d'installer la version minimaliste de Khi dans le slot 2
  • d'installer l'application KhiCAS qui ira donc dans le slot 3
Un grand merci à Bernard Parisse pour s'être dépêché de développer et rendre disponible cette solution améliorée et conforme à temps pour les examens ! :favorite:

15441Supposons que tu dispose déjà d'une machine sous Phi ou Omega 2.0, voici comment migrer.

Pour remplacer Phi par le nouveau bootloader de Khi, il te faut :
  1. mettre la machine en mode de récupération autorisant la réécriture du bootloader avec le raccourci reset+
    6
  2. te rendre sur le site de Khi
  3. cliquer sur le bouton Récupération pour charger et lancer le logiciel de récupération
  4. installer le nouveau bootloader amélioré et conforme pour la France avec le bouton multi-boot

1544015441Prochaine étape, mettre Epsilon dans une version récente dans le slot 1. Une fois son fichier récupéré, il te faut :
  1. mettre la calculatrice en mode de mise à jour protégé avec le raccourci reset+
    4
  2. aller sur notre web-dfu, indiquer le fichier Epsilon à programmer et utiliser le bouton Flash Slot A
Concernant le fichier external.bin d'Epsilon 18 :
  • soit tu l'as déjà sous la main parce que tu as installé Phi sur une machine qui avait été mise à jour avec Epsilon 18.2.3
  • soit comme indiqué tu as déjà Epsilon 18 sur la calculatrice dans le slot B ou 3, et tu peux récupérer son fichier avec le même outil web-dfu via le bouton Dump Slot B
  • soit il va te falloir te débrouiller pour le récupérer autrement, d'une façon illégale selon l'interprétation de la nouvelle licence (ou plus exactement de son absence) par NumWorks

1543815439Voilà, le plus dur est fait. Maintenant, toujours avec la calculatrice en mode de mise à jour protégé via reset+
4
, il te suffit :
  • d'installer la version minimaliste de Khi avec le bouton Khi slot 2
  • d'installer les applis additionnelles dont KhiCAS avec le bouton de ton choix, soit KhiCAS stable soit KhiCAS alpha
Le contenu du slot 3 affichera alors Invalid mais ne t'inquiète pas, c'est normal puisqu'il ne contiendra plus de firmware amorçable.

Tu disposes maintenant du meilleur des 2 mondes : :bj:
  • raccourci reset+
    1
    pour le firmware officiel Espilon avec ses dernières fonctionnalités
  • raccourci reset+
    2
    pour les applications additionnelles dont KhiCAS

Si par contre tu pars d'une calculatrice ne disposant pas encore de Phi, le plus simple est de commencer par l'installer pour ensuite suivre la procédure précédente de migration vers Khi.

Tutoriels d'installation :

Installation :
  1. Phi
  2. Khi ou Omega

Source : viewtopic.php?f=101&t=25584&p=267401#p267401
 
Ce compte ne reçoit pas de MP / This account does not receive PMs.
User avatar
AdminAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 1%
 
Posts: 460
Images: 28
Joined: 30 Aug 2011, 11:00
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Khi: bootloader conforme France, multiboot Epsilon+KhiCA

Unread postby parisse » 07 Apr 2022, 12:00

Grand merci, critor!
Une petite correction au passage, je ne pense pas que le firmware Epsilon 18.2.3 soit position independant, donc l'extraire du slot 3(=B) et essayer de le remettre en slot 1(=A) ne pourra pas marcher.
Sinon, desole pour vos captures d'ecran, mais ca continue d'evoluer de mon cote, j'ai modifie ce matin le bootloader, qui est un peu plus interactif: au sens ou si on quitte le mode DFU avec back ou si la calculatrice n'est pas branchee, on peut selectionner le slot actif avec les touches 1, 2 ou 3 puis le booter avec OK. Le slot actif apparait en inverse video. J'ai aussi implemente une idee de Yaya.Cout, une petite protection avant d'autoriser le boot sur autre chose que Omega/Khi et Upsilon. Ca devrait continuer a permettre de booter Epsilon 18 (mais je n'ai pas teste).
J'ai encore une modif a tester pour le bootloader, remplacer l'affichage actuel "Omega ou Khi" par l'un des deux seulement (en testant la chaine de caracteres de version).
KhiCAS va aussi afficher des infos memoire quand on tape sur la touche var, on aura une minoration de la memoire disponible restante. Encore une ou deux broutilles dans les firmwares, et je ne devrais plus avoir a y toucher, j'espere.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 84.8%
 
Posts: 3638
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Khi: bootloader conforme France, multiboot Epsilon+KhiCA

Unread postby critor » 07 Apr 2022, 12:20

Merci pour votre réponse.

parisse wrote:Une petite correction au passage, je ne pense pas que le firmware Epsilon 18.2.3 soit position independant, donc l'extraire du slot 3(=B) et essayer de le remettre en slot 1(=A) ne pourra pas marcher.

C'est la manipulation que j'ai testée et photographiée sur ma machine lors de la conception du mini-tutoriel de migration. Elle a marché chez moi, mais peut-être ma machine était-elle dans un cas déjà particulier, ou ai-je mal procédé ?...
Je retenterai dès que possible.

parisse wrote:Sinon, desole pour vos captures d'ecran, mais ca continue d'evoluer de mon cote, j'ai modifie ce matin le bootloader, qui est un peu plus interactif: au sens ou si on quitte le mode DFU avec back ou si la calculatrice n'est pas branchee, on peut selectionner le slot actif avec les touches 1, 2 ou 3 puis le booter avec OK. Le slot actif apparait en inverse video. J'ai aussi implemente une idee de Yaya.Cout, une petite protection avant d'autoriser le boot sur autre chose que Omega/Khi et Upsilon. Ca devrait continuer a permettre de booter Epsilon 18 (mais je n'ai pas teste).

Aucun problème, si il y a des améliorations significatives je ne manquerai pas de les annoncer également, en espérant qu'une mise à jour surprise de NumWorks ne vienne pas rendre tout cela obsolète entre temps.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47%
 
Posts: 41934
Images: 15609
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Khi: bootloader conforme France, multiboot Epsilon+KhiCA

Unread postby parisse » 07 Apr 2022, 15:15

critor wrote:Merci pour votre réponse.

parisse wrote:Une petite correction au passage, je ne pense pas que le firmware Epsilon 18.2.3 soit position independant, donc l'extraire du slot 3(=B) et essayer de le remettre en slot 1(=A) ne pourra pas marcher.

C'est la manipulation que j'ai testée et photographiée sur ma machine lors de la conception du mini-tutoriel de migration. Elle a marché chez moi, mais peut-être ma machine était-elle dans un cas déjà particulier, ou ai-je mal procédé ?...
Je retenterai dès que possible.

Est-ce que vous avez teste en ayant une copie d'Epsilon en slot A et B ?
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 84.8%
 
Posts: 3638
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Khi: bootloader conforme France, multiboot Epsilon+KhiCA

Unread postby critor » 07 Apr 2022, 15:45

Sauf erreur de manipulation, j'ai testé exactement avec les étapes illustrées par les photos :
  • machine avec Omega 2.0 en slot A/1 + Epsilon 18.2.0 en slot B/3
  • dumping du slot B/3
  • reflashing du slot A/1 avec le fichier récupéré
Je retenterai dès que possible si vous me dites que c'est totalement anormal que ça ait marché.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47%
 
Posts: 41934
Images: 15609
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Khi: bootloader conforme France, multiboot Epsilon+KhiCA

Unread postby parisse » 07 Apr 2022, 17:31

Alors ca explique que ca ait marche. Parce que des qu'il y a eu un appel avec une adresse en absolu dans le slot A, c'est la copie conforme du slot B qui a ete appelee et a repris le controle. Mais je pense que ca planterait s'il y avait autre chose en slot B (par exemple KhiCAS).
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 84.8%
 
Posts: 3638
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Khi: bootloader conforme France, multiboot Epsilon+KhiCA

Unread postby Obilolo » 07 Apr 2022, 17:43

Bonjour,

Un grand merci pour tous ces développements (quelle rapidité !). J'ai hâte de tester tout ça.

De mon point de vue c'est un excellent argument pour "vendre" KhiCAS à des réfractaires un peu réticents à l'idée d'avoir une version "pimpée" de leur calculatrice. Par rapport aux fonctionnalités ajoutées dans les dernières version d'Epsilon d'une part (même si pour la plupart les fonctions en elles-même sont reprises dans KhiCAS, l'interface n'est pas comparable et parfois ça fait la différence) mais aussi par rapport à leurs camarades.

Les développements récents (phi & co) étaient de bonnes nouvelles pour le déblocage des numworks mais ne changeaient rien pour les "frileux" (je dis ça sans jugement).

Cette solution, avec en plus - cerise sur le gâteau - le respect du mode examen, en conciliant l'inconciliable, pourra j'espère convertir ces hésitants !
User avatar
Obilolo
Niveau 5: MO (Membre Overclocké)
Niveau 5: MO (Membre Overclocké)
Level up: 4%
 
Posts: 36
Joined: 21 May 2021, 11:03
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Khi: bootloader conforme France, multiboot Epsilon+KhiCA

Unread postby parisse » 07 Apr 2022, 20:22

Voila, ca ne devrait plus beaucoup bouger maintenant. J'ai ajoute la possibilite de lancer le mode examen directement depuis KhiCAS, on peut le lancer avec ou sans backup (et quand on a quitte le mode examen on peut bien sur retablir le backup).
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 84.8%
 
Posts: 3638
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Khi: bootloader conforme France, multiboot Epsilon+KhiCA

Unread postby Yaya.Cout » 08 Apr 2022, 17:11

D'ailleurs, avez-vous des problèmes pour désactiver le mode examen depuis Khi (c'est pour savoir si mon bug vient de mon bootloader ou de Khi…)
User avatar
Yaya.CoutProgrammeur
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 95.3%
 
Posts: 57
Joined: 15 Jan 2022, 15:20
Gender: Not specified
Calculator(s):
MyCalcs profile
GitHub: Yaya-Cout

Re: Khi: bootloader conforme France, multiboot Epsilon+KhiCA

Unread postby parisse » 08 Apr 2022, 17:49

Je n'ai rien remarque. Si on est dans KhiCAS, le mode examen est desactive a la connexion sans confirmation, si on est dans Khi apres confirmation. Et ca a l'air de marcher avec reset.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 84.8%
 
Posts: 3638
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Next

Return to News NumWorks

Who is online

Users browsing this forum: ClaudeBot [spider] and 2 guests

-
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.
801 utilisateurs:
>775 invités
>19 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)