1

voila, j'y connais pas grand chose en asm mais je voudrais
modifier une source qui merde pour que le programme
fonctionne sur v200
La fonction problematique est la suivante et je ne sais comment
faire pour que la v200 soit detectée comme une CALC_92 et non 89
je pense a la taille de l'ecran comme expliqué sur d'autres posts mais j'y cale vraiment pas grand chose, si une ame charitable m'écoute?
;-------------------------------------------------------
; Return CALC_89 or CALC_92 to know on which calc the
; prog is executed
;Input> /
;Out> d0.w : CALC_89 or CALC_92
;-------------------------------------------------------
WhichCalc:
move.l $C8,d0 ;($C8) dans a0
swap d0 ;on change les deux mots
lsr.w #6,d0 ;petit décalage pour avoir
CALCULATOR
rts
A l'origine de plusieurs arcticles dans le magazine Hacker'z Voice, devenu à ce jour The Hackademy Journal, me voici, plus présent que jamais auparavant près à se mettre au service de notre belle et chère communauté.

2

tigcclib utilise la variable ScrRect, tu peux faire pareil.

3

	/* 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__:

Comme le dit le label final, le résultat est dans %d0. Pour les résultats possibles, ce sont: "0 on the TI-89, 1 on the TI-92 Plus, and 3 on the 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é

4

Merci Kevin, seulement c'est en effet ce code que j'avais vu dans un topic precedent mais si j'ai besoin de retourner CALC_89 ou CALC_92 ? je peux faire quoi?

On considerera une v200 comme une 92 smile
A l'origine de plusieurs arcticles dans le magazine Hacker'z Voice, devenu à ce jour The Hackademy Journal, me voici, plus présent que jamais auparavant près à se mettre au service de notre belle et chère communauté.

5

Si le programme utilise un tst pour voir de quel modèle il s'agit, les valeurs retournées par le code suffisent déjà, parce que ça n'a aucune importance si on met 1 ou 3, les deux sont non-nuls. C'est ce qui nous a permis de mettre 3 pour V200 dans TIGCC sans créer d'incompatibilités. Sinon, tu peux remplacer le 3 par un 1. Et même supprimer le test pour l'adresse de la table de saut, le test de ScrRect seul suffit si tu n'as pas besoin de distinguer entre TI-92+ et 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é

6

Dans quels cas c'est important de distinguer entre TI-92+ et TI-V200 ?
Je crois que j'ai déjà posé cette question, mais je ne me souviens pas de la réponse.
N'importe quel code pour TI-92+ ne marchera pas sur TI-V200 ?

7

jackiechan
: Dans quels cas c'est important de distinguer entre TI-92+ et TI-V200 ?

* Pour choisir des touches adaptées à la différente organisation physique des touches de chaque modèle.
* Pour utiliser les bonnes valeurs pour ROM_base (et ce qui en dépend) et pour la taille de la FlashROM.
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é

8

non je n'ai pas l'impression k'il y ai une importance, au pire, seule les touches ne seront pas compatibles, je reverrai ca ensuite des que cette verification sera passée smile
en tout cas merci de vos reponses smile
A l'origine de plusieurs arcticles dans le magazine Hacker'z Voice, devenu à ce jour The Hackademy Journal, me voici, plus présent que jamais auparavant près à se mettre au service de notre belle et chère communauté.

9

Kevin, dans ton code, il manquerait pas move.l ($c8),%a0 au début?
Ou alors j'ai vraiment rien compris...

Pour choisir des touches sur V200, ça serait sympa de savoir comment elles sont placées, genre avec un skin de VTI, (mais je crois que VTI ne suporte toujours pas la V200 sad)
Seb C bien

C bien, C beau, C ni Bosch ni Bush: C ++

10

C bien
: Kevin, dans ton code, il manquerait pas move.l ($c8),%a0 au début?

Si. smile
Pour choisir des touches sur V200, ça serait sympa de savoir comment elles sont placées, genre avec un skin de VTI, (mais je crois que VTI ne suporte toujours pas la V200 sad)

http://education.ti.com/us/product/tech/89/features/features.html
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é

11

skin de vti > il y a celui d'ExtendeD smile