30

Bon, j'ai trouvé le problème:
>15: void *OldHook=program_start[-1];
...
>82: // On verifie l'existence d'un ancien hook
>83: if (OldHook)
>84: {
>85: ASM_call(OldHook);
>86: }

Tu ne passes pas la structure d'évènements sur la pile là.
Mets:
EVENT_HANDLER OldHook=program_start[-1];
...
if (OldHook) (*OldHook)(ev);


Et d'ailleurs, il y a plein de "startup code" qui traînera dans ton hook. Mets:
#define NO_EXIT_SUPPORT // pas besoin de exit, atexit, assert, abort
#define NO_CALC_DETECT // la TI-89 est déjà reconnue et rejetée par le programme d'installation
#define NO_AMS_CHECK // c'est au programme d'installation de vérifier la version d'AMS
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

31

Ben en fait ça plante toujoursrage

Je commence sérieusement à me demander si il est possible de faire un installeur de hook d'évenements en C what
Plis fòs ba pengwen là !

mon site: http://www.slubman.info/
partie GP32: http://www.slubman.info/gp32
partie TI: http://www.slubman.info/ti

32

vu que SampleTSR fonctionne, c que ça doit être piossible smile
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

33

Oui, mais sampleTSR utilise de l'asembleur pour contourner une limitation du Croll
Plis fòs ba pengwen là !

mon site: http://www.slubman.info/
partie GP32: http://www.slubman.info/gp32
partie TI: http://www.slubman.info/ti

34

ben, c à ça sert l'ASM inline, entre autre...
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

35

slubman a écrit :
Ben en fait ça plante toujoursrage

Je commence sérieusement à me demander si il est possible de faire un installeur de hook d'évenements en C what

Je pense qu'il doit tout simplement y avoir 2 ou 3 erreurs quelque part dans ta source. Je vais regarder ça plus en détail ce weekend si j'ai le temps.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

36

Pas de pbsmile
Plis fòs ba pengwen là !

mon site: http://www.slubman.info/
partie GP32: http://www.slubman.info/gp32
partie TI: http://www.slubman.info/ti

37

Tiens, est-ce que tu pourrais me mailer les fichiers tels quels, sans ces !"§$%&/()=? de numéros de lignes qu'il faut supprimer avant de compiler?
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

38

Bon, désolé d'avoir mis aussi longtemps pour aller voir, mais j'avais plein de travail à faire pour l'université.

Je viens de regarder là, et ça y est, j'ai trouvé ce qui clochait. C'était mon hack pour récupérer
l'adresse de l'ancien hook. Remplace:
 extern void **program_start asm("tigcc_compiled.")
 EVENT_HANDLER OldHook=program_start[-1];

par:
 extern void *program_start asm("tigcc_compiled.")
 EVENT_HANDLER OldHook=(&program_start)[-1];

et ça marche!

Désolé pour l'erreur...
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

39

Merci beaucoup!!!smile
Plis fòs ba pengwen là !

mon site: http://www.slubman.info/
partie GP32: http://www.slubman.info/gp32
partie TI: http://www.slubman.info/ti

40

Une nnouvelle question, car malgré mes essaie aucune solution n'est satisfaisante:
COmment fait une fois que l'on a traité l'évenement pour le faire disparaitre de la file des evenements (par exemple en cas de double installation accidentelle du prog le kbdfunc est appelé deux foissad)
*J'ai essayer de mettre le code de la touche appuyé à 0 mais un caractère bizarre apparait à l'écran
*Changer le type d'évenement mais la calc planteconfus
Plis fòs ba pengwen là !

mon site: http://www.slubman.info/
partie GP32: http://www.slubman.info/gp32
partie TI: http://www.slubman.info/ti

41

ty met quelque chose du style
ev->Type = 0;

(pas sur que ce soit type... mais l'équivalent)
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

42

ev->Type=CM_IDLE;
Et CM_IDLE ne vaut pas 0!
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

43

bof, il me semble que qd on met le ve-->Type à 0, ça entraine que l'event qui était enregistré "disparait", et n'est donc plus vu par le TIOS...
du moins, je fais ça dans le TSR que j'utilises en permanence, sans que ça ai jamais planté
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

44

C'est possible, mais je ne conseille quand-même pas d'envoyer des évènements en-dehors de la rangée valable (et 0 est bien en-dehors de cette rangée). Les évènements partagent un espace de nombres avec les chaînes XR (utilisées pour la localisation), et les nombres en-dessous de 0x700 sont utilisés pour ces chaînes. Il y a un define CM_NOTHING qui vaut 0 dans tiams.h, mais AMS n'utilise jamais ça pour les évènements, et donc je ne suis pas sûr que ça ne peut pas donner de mauvaises surprises, surtout avec des mises à jour de AMS.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

45

OK.
merci du conseil smile
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

46

En fait j'avais mal placé le changement d'évenemnt, donc dans tout les cas après être passeé par mon TSR si on avait ev de type CM_KEYPRESSE celui ci était de type CM_IDLe d'ou le bogue!!!

AUtre question pourqoui quand on installe les TSR à partir d'un prog en basic, ceux ci peuvent être réinsatller en mémoire malgré la protectionconfus
Plis fòs ba pengwen là !

mon site: http://www.slubman.info/
partie GP32: http://www.slubman.info/gp32
partie TI: http://www.slubman.info/ti

47

Quelle protection?
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

48

Regarde bien dans les sources de la version distribuée sur mon site, y'a une partie qui est censé empeché une double installation du programmesmile
Plis fòs ba pengwen là !

mon site: http://www.slubman.info/
partie GP32: http://www.slubman.info/gp32
partie TI: http://www.slubman.info/ti