60

pk -1 ?
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

61

parce que Kevin est contre.

62

PpHd
: Ca bouge pas tant que j'ai pas 20 gars pour me demander d'aller plus vite.

C'est pas mon problème, mais bon faudrait savoir si c'est 20 personnes qui demandent d'aller plus vite, ou si c'est 20 voix "pour" de plus que les voix "contre", ce qui n'est pas du tout la même chose. Ton 1er post était très clair, et les "20 gars" ont posté tongue
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

63

C'est pas mon probleme non plus.
De toute facon, c'est pas a moi de faire la routine.
Je me contenterais de la copier dans PedroM.

64

PpHd
: C'est pas mon probleme non plus.

Bah un peu si, c'est bien toi qui a posté ce que j'ai collé au-dessus...
De toute facon, c'est pas a moi de faire la routine. Je me contenterais de la copier dans PedroM.

Oula... Alors là par contre ça risque de trainer un moment.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

65

J'ai des bugs a corriger. C'est plus important qu'un gain de performances.
Quoique si j'ai rien a faire.

66

Je vote pour, et je suis assez d'accord avec ce qui a été dit. Ca ne sert à rien d'optimiser en taille si ça doit être injouable, même si le nombre d'applications touchées est infime.
avatar

67

Ca ira ca:
memcpy:
	move.l	4(a7),a1	;  Dest
	move.l	8(a7),a0	;  Src
	move.l	12(a7),d0	;  Len
	bra.s	memcpy_reg
memmove:
	move.l  4(a7),a1	;  Dest
	move.l  8(a7),a0	;  Src
	move.l  12(a7),d0	;  Len
	beq.s	memcpy_end
memove_reg:		
	cmp.l   a1,a0           ;  Src <= dest
	bhi.s   memcpy_reg
		add.l   d0,a0
	        add.l   d0,a1
\SlowLoop2	
			move.b  -(a1),-(a0)
	                subq.l  #1,d0
	                bne.s   \SlowLoop2
	        bra.s   memcpy_end	
memcpy_reg:	
	move.l	d0,d1		;  Copy len
	beq.s	memcpy_end
	lsr.l	#4,d1		
	beq.s	memcpy_slow
	move.l	a0,d2
	btst.l	#0,d2
	bne.s	memcpy_slow
	move.l  a1,d2
	btst.l  #0,d2
	bne.s   memcpy_slow
	subq.w	#1,d1		;  Max 65536*16=1Mo (sufficient)
	
	movem.l	d3-d5,-(a7)
\FastLoop		
		movem.l	(a0)+,d2-d5
		movem.l	d2-d5,(a1)
		lea	16(a1),a1
		dbf	d1,\FastLoop
	movem.l	(a7)+,d3-d5
	andi.l	#15,d0
	beq.s	memcpy_end
memcpy_slow:	
\SlowLoop
		move.b	(a0)+,(a1)+
		subq.l	#1,d0
		bne.s	\SlowLoop
memcpy_end:	
	move.l	4(a7),a0
	rts

68

Attention avec les movem sur HW1. Mais si tu désactives la protection anti-exécution en FlashROM (je pense que tu le fasses déjà), ça ira.
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é

69

???
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

70

Les HW1 prennent une lecture avec movem pour une exécution.
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é

71

Normalement elle est desativee. Mais j'ai la calc pour le tester.

72

[EDIT : censure]
avatar
I'm on a boat motherfucker, don't you ever forget

73

toi t'as raté une page grin
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.

74

ah vi tiens ^^
avatar
I'm on a boat motherfucker, don't you ever forget

75

