Page 1 of 1

Problème Tilem2 (84+) ou tilp (84+SE), ticables et tok8

Unread postPosted: 28 Apr 2018, 02:50
by Hayleia
Le scénario problématique :
- je tape du texte
- je tok8 ce texte pour obtenir un 8xp valide (en théorie en tout cas, mais pas de pb en 2015)
- j'ouvre tilem2 et j'essaie d'envoyer le 8xp de l'étape précédente
- j'obtiens la popup suivante sur tilem2, avec la trace suivante sur le terminal (aucune idée de si les deux sont liées mais je suppose) :
Unable to send file
Msg: le programme ou la variable est incompatible avec cette version de l'OS.
Cause: ce type de variable n'est peut-être pas géré par la calculatrice cible, ou vous avez peut-être besoin de mettre à jour l'OS de la calculatrice.
(tilem2:6135): ticables-CRITICAL **: 03:36:47.495: ticables_cable_recv: len = 0


Même popup si je tente d'envoyer le 8xp à ma 84+SE avec tilp (pas vérifié la trace).

Arch Linux.
Tilem2 (2.0) et tilp (1.18, (cables=1.3.5, files=1.1.7, calcs=1.1.9, conv=1.1.5)) de l'AUR.
tok8x de github de 2015 (avec tokens customisés mais rien de plus).

Si vous voulez un 8xp de ce genre, en voilà un en attachement, généré en 2015
FOX.8xp

et un autre généré aujourd'hui mais avec des outils de 2015. Il est plus petit donc probablement plus simple à étudier (il ne contient que trois lignes, ".A", "3+1" et une ligne vide)
dotA.8xp


Ok, même juste avec le titre on se dit que j'utilise des vieux trucs un peu quand même, surtout tok8x :P
Possible mais à une époque ça marchait (en 2015), et de mon point de vue il n'y a pas eu de changement sur les calculatrices concernées donc il s'agit peut être d'une régression en voulant ajouter des fonctionnalités concernant les nouvelles calculatrices ? Ou alors depuis tout ce temps tok8x produisait des 8xp invalides mais ticables les acceptait quand même ?
Dans tous les cas, je fais quoi ? :P

Re: Problème Tilem2 (84+) ou tilp (84+SE), ticables et tok8

Unread postPosted: 28 Apr 2018, 14:41
by Adriweb
Une bonne question pour Lionel Debroux ça :)

Re: Problème Tilem2 (84+) ou tilp (84+SE), ticables et tok8

Unread postPosted: 28 Apr 2018, 17:04
by Lionel Debroux
Désolé d'avoir raté le topic, plantage de l'ordinateur cette nuit.

Bonne question, en effet...

le programme ou la variable est incompatible avec cette version de l'OS.

est un code d'erreur bien défini renvoyé par la calculatrice, connu de libticalcs et géré proprement par libticalcs, donc c'est la calculatrice qui n'aime pas ce que l'ordinateur lui envoie. Et ce qui est envoyé est issu des fichiers.

Je me souviens qu'après 2015, Benjamin Moody avait travaillé sur la gestion des données de version lors de l'envoi à la calculatrice, ce qui est nécessaire pour bien gérer les Pic 84+CSE. Ce sont en particulier les commits 46133ae44290a0108eda3aa39c910967bce93265 , 9ee9f43567280acc0eda2f05edfa19b6d7f77d15 et 68dfba7ff270477979a1e6dc58860eaabe30a9ec sur https://github.com/debrouxl/tilibs . Ce dernier commit ajoute le message que tu vois, j'aurais également pu le retrouver avec `grep` puis `git blame`.

Je regarderai plus tard le contenu du fichier. Les bugs dans libticalcs sont possibles, mais les mauvaises données de version dans le fichier également :)

Re: Problème Tilem2 (84+) ou tilp (84+SE), ticables et tok8

Unread postPosted: 28 Apr 2018, 19:11
by Hayleia
Lionel Debroux wrote:Je regarderai plus tard le contenu du fichier. Les bugs dans libticalcs sont possibles, mais les mauvaises données de version dans le fichier également :)

Je m'en doute, c'est bien pour ça que j'ai mentionné tous les outils que j'utilise sans en viser précisément ainsi que la possibilité de données stupides produites par tok8x mais ignorées en 2015 et que j'ai fourni des fichiers potentiellement pourris pour étude :P

