60

bon g des pbs avec les rom calls
y'a qqchose qui marche po symfind retourne tjrs 0 dans d0
voici le code sad
        pea.l carte(pc)         jsr tios::SymFind         addq.l  #4,a7         tst.w   d0         beq     aaa2         rts aaa2:      lea 4(a7),a7      bra exit ;et en var :   dc.b 0  dc.b "carte" carte: dc.b 0
En préretraitre

61

euhhh
tu devrais pas plutôt mettre
carte dc.b "carte",0
?
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

62

hum
d'apres ce qu'on m'a dit nan couic
En préretraitre

63

Non, c'est bien ça.
Mais c'est un tst.l qu'il faut mettre, pas un tst.w.
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é

64

c ca qui fe merder ??
parce que apres il me trouve po ce qu'il fo sad
En préretraitre

65

bon il a l'air de trouver le fichier mais c po encore au point sad
En préretraitre

66

en fait y'a aucun moyen de savoir si l'adresse retournée est la bonne sad
En préretraitre

67

personne ne sait comment faire pour savoir si il trouve le bon handle ??
de plus y'a un format à sauter (extension, ...) avant d'acceder aux données ?
En préretraitre

68

        pea.l   carte(pc)         jsr     tios::SymFind         addq.l  #4,a7         tst.l   d0         beq     aaa2         DEREF   d0,a0         lea     2(a0),a0         move.w  (a0),d1         cmp     #125,d1         bne     aaa2         rts aaa2:      lea 4(a7),a7      bra exit  dc.b 0  dc.b "carte" carte: dc.b 0
En préretraitre

69

C'est faux.

Là, tu fais:
HSYM hsym1=SymFind($(carte));
HANDLE handle1=hsym1.offset; //faux
void *fptr=HeapDeref(handle1);
short x=*(short *)(fptr+2);


Alors que ce qu'il faut faire est:
SYM_ENTRY *sym_entry1=SymFindPtr($(carte),0);
if (!sym_entry1) return;
HANDLE handle1=sym_entry1->handle;
if (!handle1) return;
void *fptr=HeapDeref(handle1);
if (!fptr) return;
short x=*(short *)(fptr+2);


Comme tu vois, ce qu'il faut faire est beaucoup plus compliqué.
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é

70

Utilises SymFindPtr au lieu de SymFind
Et au lieu de
tst.l d0
=>
move.l SYM_ENTRY.hVal(a0),d0
move.l a0,d1

71