Euh je crois pas qu'un movem avec si peu de registres soit plus efficace qu'un déplacement de long (a priori, c'est même pire : ça prend autant de mémoire que 4 move, et il y a des cycles de calcul en plus), et en plus c'est pas du tout efficace pour les memcpy de petite taille (overhead). Je comprends vraiment pas cette passion des gens pour les movem, sauf dans une boucle bien déroulée et en utilisant une bonne dizaine de regs (et pour un memset, c'est déjà plus compréhensible).

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

76

Ben alors fais le tongue

77

Mouarf. Je distribue ce code sous GPL avec pour exception : interdiction de modification par Kevin tongue Je ne pense pas que le surcoût de taille soit de plus de 30 octets, et la vitesse est très supérieure dans pas mal de cas (notamment memmove qui était plus de 5x trop lent dans la moitié des cas, et notamment quand la taille est faible [< 50 octets])

memmove:
	move.l  4(a7),a0	;  Dest
	move.l  8(a7),a1	;  Src
	move.l  12(a7),d0	;  Len
	beq.s	memcpy_rts
memove_reg:		
	cmp.l   a0,a1           ;  Src <= dest
	bhs.s   memcpy_reg
        add.l   d0,a0
	cmp.l   a0,a1           ;  Src >= dest+len
	bls.s   memcpy_reg2
		add.l   d0,a1
		lsr.l	#1,d0
		bcs.s	\Odd2
\SlowLoop2	
			move.b  -(a1),-(a0)
\Odd2
			move.b  -(a1),-(a0)
	                subq.l  #1,d0
	                bne.s   \SlowLoop2
	        rts
memcpy:
	move.l	4(a7),a0	;  Dest
	move.l	8(a7),a1	;  Src
	move.l	12(a7),d0	;  Len
memcpy_reg:	
	beq.s	memcpy_end     ; oh le beau hack ;)
memcpy_reg2:
	move.l	a0,d2
	sub.w	a1,d2
	lsr.w	#1,d2
	bcs.s	memcpy_slow
	move.w	d0,d1
	lsr.l	#4,d0
	subq.w	#1,d0		;  Max 65536*16=1Mo (sufficient)
	beq.s	memcpy_last
	move.l	a0,d2
	lsr.w	#1,d2
	bne.s   \FastLoop
	move.b (a1)+,(a0)+
\FastLoop		
		move.l	(a1)+,(a0)+
		move.l	(a1)+,(a0)+
		move.l	(a1)+,(a0)+
		move.l	(a1)+,(a0)+
		dbf	d0,\FastLoop
memcpy_last
	ror.w #4,d1
	bpl.s	\no8
		move.l	(a1)+,(a0)+
		move.l	(a1)+,(a0)+
\no8
	add.w d1,d1
	bpl.s	\no4
		move.l	(a1)+,(a0)+
\no4
	add.w d1,d1
	bpl.s	\no2
		move.w	(a1)+,(a0)+
\no2
	add.w d1,d1
	bpl.s	\no1
		move.b	(a1)+,(a0)+
\no1
memcpy_end:	
	move.l	4(a7),a0
memcpy_rts
	rts
memcpy_slow:	
	lsr.l	#1,d0
	bcs.s	\Odd
\SlowLoop
		move.b	(a1)+,(a0)+
\Odd
		move.b	(a1)+,(a0)+
		subq.l	#1,d0
		bne.s	\SlowLoop
	bra.s	memcpy_end

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

78

Tu peux pas enlever cette interdiction a la con. Ca me gene de mettre ca dans la licence...

79

J'imagine une L/GPL modifiée avec cette clause grin
avatar

80

De toute façon, Kevin dirait que cette clause n'a aucune valeur puisqu'on peut choisir après de relicencer ce code en GPL pure happy Non enfin tout ce que je veux dire c que j'ai pas trop envie que Kevin fasse interpréter memcpy par une machine virtuelle pour gagner deux octets, quoi. Mais j'imagine (enfin j'espère) que toi non plus tongue

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

81

Si j'ai envie de faire ça avec ma copie de PedroM, j'ai le droit! C'est ça le principe du libre. Si chacun s'amuse à y mettre ses interdictions préférées, la licence devient bientôt bien pire que les EULAs de M$!
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é

82

Mais j'ai pas dit que t'avais pas le droit, Kevin roll

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

83

Alors tu retires formellement ton interdiction ridicule s'il te plaît (au mieux en éditant ton message ./77).
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é

84

tu ne vas pas me faire croire que tu n'a pas vu l'ironie de cette partie de la phrase! roll
Quand on formule exprès quelque chose de ridicule et qu'en plus on met un smiley "tongue" c'est de l'ironie!
Tu as compris?
ridicule_exprès+smiley=vraie_ironie!

ridicule_pas_exprès_ou_vraiment_désobligeant+smiley=mauvaise_foi+insulte
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

85

On rigole pas avec les licences.

86

Exact.
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é

87

z'êtes pas drôles happy

De toute façon une modification comme celle-là n'a à peu près aucune valeur, puisqu'il y a tjs possibilité de relicenser le code en GPL pure. Et puisque vous y tenez, je le fais moi-même : je relicense ce code en GPL pure.

(les exceptions doivent toujours jouer dans le sens "licence GPL + autorisation de faire tel truc avec le code", et on peut éventuellement supprimer cette autorisation si on a envie; mais j'imagine que tu es plus au courant que moi là-dessus, Kevin).

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

88

a quand une bonne copie avec un movem digne de ce nomtongue

89

C'est implantee.
C'est urgent ?