30

Voilà le code de détection utilisé par TIGCC (attention, c'est de l'assembleur GNU):
| Get the address of the jump table (needed a few times).
	move.l 0xC8,%a0
	/* Calculator Detection */
| At first, assume TI-92 Plus.
| It takes less space to write the values into %d0 first and then check whether they are correct.
	moveq #1,%d0
| Move the address of the jump table to %d1.
	move.l %a0,%d1
	and.l #0x400000,%d1
| Now %d1 is 0 on a TI-89 or V200, or 0x400000 on a TI-92+.
	jbne __calc_in_d0__
| Otherwise, assume TI-89.
	clr.w %d0
| Get the address of the ScrRect variable into a1.
	move.l (%a0,0x2F*4),%a1 /* ScrRect */
| If ScrRect+2 (x2) is less than 200, it is a TI-89.
	cmp.b #200,2(%a1)
	jbcs __calc_in_d0__
| Otherwise, it is a V200.
	moveq #3,%d0
__calc_in_d0__:
| Fill __calculator now, since __calc_is_OK__ may be located at different places.
	lea __calculator(%pc),%a1
	move.w %d0,(%a1)

avec:
	.xdef __calculator
	.even
__calculator:
	.word -1


Mets ce code au début de ton programme (et la variable en un endroit approprié), puis:
tst.w __calculator ;beq TI-89, bne TI-92+/V200
cmp.w #1,__calculator ;beq TI-92+
cmp.w #3,__calculator ;beq V200
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

Oké, je tacherai de le coder en A68k...
Et après, j'enlève le xdef _ti92plus pour que le prog sorte en 89z, c'est ça?

(je préfère toujours confirmer avant de faire une connerie...)
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

32

Pourquoi veux tu enlever le 9xz si tu fais un programme compatible avec la TI-92+???
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é

33

Pour n'avoir qu'un seul fichier sortant.
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

34

Et l'intérêt? Vu que ton programme est compatible TI-89 et TI-92+, autant distribuer un 89z et un 9xz...

Mais effectivement, supprimer xdef _ti92plus supprimera le fichier 9xz.
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

Et si il code son truc de façon à ce que ce soit compatible pour les 2 calculettes, mais qu'il omet le xdef _ti92plus , son prog sera aura-t-il des différences par rapport à s'il le met ?

36

Sais pas, j'ai utilisé le code de doubleK pour faire un Hello World en 89z qui affiche le texte au milieu de l'écran quelle que soit la TI...
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

37

jackiechan
a écrit : Et si il code son truc de façon à ce que ce soit compatible pour les 2 calculettes, mais qu'il omet le xdef _ti92plus , son prog sera aura-t-il des différences par rapport à s'il le met ?

Non, il n'y a pas de problèmes. Par contre, c'est différent pour le USE_TI92PLUS en C!
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

Ah oui, merde, de toute façon, il programme en ASM, donc ça ne changera rien. Merde, dsl pour cette question débile.