π
<-

Firmware Khi pour NumWorks N0110, le successeur d'Omega

Firmware Khi pour NumWorks N0110, le successeur d'Omega

Unread postby Admin » 06 Oct 2021, 10:50

Omega était un firmware alternatif pour ta calculatrice NumWorks. Basé sur le code source du firmware officiel Epsilon comme la licence l'autorisait, Omega avait pour but de regrouper et mettre en avant les meilleures contributions au code d'Epsilon, en incluant justement celles ignorées ou refusées 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 n'accepte que des valeurs numériques. Omega étendait ces arbres en autorisant également des lettres / inconnues, ce qui nous donnait ainsi un moteur de calcul littéral. De quoi même dériver, du jamais vu à seulement 80€ ! :bj:
Il y avait aussi un tableau périodique des éléments, ou encore 100K de mémoire heap pour tes projets Python au lieu de 32K ! :bj:

12024Outre ce qu'il intégrait, Omega offrait également l'avantage de pouvoir installer à chaud des applications. 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 venaient directement intégrées à des modèles concurrents haut de gamme parfaitement autorisés. :bj:

Hélas pour cette rentrée 2021, NumWorks a brutalement pris un virage ultra-sécuritaire. Toute mise à jour en version 16.3.0 ou supérieure verrouille définitivement ta calculatrice NumWorks N0110 contre l'installation de tout code tiers, et ce sans même que tu en sois prévenu(e) sur la page concernée. :mj:

En conséquence, nous t'annoncions il y a quelques semaines le cœur serré l'abandon officiel du projet Omega. :'(

14609Heureusement, tout n'est pas perdu. Bernard Parisse se propose de faire survivre le projet Omega à travers un nouveau firmware, Khi.

Construit à partir du code source de la dernière version d'Omega, Khi reprend l'intégralité des avantages de ce dernier, à la seule différence que le firmware Khi va pour sa part continuer à être maintenu et évoluer ! :favorite:

Précisons toutefois que contrairement à Omega, Khi ne supporte plus les anciens modèles NumWorks N0100 d'avant la rentrée 2019.

Si tu n'as donc pas encore commis l'erreur de verrouiller définitivement ta calculatrice NumWorks N0110, rendez-vous sur la page dédiée du firmware pour ici encore une installation en 1 clic ! :D

Ici, l'installation initiale du firmware Khi t'ajoute automatiquement les applications suivantes :
  • KhiCAS dont on a parlé plus haut
  • HexEdit, un éditeur hexadécimal
  • Nofrendo, émulateur de Nintendo NES + une ROM homebrew du jeu 2048
  • Peanut-GB, émulateur de Nintendo Game Boy (sans ROM)

Une fois Khi installé, tu pourras opter pour l'installation personnalisée sur la même page, afin de pouvoir ajouter/supprimer des applications ou des fichiers ROM pour les émulateurs. :)

La même page te permet également de transférer directement tes fichiers .py de scripts Python dans un sens ou dans l'autre, ici donc sans les inconvénients liés au stockage en ligne actuellement imposé par la page officielle (absence d'une organisation par dossiers, renommage qui casse les adresses partagées, etc.) ! :bj:

Installation : https://www-fourier.univ-grenoble-alpes ... e/nws.html
 
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: Firmware Khi pour NumWorks N0110, le successeur d'Omega

Unread postby parisse » 06 Oct 2021, 12:10

Merci!
Une remarque importante concernant la securisation, pretexte utilise par Numworks pour verrouiller les calculatrices. On peut en effet certifier que le firmware Khi et les applications (KhiCAS ...) n'ont pas ete modifiees et sont donc conformes a la legislation en vigueur en France, il suffit de cliquer sur le bouton Certification. En effet en mode examen, les ressources (fichiers non executables de l'archive) ne sont plus accessibles, et seuls les executables KhiCAS, Hexedit, Nofrendo et Peanut-GB sont utilisables (les 2 derniers sont toutefois inutilisables faute de ROM).
A noter: si vous avez personnalise la partie application, il faut conserver les 11 premiers fichiers de l'archive apps.tar pour que la certification reconnaisse votre firmware comme conforme.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86%
 
Posts: 3661
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Firmware Khi pour NumWorks N0110, le successeur d'Omega

