1

Je voulais vous demander comment faire pour qu'un programme se lance au demarage, quel est le principe?

gLre
Ah ah ! Sacré Gödel, il avait l'idée de vouloir mettre au chômage tous les mathématiciens ce fourbe !

2

no idea, mais l'app startup peut le faire
sinon le truc c'est de faire un prog qui eteint la calc lui même, et donc quand tu rallumes tu es dedans smile
-pacHa

3

mais l'app startup peut le faire

J'aimerais surtout savoir pourquoi smile, enfin merci de ta réponse, sinon c'est pas un programme qui modifie l'os? d'ou le lancement de programme choisit au démarage?
Ah ah ! Sacré Gödel, il avait l'idée de vouloir mettre au chômage tous les mathématiciens ce fourbe !

4

Moi, j'aurais dit la même chose que Pacha (tu éteins toi-même), sinon, il y a la solution de faire un prog. en interruptions qui, à la fin de son exécution, lance le programme voulu si une variable vaut une valeur particulière. Ensuite, tu fais en sorte que le programme lancé change la valeur de la variable susdite dés son lancement (commence par un di pour éviter un bug) en une valeur que la prochaine interruption (il faudra songer à mettre un ei) interprètera comme un ordre de ne pas lancer le programme.
Le problème, c'est que au moment d'éteindre la calculatrice, il faut que la variable reprenne la valeur qui fait lancer le prog.

Si c'est pas clair, c'est normal, parce que c'est peut-être n'importe quoi... Lancer un prog. à partir d'une interruption et quitter la routine d'interruption pour se retrouver dans le prog en question, ça a l'air foireux ou du moins, ça demande quelques connaisances sur le lancement de prog (copie de celui-ci à l'adresse de départ (org $xxxx), positionnement du pointeur sur cette adresse, tout en quittant proprement l'interruption...)

5

en fait, on ne peut pas faire un programme du style de startup parce qu'on ne maitrise pas l'architecture du ti-os ( manque d'information )... enfin du moins moi...

pour pouvoir lancer un programme, il faudrai trouver l'adresse de boot à l'aquelle le processeur saute au démarrage et y changer les octets pour qu'il saute vers un loader de programme.

arrivé au loader de programme, on a un probleme parce qu'il faudrai réarranger la mémoire de façon correcte pour que le programme a lancé soit à l'adresse de base 9D95h et que les autres données important étant situés à ce adresse avant ne soit pas effacé. pour cela il faudrait modifié les variables servant au ti-os pour gérer la mémoire or on n'a aucune information sur le mode de gestion de la mémoire par l'os de la ti a ce qu'il me semble.
alors bon on pourrai trouver le loader de programme du tios et lui spécifier le programme a lancé, mais ne connaissant pas non plus son adresse, on est bloqué.

bon si vous parvenez tout de meme à arriver la, vous devez sauté a l'adresse de base ( ex: 9D95h pour 83+ ) pour pouvoir lancé le programme. maintenant que le programme est lancé il faut veillez à donner la main à l'os à la fin du programme. vous pouvez faire cela en stockant sur la pile l'adresse normale à laquelle la ti saute au démarrage ( celle que vous avez écrasé auparavant ) ainsi à l'execution du ret de fin de programme, le programme sautera à l'os.

bon il y a peu etre un autre moyen plus simple de procéder, ces de redéfinir le format des programmes pour qu'il est un entete de sorte que l'adresse de base puisse varier et un loader qui puisse copier le programme à un emplacement au pif et modifier les adresses dedans avant meme le lancement ainsi on n'a plus besoin de réorganiser la mémoire et de déplacer le programme a lancé à une adresse de base fixe ( 9D95h ) et donc ne plus avoir besoin de comprendre la gestion de la mémoire par l'os.
il reste toute de meme a avoir l'adresse de boot ( ou la ti saute au lancement ), en général c'est toujours l'adresse 0 pour la plupart des processeurs ( reste à vérifier).
et un autre probleme se pose c'est que tous les anciens programmes ne pourront pas etre lancé si on utilise la deuxieme méthode puisque ne possédant pas d'entete correcte.

juste un conseil , déja essai de faire un programme gérant le multiprocess, si t'arrive , t'as des chances d'arriver au programme qui se lance au démarrage parce que les meme probleme se pose, il y a une adresse de base fixe et 2 programmes ne peuvent pas etre à la meme adresse de base. donc ce qui veulent faire des programmes gérant le multiprocess, il faudrait définir un autre format ( comportant un entete ) pour les programmes or incompatibles avec l'ancienne format donc le multithread a peu de chance d'etre fesable sur ti, a moins que vous etes hyper fort et que vous vous mettez a créer un os doté de VM ( virtual machine ) et VXD et tous le tralala. bien évidemment il faudra aussi trouver une manière de lancer les anciens programmes mais je ne voi pas comment faire sans entete. meme le format com à une entete ( favorable au multiprocess ) et a une adresse de base préférentielle et non absolu.

pour résumer tous, il me semble que ce programme n'est pas de ton niveau mais ces bien de vouloir comprendre.

j'espère avoir été clair

6

Je ne vois pas ce que le multiprocess vient faire là dedans...

Concernant le manque d'informations, les gars de Detached solutions peuvent peut-être t'aider (notamment Michael Vincent).

Tu peux aussi tenter de décompiler le TI-OS et de le modifier afin de lancer un prog au démarrage... lol

7

pfff décompile le si tu veux et tu m'explique apres... merci d'avance.
pour le manque d'information, il me semble que c'est pas moi qui veut lancer un programme au démarrage donc pas besoin de me renseigner.


et pour le rapport avec le multiprocess, reli ce que j'ai écrit avant , c'est bien expliquer me semble.


8

Merci Mcbeach et pacHa pour vos réponses, je vois a peu près mieu comment on pourrais faire pour s'en approcher ou tout ud moin, obtenir un résultat a peu près equivalent.
juste un conseil , déja essai de faire un programme gérant le multiprocess, si t'arrive

Je voulais pas faire un programme qui se lance au demaragen c'était juste pour me renseigner, au cas ou pour plus tard.
j'espère avoir été clair

Oui smile


Ah ah ! Sacré Gödel, il avait l'idée de vouloir mettre au chômage tous les mathématiciens ce fourbe !

9

"pour le manque d'information, il me semble que c'est pas moi qui veut lancer un programme au démarrage donc pas besoin de me renseigner."

Tout à fait, le message s'adressait à gLRE.

Je maintiens cependant que le multiprocess n'a rien à voir là dedans, puisqu'il s'agit de lancer un programme et non deux.

10

je sais mais je ne dit pas de lancer deux programmes. je te parlais de la façon dont on fesais le multiprocess et la façon dont on pourrai lancer un programme au démarrage. en gros ce que je veux dire, c'est que si t'arrive a faire un programme qui arrive a lancé un autre ( uniquement un seul ) alors tu peux faire en sorte de mettre un programme qui se lance au démarrage. et je te parle de multiprocess parce que si t'arrive a en lancé un, tu peux en lancé deux d'ou le rapport avec le multiprocess. bien entendu tout cela suppose que t'utilise la 2eme méthode dont j'ai parlé précedemment.

11

Mc Beach, prend tes mail, je T envoyé des truc importants !
THANK YOU FOR
USING FAST-RPL

12

Ok, compris Mcbeach smile