120


Pour le link, en fait il faut que la 2eme TI connectée soit dans le HOME
(ce n est pas une communication entre deux ti sous pct, mais une
sous pct et l'autre dans le home). Mais je pourrais aussi utiliser
OSCheckSilentLink pour que ca marche aussi quand la ti
connectée est aussi sous pct

sinon c vrai je pourrais utiliser cmd_sendcalc pour envoyer un fichier
(au moment ou j'avais écrit les routines, cette fonction n etait pas
encore documentée. j'avait donc réécrit le protocole, le meme
que celui utilisé pour une connection PC - TI).
Mais dans tous les cas, la TI connectée doit d'abord envoyer
sa VAT. J'avais donc repris aussi le meme protocole que lorsque
le PC demande a la TI sa VAT. Et donc ca marche tres bien
sous Vti (avec une vrai ti connectée, ou alors avec deux vti
en virtual link). Mais ca marche pas entre deux vrais ti!

>> vous avez pas des sources qui utilisent LIO_SendData
pour voir si j'ai pas oublié un truc???


sinon PpHd, avec preos v0.71, quand shrnklib n est pas presente,
et qu on execute le packarchive, ca n affiche effectivement rien.
donc c clair ce serait cool de mettre un petit message.


A+
Ben

121

Voici le code de IsCalcReady, qui marche bien sous VTI
mais pas entre deux vrais TI :
(pourtant c pas tres compliqué)


IS_READY_SIZE equ 4
is_ready_data: dc.b $08,$68,$00,$00

; Commandes :
; PC > TI92 : $09
; PC > TI92+ : $08
; PC > TI89 : $08

;-----------------------------------------------------
; Check if the calc is ready
;Out> d0.w : 0 = false 1 = true
;-----------------------------------------------------
IsCalcReady
movem.l d1-d2/a0-a2,-(a7)
move.l #IS_READY_SIZE,-(a7)
pea is_ready_data(PC)
TIOS_CALL LIO_SendData
addq.l #8,a7

bsr WaitForAck
movem.l (a7)+,d1-d2/a0-a2
rts


;-----------------------------------------------------
;Out> d0.w : Byte
;-----------------------------------------------------
GetByte:
movem.l d1-d2/a0-a2,-(a7)

clr.w -(a7) ;create stack frame
move.l a7,a2

move.l #50,-(a7) ;timeout
move.l #1,-(a7) ; 1 byte
move.l a2,-(a7) ;addr of buffer (stack frame)
TIOS_CALL LIO_RecvData
lea 12(a7),a7

tst.w d0
bne LinkErrorCatcher

clr.l d0
move.b (a2),d0

addq.l #2,a7
movem.l (a7)+,d1-d2/a0-a2
rts

;-----------------------------------------------------
;Out> d0.w : Word
;-----------------------------------------------------
GetWord:
move.l d1,-(a7)
bsr GetByte
move.w d0,d1
bsr GetByte
lsl.w #8,d0
move.b d1,d0
move.l (a7)+,d1
rts

;-----------------------------------------------------
; WaitForAck
;Input>
;Out> d0.w : 0=false 1=true
;-----------------------------------------------------
WaitForAck:
bsr GetByte ;Get ID_CALC
bsr GetByte
cmp.b #$56,d0
bne.s \failed
bsr GetByte ;
bsr GetByte
moveq.w #1,d0
\exit rts
\failed clr.w d0
bra.s \exit

122

ben meme avec une TI sous pct et l'autre en home ca ne marche pas!!! Ca ne marche qu'avec VTI

123

Conclusion, mettez vous a VTI ca coute moins cher qu'une TI et vous pouvez en faire plus!!! triso (enfin sous reserve de ne pas payer la ROM arg...)
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é.

124

J'm'escuse Ben si tu comptais sur moi pour tester sur V200 réelle, mais en ce moment il m'arrive que des merdes mad avec tout ce qui a
un rapport avec l'informatique :
3 pcs (d'ma famille, j'sert de dépanneur ^^) plantés de chez plantés, une 89 grillée, et un tèl portable qui a choppé un virus je sais pas comment ^^
Bon enfin, c'est pas ma période c'est tout.
Dès que j'ai un peu de temps et un peu plus de chance je teste ta RC et te donne le résultat.
@+ Dude.
"De l'Art de faire des Posts qui ne servent a Rien." (c) Ximoon

15:13 @Ximoon - 29-11-2005
"C'est débile ce sondage, une fois de plus Dude, tu ne sers à rien #hehe#" #love# Il est collector celui là ^^

18:56 @Ximoon - 09-10-2010
"Mince Dude sert à quelque chose %) (pas taper :D )" Owii xD #trilove#

125

Ben, pour le controle d'une TI, tu peut peut etre essayer de contacter deadbird,
il y a un projet similaire sur son site dans ses applications flash: LinkWalk
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é.

126

BenSche :
Voila ce que j'utilise dans texas Fighters pour l'instant :

EnvoiDonnees:
	movem.l		d1/a0-a1,-(a7)
	move.w		d0,-(a7)
	move.l		a0,-(a7)
	CALL		OSWriteLinkBlock
	addq.w		#6,a7
	movem.l		(a7)+,d1/a0-a1
	rts

EnvoiGrossesDonnees:
	movem.l		d1/a0-a1,-(a7)
	move.l		d0,-(a7)
	move.l		a0,-(a7)
	CALL		LIO_SendData
	lea		8(a7),a7
	movem.l		(a7)+,d1/a0-a1
	rts




ReceptionDonnees:
	movem.l 	d1/a0-a1,-(a7)
	move.w		d0,-(a7)
	move.l		a0,-(a7)
	CALL		OSReadLinkBlock
	addq.w		#6,a7
	movem.l		(a7)+,d1/a0-a1
	rts

ReceptionGrossesDonnees:
	movem.l 	d1/a0-a1,-(a7)
	move.l		#20,-(a7)
	move.l		d0,-(a7)
	move.l		a0,-(a7)
	CALL		LIO_RecvData
	lea		12(a7),a7
	movem.l		(a7)+,d1/a0-a1
	rts


;-----------------------------------------------------
; Entree :
;	> d0.b	= Octet a envoyer
;-----------------------------------------------------

EnvoiOctet:
	move.b		d0,TempVarEnvoi
	move.w		#1,d0
	move.l		#TempVarEnvoi,a0
	bsr		EnvoiDonnees
	rts

;-----------------------------------------------------
; Sortie :
;	> d1.b	= Octet Recu
;-----------------------------------------------------
ReceptionOctet:
	clr.b		TempVarReception
	move.w		#1,d0
	move.l		#TempVarReception,a0
	bsr		ReceptionDonnees
	move.b		TempVarReception,d1
	rts




Pour la reception :
ReReceptionneBG:
	bsr		ScanneClavier				; Lecture du clavier
	TesteTouche	KeyESC					; Sortie
	beq		AnnuleSyncSlave
	move.l		AdresseBackGround,a0
	move.l		#TailleTotaleBufferBG,d0
	bsr		ReceptionGrossesDonnees
	tst.b		d0
	bne		ReReceptionneBG






Pour l'envoi :
	move.l		AdresseBackGround,a0
	move.l		#TailleTotaleBufferBG,d0
	bsr		EnvoiGrossesDonnees
	tst.b		d0
	bne		AnnuleSyncMaster


A savoir que la calc receptrice doit etre en attente avant que l'envoi ne commence...
Site personnel
Site professionnel

msn / mail : racine.f(at)free.fr