1

Bonjour, existe-t-il un moyen de faire tourner sur ti 92 + un programme conçu en asm pour ti 89 ???
merci

2

ben suffit denvoyer le fichier (en changeant lextension sil faut sur le pc) et puis ca marche mais ca affiche comme sur un ecran de 89 (cest adire qun rectangle en haut a gauche) et les touches ne correspondent pas
Y a deux fesses qui sont sur la plage et l'une dit à l'autre :
"Qu'est ce qu'on fait maintenant ?"
Et l'autre lui répond :
"Ben PROUT !!!"

3

si tu programme en ASM avec TiGCC (dsl, je conais pas assez pour te donner une solution directement en ASM) tu fais un truc genre:

#if ti92plus ... nananana tu met tes adresses touches et largeur ecran etc.. dans les mm variables que la version 89. bien sur, tu fé pareil pr la 89 et tu compile 2fois en changeant le type de calculatrice.

4

Le top étant d'avoir une compatibilité ON-CALC, c'est à dire k le programme est strictement le meme sur 89/92+ (donc une seule compilation) comme mes programmes et ceux de FlashZ, BlueZ et pphd smile

5

et comme Krypton grin
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

6

J'ajoute que la solution de nEUrOne fonctionne aussi avec GNU as. (Sauf que j'utiliserais des #ifdef plutôt que des #if en C et en assembleur GNU, mais ça relève du goût personnel.) Avec A68k, c'est:

 ifd ti89  ;ou ifne ti89 pour faire comme nEUrOne
;equates ou code TI-89
 endc
 ifd ti92plus ;ou ifeq ti89 pour faire comme nEUrOne
;equates ou code TI-92+
 endc


Sinon, une autre solution est de faire la détection en temps d'exécution, ce qui mène à une compatibilité binaire (plutôt que source) entre TI-89 et TI-92+. Il suffit de comparer le contenu de $c8 (0xc8 en assembleur GNU ou en C) avec $400000 (0x400000 en assembleur GNU ou en C) (compte bien tes zéros, il en faut 5). Si c'est >=, c'est une TI-92+, si c'est <, c'est une TI-89.
[edit]Edité par Kevin Kofler le 09-12-2001 à 20:11:37[/edit]
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

Une autre solution : tester la variable CALCULATOR.
tst.b CALCULATOR
beq.s ti89

8

C'est quand même plus rapide lol

9

Mais ça ne marche qu'en mode kernel, parce que CALCULATOR est un RAM_CALL.

Le suivant fait exactement la même chose sans RAM_CALLs:

 cmpi.l #$400000,($c8).w
 bcs.s ti89


Ou si vous êtes paresseux et que vous faites confiance à A68k:
 cmp.l #$400000,$c8
 bcs ti89
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é

10

Ca marche aussi en nostub.

if (CALCULATOR == TI89)
{

}

11

