Uther Le 16/05/2003 à 09:11 Le code de TISH est buggé a mort j'en ai mare donc pour TIM je reprends mon code a 0 pour essayer de faire quelquechose de propre.
J'aimerai avoir votre avis sur les fonction que vous souhaiteriez avoir dans un shell avant de commencer pour faire quelque chose de propre.
Uther Le 16/05/2003 à 11:49 c'est déja prévu. le mien fera même le thé le jus d'orange et le chocolat chaud.
Uther Le 16/05/2003 à 12:19 si tu veux je veux tenter le multitache mais alors la je répond pas du nombre de bugs
Uther Le 16/05/2003 à 15:01 Le multitache ca serait sympa mais 80% des programmes évolués détournent les AI donc je vois mal comment l'implementer si je faisait du multi-applications en utilisant l'interruption du bouton ON, c'est un peu plus envisageable mais il y a quand même des prog qui la détournent. bref c'est pour TIM 2(2049) . En attendant j'attends toujours plein de remarques constructives pour TIM 1
Uther Le 16/05/2003 à 15:11 ok link c'est noté.
Vu que j'utilise ngetchx, on peut déjà recevoir des fichiers du PC mais il faut que je trouve un moyen de rafraichir une fois le transfert terminé.
Pour le link calc-calc, je vais me pencher sur le problème.
D'autre idées? Novatrices de préférence.
Uther Le 16/05/2003 à 15:58 bien ca c'est ce que j'ai prévu pour la partie systeme de TIM(qui est encore inexistante sur le TISH que j'avais posté). pour la prise de controle ca sera peut-être faisable via plug-in mais je ne compte pas l'implémenter dans le noyau(trop complexe par raport au l'interet) la partie système pourra supporter divers plug-ins.
Uther Le 16/05/2003 à 22:25 Pour la pedrom apps je m'y met c'est sur des que j'ai un truc convenable, d'ailleurs je l'ai d'abord programmé en me disant que ca serait utile sous pedrom. C'est pour ca que je me suis pas attardé sur le cas nostub. Pour le format des plug-ins, j'ai une petite idée déjà simple utiliser: lib dynamique kernel(tant pis pour kevin). Grace au systeme des libs conditionnelles de PreOS ca devrais être facile a utiliser.
Maintenant reste a voir le niveau d'integration les données a exporter. Pour le moment je ne compte programmer que la possibilité de:
- exporte une entrée dans le menu "systeme" qui exectute une procedure de la lib pour ajouter des fonctions systèmes( je prévois faire le café entre autre)
- exporte une entrée dans les "options" du shell qui lance une procedure de la lib avec la liste des handle des fichiers selectionnés(pour envoyer le fichier vers un editeur par exemple)
- exporte une entrée dans le menu configuration du lanceur d'APPS(un editeur d'icones par exemple)
l'avantage de ce système c'est qu'on peut packer ainsi le tout en une pack archive.
Si vous voyez d'autre chose qu'il faudrait pouvoir integrer dites le moi.
Vous embalez pas trop je n'ai encore fait aucun test donc il est possible que j'aie oublié un élément important qui compomete l'idée. Je vous donnerai les spécif quand je serai sur d'avoir un truc qui marche

Uther Le 17/05/2003 à 14:42 d'après mes premiers tests ca devrait marcher. alors voici les spécifs première version dites ce que vous en pensez:
*************************************************
* TIM : TI-Manager Plug-ins format *
*************************************************
I - Possiblitités
~~~~~~~~~~~~~~~~~~
Les plug-ins peuvent implementer les action suivantes:
* rajouter des commandes dans le menu de configuration du lanceur de
programme qui execute une fonction contenue dans le plug-ins
* rajouter des commandes dans la liste d'opértion sur les fichiers du shell
qui exectute une fonction contenue dans le plug-ins avec comme parametre
la liste des fichier selectionnés
* rajouter des commandes dans le menu de configuration qui execute une
fonction contenue dans le plug-ins
* s'associer a un type de fichier non executable: lorsque l'on tentera
d'executer un fichier de ce type, une fonction
* executer une fonction dans le plug-ins au démarage
* executer une fonction dans le plug-ins a la sortie
on pourra ajouter de nouvelles action si jamais celle ci ne suffisent pas
(jusqu'a 256)
II - Fonctionnement
~~~~~~~~~~~~~~~~~~~
Un plug-in peut utiliser une ou plusieurs des actions citées ci dessus: par
exemple le plug-ins "tim-ppg", permettra d'executer des fichier ppg(association)
et ajoutera une option dans les commandes du shell pour obtenir une version
décompressée d'un fichier ppg.
Les plug-ins seront sous formes de bibliothèques dynamique kernel. Cela permet-
tra d'utiliser la compression pack-archive(voir pack-archive)
III - Spécifications
~~~~~~~~~~~~~~~~~~~~
Les plug-ins devront avoir un numéro de version au moins égal a 1
Aucune contrainte au niveau du commentaire
1)General
---------
;---Signature et indexation des actions du plug-in TIM:
plug@0000: dc.b "TIMp"
dc.b "nom du plug-ins",0
dc.b nbre_d'action
dc.b type_d'action }
.... variable suivant la fonction } pour chaque action
.... (voir détail des actions) }
plug@0001: ;fonction associée a la première action
plug@0002: ;fonction associée a la seconde action
........
2)Détail des actions
--------------------
Voici le détail de la partie entre acolades en fonction du type de l'action:
* menu du lanceur d'APPS
dc.b 0
dc.b taille_chaine
dc.b "Chaine du menu",0
* menu du shell
dc.b 1
dc.b taille_chaine
dc.b "Chaine du menu",0
dc.w code_touche
* menu option
dc.b 2
dc.b taille_chaine
dc.b "Chaine du menu",0
* association
dc.b 3
dc.b "Extension",0
* demarrage
dc.b 4
* sortie
dc.b 5
III - Autres
~~~~~~~~~~~~
Le problème des pack-archives n'a pas été fixé definitivement mais pour éviter
de devoir décompresser toutes les pack-archives a la recherche des plug-in
valides(a chaque démarage), il faudra un fichier "tim-plug" qui regroupera les
entetes de tous les plug-ins disponibles.

