30

latisfalada
on a *(p-2) et *(p-4) qui pointe vers les 2 handle mais voila, (p-2)=0x1E et (p-4)=0x1D mais a ces adresse je ne trouve rien de "alors?"


Tu es sûr que tu déréférences (HeapDeref) correctement les deux handles (0x1E et 0x1D dans ton cas) ?
Parce que les deux codes de Flanker et de Kevin fonctionnent très bien chez moi:
en déréférencant les deux handles, j'obtient deux adresses qui l'une comme l'autre pointent
à quelques octets près vers "alors?" (j'ai auparavant exécuté le petit programme en ti-basic
que tu donnes, et j'ai mis le menu customisée sur l'écran Home avec [2nd]+[3]).

31

euh, comment tu fais pour dereferencer un pointeur void*?
tu pourrais me filer ton code ?

32

HANDLE handle = (HANDLE) *(p-1);
HeapDeref(handle);

je pense que c'est ça, ou un truc qui s'approche
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

33

justement ca va pas
2 erreurs: deferencig void* pointer
void value not ignored as it ought to be

34

*(HANDLE *)(p-1)
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

35

attendez, p est un pointeur de type void* , si on a p-2=0x1E et que *(p-2) est un handle , cela signifie que a l'adresse 0x1E il y a le handle , vous etes d'accord ?

36

Flanker :
Et tu l'as comment le nom, si t'as pas de doc gol

Il est dans la doc de TIGCC! Il y a même le prototype. Mais pas de description.

Et sinon, tu connais OS.h? Il y a tous les noms des ROM_CALLs de AMS 1.01 là-dedans.
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é

37

bah alors t'es pas complètement sans doc, si tu as déjà os.h et la doc de tigcc
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

38

mais c'est vrai que mon code a une visée un peu différente, vu qu'il est fait à l'origine pour identifier les 2 handles, pas pour les changer

et quand je l'ai fait, je n'avais pas de doc du tout, juste un éditeur hexa et un désassembleur
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

39

latisfalada
attendez, p est un pointeur de type void* , si on a p-2=0x1E et que *(p-2) est un handle , cela signifie que a l'adresse 0x1E il y a le handle , vous etes d'accord ?

Nan nan nan, tu as *(p-2) = 0x1E, donc ton handle est 0x1E, et tu le déréférences avec HeapDeref, comme tout HANDLE.
Euh... un handle ne se déréférence pas comme les pointeurs char*,short*, long*, etc. Fais attention.
Ah, et un handle tiens sur 16 bits.
HANDLE *p = 1275[*(void***)200];

clrscr() ;
printf("0x%lx\n", (long)HeapDeref(*(p-1))) ;
printf("0x%lx", (long)HeapDeref(*(p-2))) ; ngetchx() ;


Est-ce que tu comprends mieux ce qui se passe avec ce code qui affiche les deux pointeurs 'pointant vers "alors?"'?

40

hum2 'tain je croyais que ca esistait pas HANDLE* et qui fallait utiliser que du void * trisotfl
sinon ca marche a merveille , merci JM_

41

De rien, ca fait plaisir wink