1

Je regardais en détail le link de pedrom 0.81 sur le site de la T3 et en particulier le handler de l'auto-int 4.

alors soit j'ai pas pigé comment marchent les ports quand on accède comme des words, soit y'a un bug.

Parce que je vois à la ligne 407 de tib.asm:

(ligne 373)
	lea	$60000C,a1			; DBus Configuration Register
...
(ligne 383)
	move.w	(a1),d2				; Read Status
...
ligne 407
\NoReceiveByte:
	btst	#9,d2				; Check if the int is triggered if Transmit Buffer is empty
	beq.s	\Exit
		lea	LINK_SEND_QUEUE,a0


Je suis d'accord, le bit 9 de d2.w=(a0).w=($60000C).w, c'est le bit CTX du registre selon http://www.galaxoft.org/linkguide/dbus.html

mais à la fin du code je trouve:
(ligne 432)
\DoNotTriggerIntForSend
	bclr	#1,(a1)				; Do not triggered Int4 if Send Buffer is empty
\Exit	movem.l	(a7)+,d0-d2/a0-a2
RTE:	rte	


Ici, c'est le bit 1 de ($60000C).w qui est effacé , alors qu'il est indiqué sur ma doc que ce bit est "Always 1" (pas utilisé quoi)
Je pense à mon avis qu'on devrait trouver ici:
bclr #9,(a1) ; Do not triggered Int4 if Send Buffer is empty

d'autre part dans link.asm dans la routine OSWriteLinkBlock à la ligne 100 pour activer le transfer du buffer je peux lire:
(ligne 96)
	cmp.w	4(a1),d1			; Compare to max size transmit buffer
	bhi.s	\Error				; Not enought space !
;	btst	#1,($60000C)			; Well if it is <> of 1, skip else set to 1
;	bne.s	\NoRetrig
		bset	#1,($60000C)
\NoRetrig:
	move.w	d1,QUEUE.used(a1)		; New number of bytes in transmit buffer


de même, pour activer le transfer on devrait lire:
		bset	#9,($60000C)


merci de me confirmer ce truc, à savoir: j'ai rien compris ou quoi? (vu que ça a l'air de marcher en général pisque personne ne s'est plaint grin )

2

3

nan le code de pedrom est bon, bset est en réalité bset.l qd on manipule des registres, et bset.b qd on manipule la mémoire ^^

(perso j'aime pas trop bset/bclr, or/and sont souvent plus efficaces...)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

4

5

Je viens de voir un autre truc dans doc/RomCalls.txt:
AB_serno It takes only the first 5 bytes of the serial number (I don't know how to access the last 2).

D'après la doc de tigcc, les deux derniers sont un checksum des autres.

6

Depuis quand ? Ca y'etait pas lorsque j'ai ecrit la fonction.

7

8

"vvvv" is a verification number

Je ne vois pourquoi ca serait un checksum ? C'est juste un machin de controle calcule je ne sais comment (Et j'ai pas cherche).

9

Peut-etre que TI ne s'est pas trop creusé la tête et a foutu un checksum batar pour eviter qu'on s'amuse a changer le serial ? (En admettant que cela soit possible)
C'est juste une hypothese ^^
"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#

10

Je ne sais rien sur ca.

11

PpHd
:
"vvvv" is a verification number

Je ne vois pourquoi ca serait un checksum ? C'est juste un machin de controle calcule je ne sais comment (Et j'ai pas cherche).

tu donnes la définition d'un checksum hehe ouais OK en pinaillant un checksum c'est une vraie somme , mais bon on va dire que vvvv c'est un intermédiaire entre un checksum et un CRC quoi grin

12

Ce qui correspond à un "machin de controle calcule je ne sais comment" oui
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

13

checksum = somme de controlle = somme.