30

squale92 a écrit :
s'il te reste de la place dans un de tes fichiers de données, pkoi ne pas y mettre du code ?
(et, qui plus est, tu peux le compresser smile)

Parce qu'il faut:
* le reloger.
* penser à la protection des HW2.
Je déconseille très fortement cela sauf si on sait exactement ce qu'on fait.
Vertyos
a écrit : Au fait, je n'ai rien vu la dessus, y a-t-il moyen d'utiliser la compression ppg pour les DLL ?

Pour le moment, non.
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

> Je vais peut-être avoir recours aux DLL. Pourquoi ça serait improbable ?
Je me suis mal exprimé. Ca m'étonnerait que tu sois obligé d'avoir un programme d'un peu moins de 64 KO, plus un DLL "non standard" (tu refais tout toi-même comme FAT-Engine) de 64 KO, plus un DLL standard _nostub.
Si ton projet est aussi monstrueux au niveau du code (sans compter les GFX en externe), il a intérêt à être bon !

> Au fait, je n'ai rien vu la dessus, y a-t-il moyen d'utiliser la compression ppg pour les DLL ?
En principe non. LoadDLL cherche un fichier terminé par une extension entre deux 0x00 puis OTH_TAG, dont la signature est "DLL".
Mais ce problème peut être contourné, je pense, en faisant comme FAT-Engine (tu fais ton DLL toi-même, tu le compresses en PPG). Dans ce cas, l'extension du format de commentaires _nostub aux PPG, dont on discute sur le forum de TIGCC/TICT, te permettrait peut-être de trouver sans problème ton DLL. Tu pourras ajouter un "magic marker" dedans pour plus de sécurité.
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

32

XDanger
a écrit : Je me suis mal exprimé. Ca m'étonnerait que tu sois obligé d'avoir un programme d'un peu moins de 64 KO, plus un DLL "non standard" (tu refais tout toi-même comme FAT-Engine) de 64 KO, plus un DLL standard _nostub.

128ko non surement pas smile
Mais il y aura probablement un fichier de code et une DLL perso.
Si ton projet est aussi monstrueux au niveau du code (sans compter les GFX en externe), il a intérêt à être bon !

<Vertyos> juste pour répondre à XDanger
<BiHi> ui?
<Vertyos> est-ce que GBS avec une DLL ça vous semble un trop gros moyen pour un jeu qui n'en vaut pas le coup ?
<BiHi> mais non
<MacIntoc> utilise XLib en dynamiqueroll
<Vertyos> MacIntoc > et en répondant à la question c'est oui ou non ?
<MacIntoc> nan

En fait parmis tous les ß-testeurs il n'y a aucun avis contre (sauf Titane qui ne m'a rien dit en bien ou en mal) smile
Mais ce problème peut être contourné, je pense, en faisant comme FAT-Engine (tu fais ton DLL toi-même, tu le compresses en PPG). Dans ce cas, l'extension du format de commentaires _nostub aux PPG, dont on discute sur le forum de TIGCC/TICT, te permettrait peut-être de trouver sans problème ton DLL. Tu pourras ajouter un "magic marker" dedans pour plus de sécurité.

Ok... Ça reste du bidouillage, j'y penserais si :
- Il y a besoin d'une DLL
- Sa taille devient assez importante.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

33

ça ne me semble pas très rigoureux comme méthode

ça marche pas mal smile
jamais eu de report de bug de mes B-testeurs venant de là smile
et c en gros ce que font les Dll... sauf que les Dll ne sont pas compressées, et que toutes leurs fonctions sont en RAM, pas seulement celles qui servent à un moment donné smile
Parce qu'il faut:
* le reloger.
* penser à la protection des HW2. Je déconseille très fortement cela sauf si on sait exactement ce qu'on fait.

reloger, il me semble que c bon (on fait un EX_patch dessus)
HW2 => c'est qu'il faut mettre USE_IN_GHOST_SPACE (ou un truc comme ça) dans l'exe principal ? (je le fais)
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

34

squale92
a écrit : reloger, il me semble que c bon (on fait un EX_patch dessus)

Oui.
HW2 => c'est qu'il faut mettre USE_IN_GHOST_SPACE (ou un truc comme ça) dans l'exe principal ? (je le fais)

Oui. (C'est EXECUTE_IN_GHOST_SPACE.) Et il ne faut pas oublier d'ajouter 0x40000 à l'adresse de la fonction externe qu'on appelle.
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é

35

Oui. (C'est EXECUTE_IN_GHOST_SPACE.)

heu, oué smile
(l'inconvénient de bosser sur des gros projets : on le met une fois pour toute => on le mémorise pas)
(ou de faire des copier-coller grin)
Et il ne faut pas oublier d'ajouter 0x40000 à l'adresse de la fonction externe qu'on appelle

oué, c bon, j'y pense.
je sais plus d'où j'ai pris l'exemple dont je me suis inspiré, mais il le faisait... donc je l'ai fait smile

merci 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

36

Et si on utilise que des addresse relative, le EX_Patch est t'il indispensable ??
avatar
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.

37

Je ne crois pas, godzil. Mais je vais laisser KK confirmer ma réponse.

Sinon, pourquoi est-ce qu'on doit ajouter $40000 à l'adresse de la fonction externe qu'on appelle ?

38

godzil
a écrit : Et si on utilise que des addresse relative, le EX_Patch est t'il indispensable ??

Non. Mais GCC utilise en général autre chose que des adresses relatives.
jackiechan
a écrit : Sinon, pourquoi est-ce qu'on doit ajouter $40000 à l'adresse de la fonction externe qu'on appelle ?

Parce que l'adresse n'est pas dans l'espace fantôme, et que donc, si on l'appelle directement, ça plante sur HW2.
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

heu meme si le code est en ram sa plante ?

Ya un truc que je pige pas. Si on est en superviseur, on peut bien faire un jump ou l'on veux que je sache non ? (cf ints)

Donc il y aurait pas de test de positionnement du PC si on est en superviseur ?
avatar
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.

40

Pourquoi il faut qu'une adresse soit dans cet "espace fantôme" pour qu'on puisse exécuter le bout de code qui y est ?
(si tu as un lien vers une doc ou bien des explications, ne te prive pas. Je suppose que tu as du répondre à cette question plus d'une fois, je ne voudrais pas te demander de me rerépéter ce que tu as déjà dit)

41

godzil
a écrit : heu meme si le code est en ram sa plante ?

Oui.
Ya un truc que je pige pas. Si on est en superviseur, on peut bien faire un jump ou l'on veux que je sache non ? (cf ints)

Non. La protection anti-exécution de TI n'a aucun rapport avec le mode superviseur.
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é

42

Ah ok, c'est à cause d'une protection anti-exécution de TI.
Mais comment vous avez fait pour trouver tout ça ?

43

Kevin > Alors pourquoi quand on a une interruption (Trap ou autre) la ti ne plante pas ?
Alors qu'on execute pas le trap redirigé dans le ghost space ??
avatar
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.

44

jackiechan a écrit :
Ah ok, c'est à cause d'une protection anti-exécution de TI. Mais comment vous avez fait pour trouver tout ça ?

Julien Muchembled, Zeljko Juric et Johan Eilert ont fait des essais.
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

godzil a écrit :
Kevin > Alors pourquoi quand on a une interruption (Trap ou autre) la ti ne plante pas ? Alors qu'on execute pas le trap redirigé dans le ghost space ??

Parce que le handler d'interruption se trouve à l'intérieur de l'espace d'exécution de ton programme ou de celui 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é

46

mais si j'allou de la ram pour y copier du code
et que je fait pointer l'interuption sur se code, sa marche !

(C comme sa que marchait TiGuard 1)
avatar
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.

47

Sur HW1 et sur HW2 AMS 1.05, ça marche. Pas sur HW2 AMS 2 sans HW2Patch.
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

haaaa
TiGuard etait devel avec ma89 hw1 c pour sa

ok..
Donc si on utilise des détournement d'it faut utilise $40000 + ptr ?
avatar
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.

49

Oui (sauf si tu es dans un programme non-TSR, auquel cas tu peux utiliser l'espace d'exécution du programme tout simplement), et sans oublier de déprotéger l'espace fantôme avant, et faire en sorte qu'il reste déprotégé au moins jusqu'à désinstallation de l'interruption. Pour un TSR, cela veut dire utiliser h220xTSR.
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é

50

merci smile
avatar
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.

51

Ok... Ça reste du bidouillage, j'y penserais si :
- Il y a besoin d'une DLL - Sa taille devient assez importante.

Ce que j'ai dit (compression PPG) ne marchera probablement pas. En revanche, la compression en TTArchive marchera (les deux formats sont les mêmes, à très peu de choses près, mais le PPG est censé être exécutable directement, ce qui ne sera pas le cas ici pour un DLL).
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.