Voilà ce qu'il faut:
        clr.w   -(a7)
        pea.l   carte(pc)
        jsr     tios::SymFindPtr ;(beurk, c'est du mode kernel :()
        addq.l  #6,a7
        move.l  a0,d0 ;teste a0 en détruisant d0
        beq     aaa2
        move.w  12(a0),-(a7)
        jsr     tios::HeapDeref ;c'est ça qu'il faut utiliser! DEREF est très sale!
        addq.l  #2,a7
        move.w  2(a0),d1
        cmp.w   #125,d1
        bne     aaa2
        rts
aaa2:
        addq.l  #4,a7
        bra     exit
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é

72

merci ve regarder ca
et oui c kernell roll
et deref est sale ??
c celui de pphd donc je pense po qu'il soit trop sale smile
En préretraitre

73

PreOs est bourré de saletés, comme tous les autres kernels.
C'est sale parce que cette macro utilise une adresse absolue (donnée par un RAM_CALL, et sous AMS 2 aussi par un ROM_CALL non documenté) pour faire une chose pour laquelle il y a un ROM_CALL documenté (HeapDeref).
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é

74

gugusg a écrit :
et oui c kernell roll

Il faudrait peut-être penser à changer ça... roll
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é

75

Tatata, c'est sale Kevin :

        clr.w   -(a7)
        pea.l   carte(pc)
        jsr     tios::SymFindPtr ;(oué, c'est du mode kernel   #top#)
        addq.l  #6,a7
        move.l   a0,d0
        beq     aaa2
        move.w  SYM_ENTRY.hVal(a0),d0 ; Pas 12, c 10 sur 92 I !
        Deref d0,a0 ;DEREF est tellement plus pratique !
        move.w  2(a0),d1
        cmp     #125,d1
        bne     aaa2
        rts
aaa2:
        addq.l  #4,a7
        bra     exit

grin

76

confus
g po compris le dernier message hum
pq tu veut chnger tontuto ?
En préretraitre

77

PpHd
a écrit : move.w SYM_ENTRY.hVal(a0),d0 ; Pas 12, c 10 sur 92 I !

Qui programme encore pour TI-92 I (à part Ximoon et toi)?
J'ai essayé une fois (portage de XtraKeys vers Fargo), et comme il n'y avait que des ennuis, j'ai laissé tomber.
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é

78

gugusg a écrit :
confus
g po compris le dernier message hum pq tu veut chnger tontuto ?

Non, je te dis de changer le fait que ton programme est en mode kernel en lisant mon tutorial. grin
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é

79

Une faute d'orthographe :
"Mais passons à l'implémentation:"
on dit pas implémentation mais implantation. oui
Kevin Kofler a écrit :
Qui programme encore pour TI-92 I (à part Ximoon et toi)?
J'ai essayé une fois (portage de XtraKeys vers Fargo), et comme il n'y avait que des ennuis, j'ai laissé tomber.

Ca fait déjà 2 personnes, et c'est bien assez pour s'en préocupper.

80

PpHd
a écrit : Deref d0,a0 ;DEREF est tellement plus pratique !

C'est quand-même sale. tongue
Souvent ce qui est pratique est sale. grin

À ta place, je marquerais la macro comme "deprecated" et je l'implémenterais de la manière suivante:
DEREF MACRO
 exg.l d0,1
 exg.l a0,2
 movem.l d0-d2/a1,-(a7)
 move.w d0,-(a7)
 jsr tios::HeapDeref
 addq.l #2,a7
 movem.l (a7)+,d0-d2/a1 
 exg.l d0,1
 exg.l a0,2
 ENDM
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é

81

PpHd a écrit :
Une faute d'orthographe :
"Mais passons à l'implémentation:"
on dit pas implémentation mais implantation. oui

C'est une faute de vocabulaire alors, pas une faute d'orthographe. grin
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é

82

grin
t un comique toi
45212-6.gif
En préretraitre

83

Kevin Kofler a écrit :
C'est quand-même sale. tongue
Souvent ce qui est pratique est sale. grin

Ca peut se discuter. Et ce n'est plus sale. Ti a exporté sa table des handles dans une ROM_CALL, donc ce n'est plus sale.

À ta place, je marquerais la macro comme "deprecated" et je l'implémenterais de la manière suivante:
DEREF MACRO
 exg.l d0,1
 exg.l a0,2
 movem.l d0-d2/a1,-(a7)
 move.w d0,-(a7)
 jsr tios::HeapDeref
 addq.l #2,a7
 movem.l (a7)+,d0-d2/a1 
 exg.l d0,1
 exg.l a0,2
 ENDM

Objection votre honneur : ca prend plus de places.
Et meme Ti dans sa ROM utilise tres rarement HeapDeref.

84

PpHd
a écrit : Ca peut se discuter. Et ce n'est plus sale. Ti a exporté sa table des handles dans une ROM_CALL, donc ce n'est plus sale.

Si, c'est sale, parce que ce ROM_CALL là n'est pas documenté par TI. grin On ne connaît même pas son nom officiel!
Objection votre honneur : ca prend plus de places.

C'est pour ça que tu le déclares "deprecated". (Parce que ça prend plus de place qu'appeler HeapDeref directement.) Mais c'est la seule méthode propre.
Et meme Ti dans sa ROM utilise tres rarement HeapDeref.

Proverbe latin: "Quod licet Jovi, non licet bovi." grin
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é

85

parle po latin gol
En préretraitre

86

Traduction: "Ce qui est permis à Jupiter (le chef - dans ce cas TI), n'est pas permis aux bœufs (le peuple - dans ce cas les programmeurs qui utilisent 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é

87

Je suis Chrono, na tongue

88

et si le chef etait PpHd fuck
En préretraitre

89

lovelovelovelove

90

j'ai essaye en speed les 2 routines (pphd et kk) avec le fichier que KK m'as dit correct:
il trouve bien le fichier POUR 1 seule routines des 2
il ne reussit le test cmp #125 dans aucun des 2 tsss alors que dans le fichier carte il n'est cense y avoir que dc.w 125
mourn
c bYzarre couic
vé regarder ca si c po un truc tout con
En préretraitre