Oui, parce qu'en C, c'est une macro (qui fait plus ou moins ce que fait mon code, d'ailleurs - ça regarde si rom_base==0x400000, rom_base lui-même étant une macro faisant un and entre le contenu de 0xc8 et 0x600000). Ça ne passe pas en assembleur _nostub (il faut utiliser mon code en assembleur _nostub).
[edit]Edité par Kevin Kofler le 11-12-2001 à 21:14:33[/edit]
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é

12

J'ai jamais dit le contraire.

13

[pub]
Ou, autre solution, tu portes sous TIGCC la fonction GetCalcModel de system.azr >
 :word GetCalcModel[]  : renvoie 89 ou 92 suivant la calto
<
 moveq   #89,d0
 btst.b  #5,$CA
 seq     d1
 and.b   #3,d1
 add.b   d1,d0
 rts

[/pub]
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

14

c une macro seq?
"set if equal" ??
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

15

C'est pas une macro ! C'est une instruction !

16

aaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhhhhhhhhhhhhhhh
cest les trucs scc.....
Y a deux fesses qui sont sur la plage et l'une dit à l'autre :
"Qu'est ce qu'on fait maintenant ?"
Et l'autre lui répond :
"Ben PROUT !!!"

17

beuh, c vrai, scc sad
4/6 pour #i,dn
okokok... je pesais plus du tt à ça...
[edit]Edité par sBibi le 12-12-2001 à 18:40:02[/edit]
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

18

Je suis sûr que PpHd est capable d'optimiser ma routine devil
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

19

bon, c ma période connerie en ce moment sad
faites pas attention, je dis n'importe quoi...

bon, détecter les 89/92+, ça c bien, pas de pbl...

qqun a une méthode pour détecter vti?
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

20

Et bien toi qui beta test preos, regarde dans les sources wink

21

Thibaut > addq #3,d0 avec un bne.s, c'est pas plus rapide ?
Site : http://www.phareaway.com/
Membre du groupe Phare Away et webmaster du site

22

je pense ué wink
qques cycles de moins sans doute
+ simple aussi smile

ExtendeD>t'as raison, mais j'aime pas trop fouiller dans les sources des autres, je préfère qu'ils m'expliquent eux mêmes, ou bien alors qu'ils me disent d'aller voir...
ms bon, v voir qd même grin
[edit]Edité par sBibi le 12-12-2001 à 23:57:37[/edit]
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

23

t sûr qu'il reconnaît vti preos?
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

24

Détection de VTI -> regarder les sources de gray.s dans les sources de TIGCC, répertoire archive.
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é

25

oook, merci ;)
pour ceux que ça intéresse et qui ont la flemme d'aller voir::)


;/*-------------------------------------------------------------------------*/
;/* check for VTI (trick suggested by Julien Muchembled)                    */
;/*-------------------------------------------------------------------------*/
 trap #12         ;enter supervisor mode. returns old (sr) in %d0.w
 move.w #$3000,sr ;set a non-existing flag in sr (but keep s-flag)
 swap d0          ;save d0.w content in upper part of d0
 move.w sr,d0     ;get %sr content and check for non-existing flag
 btst #12,d0      ;this non-existing flag can only be set on the VTI
 bne _vti         ;flag not set -> no VTI
 swap d0          ;restore old sr content
 move.w d0,sr
 ...
_vti
 swap d0          ;restore old sr content
 move.w d0,sr
 ...

[edit]Edité par sBibi le 13-12-2001 à 08:30:48[/edit]
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

26

mmm, je n'avais pas vu que la détection de vti était en commentaire dans la version précédente de PreOS. Dans la nouvelle version, la routine a été enlevé.

Vti_PpHd:	lea	vti+1(pc),a0
	st.b	(a0)
vti	moveq	#0,d0
	bne.s	CalcIsVti
RealCalc:
;	...
CalcIsVti:
;	...


=> 10 octets (celle de tigcc fait 24 octets)

t'as raison, mais j'aime pas trop fouiller dans les sources des autres, je préfère qu'ils m'expliquent eux mêmes, ou bien alors qu'ils me disent d'aller voir...
Je pense que s'il l'a mis open-source, c'est pas pour rien. Merci PpHd smile

27

Il faudrait aussi voir comment GtkTiEmu réagit devant ces 2 routines de détection avant de faire un choix définitif.
Et la méthode de PpHd repose sur un véritable bogue de VTI (pipeline mal traîtée) alors que l'autre repose plus ur une particularité (bits supplémentaires dans le registre SR).
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é

28

Finalement est-ce que la dernière version de GtkTiEmu a un débugger qui fonctionne sous windows?

29

Thibaut: Ce qui me vient a l'esprit.
word GetCalcModel[] : renvoie 89 ou 92 suivant la calto
<
moveq #89,d0
btst.b #5,$CA
sne d1
add.b d1,d0
rts
>

Pour une parfaite detection, il faut faire :
Vti_PpHd:
lea vti+1(pc),a0
clr.b (a0)
st.b (a0) ; Cette instruction va modifier l'instruction suivante. Sous un vrai 68k, l'instruction suivante est deja chargee dans le proc !
vti moveq #0,d0
bne.s CalcIsVti
RealCalc:
; ...
CalcIsVti:
Et je ne connais AUCUN emulateur de 68k sur lequel ce test echoue.
Faut deja connaitre l'existence de la pipeline.

30

Heuuu mais additionner $FF.b à 89.b ça renvoie 88 ?!!
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.