1

si ça vous interesse, j'ai rilizé TFP..

le pack arrive dans sa version 1.1 avec:
-l'editeur onCalc
-l'editeur onPC pour windows
-la librairie maintenant 6*plus rapide qu'ams en petite police
et 5*plus en grande
-3 polices: comic, mini, lapin689(en devel)
-un utilitaire de conversion de polices rapatriees par le graphlink
en .h pour les inclure au programme
(pas recommandé par moi..)

voila, si vous l'utilisez ou pensez l'utiliser, laissez un post...
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

2

ouaip...grin
En HIBERNATION !
C'est une façon pour moi de dire merde à la société :D

MERCI sBibi ENCORE ET ENCORE POUR ...

From Grenoble.

3

yepsmile
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

4

Yes!!!

5

yogrin

6

ok!
d'autres?
des remarques?
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

7

Si tu me la passe avant ce soir 20h, je pourai essaye de programmer un tgv bis avec pour voir sa rapidite, et pour mes gruges de prepawink
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

8

Ha ca doit etre la version dans la news de ton site.. je vais essayewink
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

9

oui, c'est celle là.
et l'interpreteur basic est bietot fini
c'est un truc style flib...
je l'ai fait, maintenant, j'ecris la doc...
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

10

et j'ai fait une page pour les fonts donc:
FAITES DES FONTSgrin
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

11

Erf j'ai regarde un peut les sources:
void XChar_XOR(unsigned short x,register unsigned char *map,short hau,unsigned char offset,unsigned char *Plane)
{
Plane += offset; //adresse de la premiere ligne du sprite
Plane += x>>3; //adresse de la premiere colonne du sprite
x&=7;
while(hau)
{  
	*Plane ^= (*map)>>x;         //avant la séparation du sprite entre 2 Bytes
	*(Plane+1) ^= (*map)<<(8-x); //après la séparation
	Plane +=30;
	map++;
	hau--;
}
}

Tu devrais utiliser des long ou des short ce serait plus rapide.Le mieux etant d'utiliser des short pour eviter d'avoir trop de shift (quand tu fais un << ou un >> ca correspond a un deplacement de bits que l'on appele shift.
Le mieux est donc pour obtenir la rapidite maximale:
tester l'abscisse.. si le reste est superieur a 8 alors tu incremente le pointeur de 2 (pointeur en char) et tu fais une routine avec <<
si c'est inferieur a 8 tu fais une autre routine avec >>.
si c'est egale a 0 alors tu fais une routine sans rien car aussi bisard que ce soit, si tu fais un << ou >> avec 0 comme nombre de shift c'est enormement lentwink
Il faut donc faire 3 boucle differentes.. cela peut te semble exagere, mais le gain de vitesse sera consequent...
Si tu veux il y a des sources ici qui sont pas tres bien programme mais ca peu t'aider:
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

12

Erf si tu veux encore plus gagner en rapidite:
tu remplaces ta boucle principale par (et faudrai la convertir pour travaille en short...:
if (hau&0b1)
{
*Plane++ ^= (*map)>>x;
*Plane ^= (*map++)<<(8-x);
Plane +=29;
}
hau>>1;
while (hau--)
{
*Plane++ ^= (*map)>>x;
*Plane ^= (*map++)<<(8-x);
Plane +=29;
*Plane++ ^= (*map)>>x;
*Plane ^= (*map++)<<(8-x);
Plane +=29;
}
cette optimisation est plus rapide pour h>=4.. elle permet de divise par 2 le nombre de while (c'ad dbra me semble t'il, qui vaut 10 cycles..)
NB: theoriquement (*map++) devrai etre plus rapide que
(*map) .. map++, car cela permet d'utilise la postincrementation ((a0)++ etc..) de meme pour plan ...

Si tu faits toutes les modif que je t'ai dit.. tu peux largement gagner 2khz de frequence je pense...
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

13

je vais essayer ta rutine...
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

14

le plus rapide est bien entendu de travaille qu'avec des short...
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

15

if (hau&0b1)
{
*Plane++ ^= (*map)>>x;
*Plane ^= (*map++)<<(8-x);
Plane +=29;
}
hau>>1; 
while (hau--) 
{ 
*Plane++ ^= (*map)>>x; 
*Plane ^= (*map++)<<(8-x); 
Plane +=29; 
*Plane++ ^= (*map)>>x; 
*Plane ^= (*map++)<<(8-x); 
Plane +=29; 
} 

c'est plus lent que la rutine d'origine!!
par contre, je vais essayer avec des shorts ou des longs.
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

16

t'inquiete pas pour l'optimisation!
y'a deux heurs de boulot a optimiser et tester chaque optimisation rien que pour XChar...
-----
(*map++)

plus lent que

(*map)...map++
------
*plane =XXX;
*(plane++) =XXXX;
plane+=29;

plus lent que
*plane =XXX;
*(plane+1) =XXX;
plane+=30;
--------

et y'a plein de trucs bizarres comme ça
de plus, moins de lignes d'asm ne veut pas dire moins de cycles...
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

17

je vais essayer en optimisant ta rutine...
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

18

et pour TGV2?
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

19

en plus elle deconne ta rutine!
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

20

Erf je sais tres bien mais:
move.b (a0)+,d0 = 8cycles
et
move.b (a0),d0
addq #1,d0 =>12 cycles il me semble wink

le probleme vient de tigcc wink

sinon pour le if (hau&1)...
en asm c'est plus rapide pour hau>4
tu as essaye avec quoi comme hauteur?
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

21

moi, j'essaye avec des chaines...
comme ça c'est globalwink
mais je te dis que je l'ai optimisé au max!
C pour ça ki phoque je passe a l'asm
(prochaine version)
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

22

d'autres remarques?
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

23

Bein je vais esaye de faire une routine et je te la donnerai pour compare...
Pour tgv2 ta routine ne fait pas l'italique ce qui est regretable, de plus le gras n'est pas gere dans la routine elle meme ce qui oblige a dessiner 2 fois le meme caractere;(
je vais voirwink
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

24

je sais, mon bold, C dla daub!
mais c'est que la 0.6bgrin
pour l'italique pareil!
mais tu peux faire une police italique!
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

25

Bon j'ai pas put la programme: j'ai plus qu'un 133... et je prog en C toujours avec le sdk..

Donc si tu veux je te fais la routines asm...
(a68k ne demande pas beaucoup de ram:happy)
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

26

oki, mais respecte le prototype C
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

27

alors, ça intersees d'autres gens?
(ça y est, j'ai fait la lib basic)
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay