π
<-
Chat plein-écran
[^]

KhiCAS pour Epsilon >= 16, version alpha

Nouveautés, projets, mises à jour.

KhiCAS pour Epsilon >= 16, version alpha

Message non lude parisse » 10 Mar 2024, 14:48

J'ai une première version de KhiCAS pour Numworks verrouillée, testée sur N0120 avec Epsilon 22.2.1 en slot A, qui me semble nettement plus utilisable que la version Nwagyu avec en particulier de la persistance:
https://www-fourier.univ-grenoble-alpes ... khi120.tar (version n0120)
https://www-fourier.univ-grenoble-alpes ... khi110.tar (version n0110/n0115 non testée)
https://www-fourier.univ-grenoble-alpes ... khicas.nwa
C'est encore très alpha comme qualité, et comme je n'ai pas de N0110/N0115 avec Epsilon dessus, je ne garantis pas la compatibilité (et je n'ai pas encore mis de code pour tester que vous avez installé la bonne archive tar et que les adresses pour la ram sont compatibles), et il y a encore pas mal de choses à améliorer. Il y a une description un peu plus technique de comment ça fonctionne plus bas.
Remerciements à Yaya.Cout avec qui j'ai pas mal discuté pour en arriver là, et dont j'ai emprunté un peu de code pour l'accès aux adresses du scriptstore en regardant dans l'userland pour la persistance.

Installation: il est peut-être nécessaire de mettre à jour vers Epsilon 22.2.1 si nécessaire sur le site de Numworks.
Transférer khi120.tar ou khi110.tar dans le slot B de la Numworks, par ex. avec dfu-utils (ça doit être aussi possible avec les outils d'upload de firmware de tiplanet?):
dfu-util -i0 -a0 -s 0x90400000 -D khi120.tar
Transférer khicas.nwa depuis la page des apps externes de Numworks, par exemple avec Chrome
https://my.numworks.com/apps
En cas de reset ou crash, il faudra recharger khicas.nwa, mais pas khislotb.tar qui reste intact dans son slot. Gros avantage, car on flashe seulement 1 secteur de flash de 64K. Plus besoin de manipulation un peu acrobatique pour utiliser nwagra pour "élargir la mémoire".
Documentation : s'utilise comme KhiCAS sur Numworks N0110 non verrouillé, mais avec des bizarreries, par exemple il faut taper shift et EXE en même temps pour ouvrir le menu Fichier, ou shift et 1 en même temps pour le menu algb, etc.

Aspects techniques: l'application se compose de 2 fichiers, khicas.nwa est un lanceur qui se présente comme une application externe standard Numworks et s'installe en slot A derrière le firmware actif en slot A, en principe à l'adresse 0x90190000. khicas.nwa est linké à la volée par la page de Numworks. khi1?0.tar est une archive ayant le même format que celle des apps externes Epsilon<16 mais avec comme adresse de base 0x94000000 au lieu de 0x92000000. Le 1er fichier de l'archive est khicas qui est linké une fois pour toute en adresse fixe : origine de la rom en 0x94000200 pour laisser la place au header de l'archive tar, ram data/bss en 0x24033000 sur les n0120 et 0x20033000. Ce dernier point est le seul point vraiment délicat, en effet les apps externes d'Epsilon<16 et des firmwares tiers utilisent la ram ictm en 0x0 (16K de disponible) pour la data/bss de khicas (13K), mais cette ram ne semble pas utilisable avec Epsilon>=16 alors qu'elle existe toujours, elle est probablement protégée. Donc pour pouvoir utiliser khicas, il faut que la zone démarrant en 0x24033000 et de longueur 13K soit dans la zone réservée aux apps externes. On peut le vérifier dans le header du userland du slotA (avec hexedit par exemple), chez moi à l'adresse 0x9002001c je lis le début de la zone ram des apps externes en 0x240129a8 et juste après la fin en 0x24037000 (on a donc 13K utilisés sur les 16K). Sur les n110, ça devrait être à peu près les mêmes adresses avec 0x20 au lieu de 0x24, mais il semble nécessaire de lire en 0x9001001c au lieu de 0x9002001c.
Ensuite, le lanceur appelle le malloc du firmware en slotA pour réserver 128K de heap et il se branche sur le point d'entrée lu en 0x94000200 (ce point d'entrée est affiché au lancement de KhICAS ainsi que le début du heap à des fins de mise au point).

Code source alpha:
https://www-fourier.univ-grenoble-alpes ... p/khib.tgz, se compile avec make
(ne pas oublier de modifier la position de la sram selon le modèle dans external.ld)
et
https://www-fourier.univ-grenoble-alpes ... launch.tgz
se compile aussi avec make

Simulateur: télécharger le source d'Epsilon puis appliquer les modifs
https://www-fourier.univ-grenoble-alpes ... nwsimu.tgz
et compiler
Avatar de l’utilisateur
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 78%
 
Messages: 3511
Inscription: 13 Déc 2013, 16:35
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: KhiCAS pour Epsilon >= 16, version alpha

Message non lude Xibalba » 10 Mar 2024, 22:49

Je viens de mettre à jour ma calculatrice et de télécharger la dernière version de dfu-util depuis le SourceForge et j'ai cette erreur en essayant de flasher khi120.tar :
Erase [ ] 0% 0 bytesPage at 0x90400000 is not writeable
Vous savez pourquoi ? J'ai le cmd en administrateur et la calculatrice affiche bien "la calculatrice est connectée".
Avatar de l’utilisateur
Xibalba
Niveau 0: MI (Membre Inactif)
Niveau 0: MI (Membre Inactif)
Prochain niv.: 0%
 
Messages: 3
Inscription: 10 Mar 2024, 22:45
Localisation: Sevrier, France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Seconde

Re: KhiCAS pour Epsilon >= 16, version alpha

Message non lude fmo » 10 Mar 2024, 22:49

Merci maître Parisse pour cette version Alpha !
On a hâte de pouvoir installer la version stabilisée.
:) :) :) :) :)
Avatar de l’utilisateur
fmo
Niveau 5: MO (Membre Overclocké)
Niveau 5: MO (Membre Overclocké)
Prochain niv.: 8%
 
Messages: 30
Inscription: 03 Jan 2022, 12:47
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Ecole Ingé

Re: KhiCAS pour Epsilon >= 16, version alpha

Message non lude parisse » 11 Mar 2024, 10:25

peut-être que l'écriture n'est pas autorisée sur le slot bi si le firmware b est le firmware actif, il faudrait pouvoir booter sur le slot a. Quelqu'un sait comment forcer le boot sur à ?
Avatar de l’utilisateur
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 78%
 
Messages: 3511
Inscription: 13 Déc 2013, 16:35
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: KhiCAS pour Epsilon >= 16, version alpha

Message non lude parisse » 11 Mar 2024, 10:35

Une autre remarque: la version actuelle ne fournit pas le micropython, ni l'archive en flash (pour respecter la taille du slot B). Suite à discussion avec Yaya.cout, je vais essayer de faire une version en 2 parties (pour préserver le secteur qui gère le mode examen du slot A).
Avatar de l’utilisateur
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 78%
 
Messages: 3511
Inscription: 13 Déc 2013, 16:35
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: KhiCAS pour Epsilon >= 16, version alpha

Message non lude Xibalba » 11 Mar 2024, 18:50

parisse a écrit:peut-être que l'écriture n'est pas autorisée sur le slot bi si le firmware b est le firmware actif, il faudrait pouvoir booter sur le slot a. Quelqu'un sait comment forcer le boot sur à ?

Sinon je peux essayer de flasher en RESET+6 ? Ca reglerait peut etre le probleme ?
Avatar de l’utilisateur
Xibalba
Niveau 0: MI (Membre Inactif)
Niveau 0: MI (Membre Inactif)
Prochain niv.: 0%
 
Messages: 3
Inscription: 10 Mar 2024, 22:45
Localisation: Sevrier, France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Seconde

Re: KhiCAS pour Epsilon >= 16, version alpha

Message non lude Xibalba » 11 Mar 2024, 19:13

J'ai mis a jour la calculatrice avec RESET+6 et il a switché sur le slot A, du coup j'ai pu flasher khicas
Merci !
D'ailleurs l'app dit de ne pas faire de maj depuis le site de numworks, il faut les faire ou du coup ? Et comment on retire khicas du slot B (au cas où) ?
Avatar de l’utilisateur
Xibalba
Niveau 0: MI (Membre Inactif)
Niveau 0: MI (Membre Inactif)
Prochain niv.: 0%
 
Messages: 3
Inscription: 10 Mar 2024, 22:45
Localisation: Sevrier, France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Seconde

Re: KhiCAS pour Epsilon >= 16, version alpha

Message non lude parisse » 11 Mar 2024, 20:23

Alors, c'est toujours le message d'accueil pour les Numworks avec Epsilon<16 qui s'affiche dans cette version alpha. Il n'y a pas de procédure spéciale pour effacer KhiCAS, il suffit d'écrire dessus. Effectivement faire reset+6 et mise à jour est probablement une bonne méthode pour installer Epsilon 22.2.1 sur le slot A.