En tout cas, si ça peut aider, je viens de récupérer libticalcs2.so.12.0.3 sur un PC sur lequel tout va bien et de le mettre sur le PC "problématique" (ouais je fais de la bidouille comme ça, pourquoi pas ? :P) et le fichier se transfère bien, ce qui semble confirmer que le problème se trouve par là (pas forcément de la faute de libticalcs mais je veux dire que c'est bien ce que gère cette lib qui pose problème).
(et au pire en attendant de trouver la vraie solution, ça me débloque aussi :P)

Re: Problème Tilem2 (84+) ou tilp (84+SE), ticables et tok8

Unread postPosted: 28 Apr 2018, 19:37
by Lionel Debroux
Bouh, quelle vilaine bidouille... c'est passable tant qu'elle te permet d'avancer, mais elle risque de générer d'autres problèmes, notamment des points d'entrée manquants ;)

Les commentaires que j'ai mis dans libtifiles pour gagner du temps indiquent que la paire d'octets contenant l'info d'archive et l'info de version est à l'offset 0x44: https://github.com/debrouxl/tilibs/blob ... s8x.c#L304 .
Dans dotA.8xp et FOX.8xp, ces deux octets sont 7f 80.
Dans d'autres fichiers que j'ai en local, je vois 00 00 (version 0, non archivé), 01 80 (version 1, archivé) ou 80 00 (incorrect: version 0, archivé - bug de vieilles versions de libticalcs).
Un numéro de version 0x7F est... un chouia excessif, puisque je ne connais que jusqu'à la version 0x0A, et encore, pour les 84+CSE. Remplace cet octet par 0x00 ou 0x01, et réessaie d'effectuer le transfert avec la version à jour de libticalcs :)

Re: Problème Tilem2 (84+) ou tilp (84+SE), ticables et tok8

Unread postPosted: 28 Apr 2018, 20:21
by Hayleia
Excuse le temps que ça a pris pour tester quelque chose d'aussi simple, j'ai eu des problèmes avec ma bidouille :troll:

Bref ça marche (en tout cas pour dotA sur tilem, pas testé tilp ni FOX etc) :D
Reste plus qu'à ne plus avoir à changer cet octet à la main (soit je fais un truc qui passe derrière tok8x, soit je corrige tok8x, pas encore décidé) et je pourrais bosser pour de vrai.

Merci :)

edit fixed dans le tok8x chez moi. Et apparemment cette erreur est aussi réparée sur le tok8x sur github (celui que j'ai chez moi écrivait un nom de longueur 9 au lieu d'un nom de longueur 8 puis une version) mais vu que j'ai changé les tokens, ça ne m'arrange pas tellement de mettre à jour.

Re: Problème Tilem2 (84+) ou tilp (84+SE), ticables et tok8

Unread postPosted: 29 Apr 2018, 16:30
by Lionel Debroux
Ca va te créer tant de conflits que ça, dans le code, si tu mets à jour ? Le code de tok8x est déjà fait pour gérer plusieurs jeux de tokens.

Re: Problème Tilem2 (84+) ou tilp (84+SE), ticables et tok8

Unread postPosted: 29 Apr 2018, 17:11
by Hayleia
Lionel Debroux wrote:Ca va te créer tant de conflits que ça, dans le code, si tu mets à jour ? Le code de tok8x est déjà fait pour gérer plusieurs jeux de tokens.

Complètement. Je suis sur la branche old, même les fichiers ne sont pas pareils :P
À l'époque où j'utilisais ce truc, la branche master était en haskell. Sais pas où elle est partie celle là.
Si je "mets à jour", concrètement je jette tout ce que j'ai et je prends le nouveau :P
Et je remets mes tokens dedans du coup. Pour ce que j'en fais, s'il marche comme ça, ça me va.

Re: Problème Tilem2 (84+) ou tilp (84+SE), ticables et tok8

Unread postPosted: 29 Apr 2018, 17:35
by Lionel Debroux
Ah oui, c'est vrai que c'était du Haskell à l'époque.

Re: Problème Tilem2 (84+) ou tilp (84+SE), ticables et tok8

Unread postPosted: 30 Apr 2018, 11:40
by Adriweb
Je fais plus ou moins ma propre pub, mais est-ce que tivars_lib(_cpp) repondrait a ton besoin ?