Uther Le 17/05/2003 à 21:19 He bien alors je suis reparti, j'ai recommencé l'interface graphique, ca devrait être la même que l'ancienne a peu de chose pret, si vous avez des suggestion pour les plug-ins ou d'autre fonctionalités c'est le moment.
Je n'ai pas de suggestion, mais j'ai besoin d'une explication : dans la description des plug-ins que tu as donnée, je ne vois pas comment trouver la fonction associée à une action. Je ne sais pas trop comment fonctionne une lib dynamique, en fait. Comment tu fais par exemple si tu veux exécuter la deuxième action d'un plug-in pour trouver son adresse ?
Parce que d'après ce que j'ai compris, tu donnes les fonctions à la suite, ce qui fait qu'on ne sait pas où comment une action. Enfin, si, on doit forcément savoir, mais je ne comprends pas comment, c'est ça ma question.
Uther Le 18/05/2003 à 19:14 c'est simple la fonction numéro 0 contient la signature. Pour le moment chaque action est liée a une fonction donc la première action décrite dans la lib utilise la fonction numéro1 la seconde l'action numéro 2 etc. Au début je pensais mettre dans l'index le numéro de fonction associé a chaque fonction, mais vu qu'il n'y en aura toujours qu'une j'ai estimé qu'il était inutile de surcharger la signature.
Non, ce n'est pas ça que je voulais dire. En fait, ça doit être une question tellement bête que tu n'y penses pas : dans la signature de l'action 2, où est-ce qu'on sait où est la fonction plug@0002 ?
C le format de lib kernel qui veux et gere sa

Proud to be CAKE©®™
GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.
Uther Le 19/05/2003 à 08:50 vive PreOS et son format de lib conditionelle pour récupérer le pointeur sur la fonction2 de la lib timplug en version 1 minimum:
lib=kernel_LibsBegin("timplug",1);
ptr=kernel_LibsPtr(lib,2);
Par contre pour l'executer je passe par l'assembleur. Est-ce qu'il y a un moyen de faire executer en C une procedure dont on connait l'adresse directement?
Je t répondu dans l'autre topic.

Proud to be CAKE©®™
GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.
Uther Le 19/05/2003 à 11:43 Merci mais maintenant mon problème principal n'est plus les plug-ins mais sfontlib ma lib qui fait l'affichage en 4*6 taille fixe qui me semblait bonne, est finalement buggée, et c'est sans doute elle qui rendait TISH instable! je vais la reprogrammer elle aussi.
Uther Le 01/07/2003 à 16:13 Demain j'ai fini mon stage et je reprend TIM à 0. Si vous avez des suggestions, c'est maintenant ou jamais.