1

ben oui, g arrete de coder en asm juste avant que la v200 sorte (avant meme qu'on aie la 2.06 de dispo sur le forum...)

avant j'utilisais ca pour detecter le type de calc:


sf CalcVersion
cmpi.l #$400000,($c8).w
shi CalcVersion

avec:

CalcVersion dc.b 0

mais visiblement, ce meme code me reconnait une v200 comme etant une 89...
ca a du etre dit quelquepart, mais vu le nombre de topics qu'il y a eu depuis que j'ai arrete, j'ai pas vraiment envie de tous les passer a la moulinette pour extraire l'info en question. surtt que yAro a nettoye la bdd, et que du coup certains y sont peut etre plus...

enfin bon, ca doit etre un truc tout con que vous devez certainement avoir, dc si qqun qui l'a passe par la... qu'il hesite pas smile
merci d'avance...
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina

2

Problème connu, ça fait longtemps qu'on a corrigé ça dans TIGCC. Voilà le code utilisé dans tipatch.lib pour la détection de modèle:
| Get the address of the jump table (needed a few times).
| Note that calling a function will destroy %a0; be sure to check whether
| this is still valid for screen-saving support whenever you make a change in
| between.
	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__:

Ce code met les valeurs suivantes dans d0:
valeur | calculatrice détectée
-------+----------------------
0      | TI-89
1      | TI-92+
3      | Voyage 200

(La valeur 2 est réservée pour les TI-92 simples au cas où des versions futures de TIGCC et/ou PreOs - les codes de modèle sont mis en commun pour les 2 projets - les supportent.)
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é

3

ah, ok, donc en fait pour differencier une 89 d'une v200 ca teste la taille de l'ecran?

par contre pourquoi 200?
| If ScrRect+2 (x2) is less than 200, it is a TI-89.
cmp.b #200,2(%a1)

avec un test de la taille exacte ca marche pas?
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina

4

> avec un test de la taille exacte ca marche pas ?
Je pense que ça doit marcher. De toute façon, ça ne changerait rien au niveau vitesse, donc ça n'a pas vraiment d'intérêt...
C'est la même chose que le test du nombre de ROM_CALLs pour AMS 1.xx / AMS 2.xx: 1000 ne correspond à aucune version d'AMS, mais les AMS 1.xx ont moins de 1000 ROM_CALLs, les AMS 2.xx plus de 1000 ROM_CALLs.
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

5

ok, je c bien que ca changerait rien au niveau vitesse ou taille, mais ct juste pour savoir si ct pke ca pouvait arriver que la valeur change? (on c jamais grin)
qd je comprends pas un truc, je prefere etre sur, ca evite des surprise par la suite smile

merci bcp a ts les deux! smile
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina

6

Justement, ça pourrait arriver théoriquement que la valeur change pour laisser une marge de quelques pixels, c'est pour ça que Sebastian a préféré utiliser 200 pour le test plutôt qu'une valeur exacte.
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é

7

ah ok, ben c ca que je voulais savoir
merci smile
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina