
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€ !
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.

Outre 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 :

- 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
Les fonctionnalités du
firmware Omega ont été reprises par la suite pour plusieurs
forks, les
firmwares Upsilon et
Khi, ce dernier par nul autre que
Bernard Parisse en personne.
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.


Mais 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

Dans une
actualité précédente, nous t'annoncions la sortie de
Phi pour le
firmware Omega.
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.

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.


Les
firmwares tiers
Khi puis
Upsilon ont été mis à jour par la suite pour pouvoir être amorcés de cette façon, et leurs pages d'installation intègrent également leur propre version du
bootloader Phi.
Khi pour sa part découpait la mémoire
Flash de 3
slots :
- slot 1 de presque 4 Mio, correspondant au slot A
- slot 2 intermédiaire pour pouvoir accueillir un firmware minimaliste
- slot 3 de 4 Mio, correspondant au slot B
L'intérêt de ce changement était de pouvoir à la fois installer et utiliser l'application
KhiCAS nécessitant beaucoup de place, et bénéficier du
multiboot du
firmware officiel
Epsilon.
Aujourd'hui à la veille des épreuves de spécialité,
Bernard Parisse continue à penser à toi et vient de sortir une mise à jour de son
firmware Khi ainsi que du
bootloader qu'il utilise.


Comme tu pouvais le remarquer à son écran d'information accessible via
reset+
4
, le
bootloader de
Khi n'était pas capable de distinguer les
firmwares Omega et
Khi.
C'est maintenant corrigé avec le nouveau
bootloader !

Autre chose, pour basculer entre les
firmwares installés tu devais utiliser les raccourcis
reset+
1
,
reset+
2
ou
reset+
3
.
Cela pouvait être embêtant si tu n'avais pas de portemine sous la main, ou plus de mine dedans. Sans compter les traces peu esthétiques que tu laissais alors sur le bouton
reset au dos.

Nouveauté justement donc, le
firmware Khi te permet désormais de basculer sur un autre
firmware sans avoir à utiliser le bouton
reset.
Il te suffit d'appuyer sur le bouton d'extinction de la calculatrice pour obtenir un message t'invitant à taper
1
,
2
ou
3
pour redémarrer la calculatrice sur le
firmware du
slot associé !

Sans réaction de ta part la calculatrice s'éteindra après 2 secondes, ou sinon tu peux également réappuyer sur la touche d'extinction pour l'éteindre de suite.
Par contre, notons bien que cette fonctionnalité n'est disponible que dans le
firmware Khi. C'est-à-dire qu'une fois la machine redémarrée sur l'autre
firmware, tu n'auras pas d'autre choix que d'utiliser le raccourci avec le bouton
reset pour revenir sur le
firmware Khi.

Dernière chose. Nous avons vu
récemment qu'une méthode enfantine de fraude au mode examen, consistait à mettre la machine sur un menu de démarrage/diagnostic, comme le
reset+
4
introduit par les
bootloaders de
firmwares tiers.
En effet cela éteint la diode même si la calculatrice est en mode examen.
Cela pouvait donc en théorie permettre de tromper le surveillant, lui faisant croire que le mode examen n'est pas activé, et donc d'introduire en salle d'examen une calculatrice dont on n'aura pas à effacer le contenu mémoire.
Et même si tu n'avais aucune intention de frauder, passer par ce menu pendant ton épreuve n'en éteignait pas moins la diode, et pouvait donc faire réagir négativement un surveillant.
Bonne nouvelle,
Bernard Parisse a ici encore fait preuve d'une extrême bienveillance envers toi : le
bootloader une fois mis à jour n'interrompra plus le clignotement de la diode examen sur cet écran !

Si tu as déjà installé un
firmware tiers avec
bootloader sur ta calculatrice, pour profiter de l'ensemble des nouveautés de cette mise à jour il te faudra autoriser la réécriture du
bootloader, c'est-à-dire utiliser le mode de récupération avec le raccourci
reset+
6
.