J'ai fait une mise à jour à 20h, avec une amélioration importante: l'affichage de l'état du shift et alpha (ainsi qu'un minorant de la mémoire disponible), ce qui m'a fait pas mal transpirer parce que ce n'est pas fourni par le SDK de Numworks (j'ai du avoir une petite centaine de crash, qui ont mangé environ 1% de la durée de vie du secteur 0x90190000 de la flash de ma calculatrice). Copy/paste marche mais uniquement à l'intérieur de KhiCAS.

J'ai aussi mis à jour les sources, je n'arrive pas pour le moment à avoir l'app en 2 parties, ça plante pour certaines commandes, c'est assez mysterieux, je ne vais pas explorer plus, parce que de toutes façons ça ne servirait qu'à avoir micropython en plus, or il y a déjà l'implémentation de Numworks, et si vraiment on veut on peut porter l'addin micropy pour Casio. De toutes façons il n'y a pas vraiment assez de mémoire (environ 120K) pour faire tourner micropython dans KhiCAS. Ceci dit, si quelqu'un comprend pourquoi, ça m'intéresse... Je vais plutot voir si je peux porter le système d'archive tar des apps externes des firmwares tiers. Pareil que pour l'état du clavier, il n'y a pas de support pour écrire en flash externe dans le SDK Numworks...

Les sources contiennent des scripts pour installer avec dfu: updatekhi120b, updatekhi110b mettent à jour le slot B, et updatenwa le secteur 19 pour Epsilon 22.2.1/n120 où on a la 1ère app externe du slot A (ça permet d'installer khicas.nwa sans connexion Internet).
Avatar de l’utilisateur
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 78%
 
Messages: 3511
Inscription: 13 Déc 2013, 16:35
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: KhiCAS pour Epsilon >= 16, version alpha

Message non lude parisse » 12 Mar 2024, 15:05

J'ai rajouté le support d'une archive tar située en 0x90200000, comme sur External des firmwares tiers pour n0110 déverrouillées. Les programmes et les sessions Xcas peuvent être chargées depuis la Flash, ça va permettre de tester un peu la stabilité qui posait des problèmes avec le khicas de nwagyu sur des scripts/sessions existantes.
Ressources:
https://www-fourier.univ-grenoble-alpes ... khi120.tar slot B pour n0120 (testé avec Epsilon 22.2.1)
https://www-fourier.univ-grenoble-alpes ... khi110.tar slot B pour n0110/n0115 (non testé)
https://www-fourier.univ-grenoble-alpes ... /khi92.tar exemple d'archive tar à mettre en 0x90200000
https://www-fourier.univ-grenoble-alpes ... khicas.nwa application lanceur.
https://www-fourier.univ-grenoble-alpes ... p/khib.tgz : source de KhiCAS, les scripts dfu ont été renommés en send*
https://www-fourier.univ-grenoble-alpes ... launch.tgz : source du lanceur

Il n'y a pas de support pour exécuter des programmes sur cette archive tar, les programmes compilés pour External ne fonctionneraient pas, car leur espace RAM statique est prévu en 0x0, non accessible sur Epsilon >=16. En regardant les adresses dans les tables de symboles, ca me parait difficile de trouver une zone mémoire commune qui permettrait d'avoir des binaires compatibles. Il vaut peut-être mieux les recompiler comme des applis externes Numworks, quitte à s'inspirer du code source du launcher de KhiCAS pour accéder aux ressources dans l'archive tar (par exemple des ROM de Nofrendo ou Peanut-GB). On peut repousser le début de l'archive tar, par exemple en 0x90300000 pour laisser plus de place aux apps externes Numworks.
Avatar de l’utilisateur
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 78%
 
Messages: 3511
Inscription: 13 Déc 2013, 16:35
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: KhiCAS pour Epsilon >= 16, version alpha

Message non lude parisse » 13 Mar 2024, 13:40

La version actuelle a l'air stable, je n'ai pas eu de problème avec les tests sur les scripts exemple. Je viens de mettre à jour la page
https://xcas.univ-grenoble-alpes.fr/nw/nws.html#install
qui permet de tester l'installation directement avec un navigateur webusb-compatible (Chromium, Chrome...), sans passer par dfu-util.
Avatar de l’utilisateur
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 78%
 
Messages: 3511
Inscription: 13 Déc 2013, 16:35
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Suivante

Retourner vers Actualités

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 61 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1474 utilisateurs:
>1453 invités
>16 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)