Unread postby critor » 06 Oct 2021, 20:21

Merci, très intéressant. Et si vous mettez à jour Khi, est-ce que la certification marchera toujours avec les calculatrices non mises à jour, ou bien est-ce qu'il faudra toujours avoir la dernière version ?
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.5%
 
Posts: 41976
Images: 15730
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Firmware Khi pour NumWorks N0110, le successeur d'Omega

Unread postby parisse » 06 Oct 2021, 21:04

On peut certifier plusieurs versions, donc il ne sera pas necessaire d'avoir la derniere mise a jour, le firmware interne, externe et les applications sont compares a plusieurs signatures. Par exemple le fichier de signature certifie par ma page est copie ci-dessous et certifie les fimrwares avant et apres l'integration des drivers pour la derniere revision materielle de la Numworks.

En fait la methode que j'ai choisie est tres souple, elle permet a differents acteurs de certifier les firmwares de leur choix, il suffit de mettre les signatures sha256 des fichiers certifies dans le fichier nws_sig.js sur le serveur de certification (j'ai un programme pour faire cela). Cela permet de s'adapter a des reglementations differentes selon les pays, chaque institution autorisant et certifiant uniquement les firmwares souhaites. La certification peut meme se faire par un surveillant utilisant son smartphone et un cable liaison smartphone-Numworks pendant le deroulement de l'examen sans deranger les calculs des eleves (ca prend moins de 30 secondes). Elle est plus sure que ce que propose Numworks, car un fraudeur peut facilement modifier une N0110 non verrouillee pour faire croire a une Numworks en version 16 (en tout cas il sera difficile a un surveillant de detecter un "faux" numero de version).

Code: Select all
var nws_sig=[
["delta.external.bin",1121768, [62,251,116,124,137,86,16,19,47,80,124,139,68,58,2,121,78,60,234,32,173,152,119,17,152,130,116,190,95,44,175,18,]],
["delta.internal.bin",9664, [17,181,104,112,163,76,132,192,131,34,3,120,55,69,26,151,249,111,224,149,86,34,20,137,70,221,140,3,217,235,152,52,]],
["apps.tar",5160176, [86,64,84,218,208,31,176,238,15,35,25,99,139,26,173,220,67,173,150,124,31,135,121,30,42,70,171,19,73,152,172,250,]],
["delta.external.bin",1121480, [78,68,180,50,131,105,19,237,22,41,178,255,168,107,94,8,249,237,151,11,14,178,141,28,192,244,199,44,33,83,114,32,]],
["delta.internal.bin",9500, [217,138,145,61,1,227,37,76,41,240,41,246,51,11,120,134,155,155,225,98,47,67,235,20,25,109,228,9,9,216,125,154,]],
["apps.tar",5190068, [20,17,88,75,207,229,99,124,55,102,74,217,244,15,200,186,248,61,221,104,116,204,66,54,50,226,229,37,23,3,233,58,]],
["apps.tar",5160176, [248,159,132,148,216,70,183,145,249,184,137,100,178,29,239,103,175,14,188,64,237,113,62,200,37,12,138,60,208,88,77,44,]],
];
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86%
 
Posts: 3661
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Firmware Khi pour NumWorks N0110, le successeur d'Omega

Unread postby parisse » 12 Oct 2021, 08:23

Je viens d'ajouter une fonctionnalite au kit de connexion Numworks. Apres avoir charge les scripts de la calculatrice (ou un backup de sauvegarde depuis le PC), on peut l'ouvrir dans le MicroPython de Xcas web pour l'editer et le tester (c'est le meme interpreteur que celui de la Numworks). On peut alors le partager en prive par email ou en public par un post sur un forum (par exemple tiplanet) ou le renvoyer vers la Numworks.
https://www-fourier.univ-grenoble-alpes.fr/~parisse/nws.html
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86%
 
Posts: 3661
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Firmware Khi pour NumWorks N0110, le successeur d'Omega

Unread postby parisse » 14 Oct 2021, 14:14

Une nouvelle version de Khi/KhiCAS est disponible (17.0.36).
Elle contient un mini gestionnaire de fichiers en flash utilisable directement sur la calculatrice, en version beta.
Depuis le menu Applications de KhiCAS (touche Home puis valider puis avant-avant-dernier item). Ce gestionnaire permet
  • de lister les fichiers installés en flash et d’afficher des informations (dont la date de création)
  • de copier un script depuis la RAM vers la flash (ce qui la préserve d’un effacement par un reset ou un crash de la calculatrice).
  • de modifier la visibilité d’un fichier ou de le renommer. Dans ce sous-menu, on valide les changements par OK ou EXE, on les annule avec la touche Back.
  • d’effacer réellement les fichiers pour faire de la place (Vider la corbeille).
Attention, les modifications ecrivent en flash, or on ne peut pas ecrire indefiniment sur de la flash. Pour augmenter la durée de vie de la mémoire flash, il est conseillé de ne vider la corbeille que lorsqu’il est vraiment nécessaire de faire de la place. En effet, si on ne vide pas la corbeille, les nouveaux fichiers ajoutés en flash vont progressivement être écrits dans de nouveaux secteurs, ce qui répartira mieux l’usure de la flash.

Installation:
https://www-fourier.univ-grenoble-alpes.fr/~parisse/nws.html (francais)
https://www-fourier.univ-grenoble-alpes.fr/~parisse/nws_en.html (anglais)
Attention a bien vider le cache de votre navigateur si vous avez deja consulte la page.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86%
 
Posts: 3661
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Firmware Khi pour NumWorks N0110, le successeur d'Omega

Unread postby Lionel Debroux » 14 Oct 2021, 15:48

C'est super, un vrai FS utilisable sur machines NumWorks :)
Dommage qu'il faille que des tiers passent du temps à l'implémenter car le fabricant persiste à ne pas le faire, des années après le lancement de ses calculatrices...
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.3%
 
Posts: 6865
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: Firmware Khi pour NumWorks N0110, le successeur d'Omega

Unread postby parisse » 14 Oct 2021, 16:15

Ce n'est quand meme pas un vrai filesystem, en fait c'est un gestionnaire d'archive tar. Il n'y a pas de gestion d'arborescence, mais ca pourrait etre ajoute en mettant des chemins dans les noms de fichiers.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86%
 
Posts: 3661
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Firmware Khi pour NumWorks N0110, le successeur d'Omega

Unread postby redgl0w » 14 Oct 2021, 17:15

Les chemins n'est peut être pas ce qui manque le plus pour un fs sur numworks, mais une solution différentes des tarballs, tel que jean-baptiste boric l'avait décrit ici, pour limiter au maximum le nombres de cycles d'effacement de la flash consommé (en plus, contrairement aux tarballs, sur les mêmes secteurs). Le problème serait surtout de remplacer totalement le storage d'epsilon par ce fs, ce qui serait assez (et c'est un euphémisme je pense) long.
Image
User avatar
redgl0wVIP+
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 62.7%
 
Posts: 285
Images: 0
Joined: 30 Oct 2019, 20:36
Location: Grenoble
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENSIMAG 1A
Twitter: Gl0wRed
GitHub: RedGl0w

Re: Firmware Khi pour NumWorks N0110, le successeur d'Omega

Unread postby parisse » 14 Oct 2021, 17:36

Merci pour le lien.
Techniquement, je suis parti du format de l'archive tar qui sert a stocker les applications externes parce que d'abord on conserve la compatibilite des archives (par contre les versions a jour de KhiCAS ne sont plus vraiment compatibles avec Omega, car j'ai rajoute des callbacks systeme pour effacer un secteur et pour ecrire un secteur), et ensuite je n'ai pas a apprendre quoi que ce soit pour manipuler des archives tar sur ordinateur, ce qui permet de mettre en place assez facilement un environnement au simulateur. Changer ce format ca serait beaucoup de travail. Si on veut eviter une usure trop rapide, il faudrait je pense diminuer la taille des secteurs, parce qu'on va surtout stocker des scripts en flash, qui feront avec le header tar dans les 2K. Mais changer la taille des secteurs ca necessite de bien s'y connaitre et probablement de faire un audit d'une partie du code source de ion.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86%
 
Posts: 3661
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: No registered users and 4 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.
670 utilisateurs:
>616 invités
>44 membres
>10 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)