90

pour les float : en effet, g remarqué ke kan j'enleve les calculs de rotation, il va environ 20 fois plus vite... comment y fo faire pour utiliser ler virgules fixes

pour les graphismes : je suis pour l'instant en nostub, et j'aurais voulu le rester ... snif...
je vais quand meme essayé avec genlib

si vous avez d'autres propositions, allez,-y!

en tout cas, mercioui
Ancien pseudo : lolo

91

Si tu ne l'utilise pas déjà prends extragraph: c'est nostub est c'est assez efficace, moins que genlib mais assez efficace quan même
avatar

92

Kevin Kofler : est-ce que tu aurais des macros en C de calcul de virgule fixe?

93

Pas besoin de macros.
Tu calcules avec des long représentant les nombres *65536.
Pour la multiplication:
(unsigned long)(((unsigned long long)a*(unsigned long long)b)>>16)
Je sais, il y a plus rapide en assembleur, mais c'est très rapide par rapport aux virgules flottantes.
Le seul problème, c'est la division: la division de long long n'est pas implémentée. sad
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é

94

mmm, alors on peut prendre les macros de genlib. Il parait que la division de genlib renvoie parfois un résultat faux, ca arrive souvent?

95

c bon, je viens de tout mettre enlong en pultiplian par 256 (soit 8 bit, ce ki m'apporte au plus un erreur de 1 pixel a l'ecran), et je troune maintenant a 20 imgs /sec !!youpi !!!!
maintenant, apparament, c le graph qui limite, je vais me mettre a genlib....
rotfltrop heureux !!!
Ancien pseudo : lolo

96

Essaie d'abord avec ExtGraph en restant en _nostub, c'est plus facile pour commencer.

97

heuuuuuuuu extragraph : j'ai trouvé nul part.. c une libairye ? c koi ?
Ancien pseudo : lolo

98

http://tict.ticalc.org
Pour l'utiliser, tu inclus extgraph.h et extgraph.a par Add Files dans l'IDE de TIGCC, puis tu marque #include "extgraph.h" au début de ta source.
Après tu pourras utiliser les fonctions documentées dans le ZIP smile

99

merci !
ca c une reponse rapide love
Ancien pseudo : lolo

100

Ta multiplication, tu l'as fait avec des LSL ?
Site : http://www.phareaway.com/
Membre du groupe Phare Away et webmaster du site

101

heu, c koa des lsl ?confus
Ancien pseudo : lolo

102

Celle de Kevin ? sans doute ...

103

Logical Shift Left

Pour faire des multiplications rapides, en ASM tu utilise ça ou alors << en C dès que le multiplicande est du genre 2^n. C'est beaucoup plus rapide et c'est pour ça que KK a mis 256.
Site : http://www.phareaway.com/
Membre du groupe Phare Away et webmaster du site

104

ahhhh ben vi
une dicision : 10 temps machines
un decalage de bit (>>8) : 1 temps machine
Ancien pseudo : lolo

105

putain fai chiez ! hj'arrive pa a me logger sur le forum !!!!!mad
Ancien pseudo : lolo

106

ASL marcherait aussi dans ce cas ?

107

Heu. Je rappelle que sur certains processeurs, cette equivalence decalage <-> Multiplication par 2^N n'est pas toujours vrai (Ex les procs representant les nombres dans un corps de Gallois). Mais c'est TRES rare.

108

heu.. c koa l'ASL ?

je conais pas encore tous les termes.. je ne prgm en C ke depuis 2 semaines moi smile
Ancien pseudo : lolo

109

Non non, c'est de l'assembleur 68000 wink
Et il me semble que ASL a à peu près le même résultat que LSL ...
Du moins, CC transforme les << en ASL et pas en LSL

110

ASL c'est Arithmetic Shift Left.

La différence ne se fait pas sur le left, mais sur le ASR/LSR : ASR garde le bit de poids fort, pas LSR : donc c'est signé/non signé
Site : http://www.phareaway.com/
Membre du groupe Phare Away et webmaster du site

111

ok
Ancien pseudo : lolo

112

Ah oui, j'essaierai de faire ça sur un unsigned int plutôt que sur un int pour voir ce que donne CC.

113

heu...extgraph : ca sert surtout a faire du gray... moi je veux juste une procedure pour afficher les ligens plus rapidement....
Ancien pseudo : lolo

114

Non, pas seulement, FastDrawLine et FastDrawHLine par exemple ...
Et est-ce que tu utilises un écran virtuel pour accélérer l'affichage ?

115

na , et justement , j'tais en train de chercher ds untutorial comment faire , et j'ai pas trouvé...
comment y fo faire ?
Ancien pseudo : lolo

116

heu, pour FastDrawLine : il f
Ancien pseudo : lolo

117

et merde, raté

donc pour FastDrawLine : il faut mettre en paramatres :
(plan,xo,yo,x1,y1,mode^)

mais moi je suis en n&b... je mais koi ds plan ?
Ancien pseudo : lolo

118

En gros, tu définit 2 pointeurs sur des char par exemples (1 pour chaque plan, dans ton cas, un seul alors)
unsigned char *ecran;
// Tu alloues (avant le rendu) alors dynamiquement la mémoire nécessaire à l'écran.
ecran = (char*)malloc(LCD_SIZE);
// Tu utilises les fonctions de ExtGraph en leur indiquant pour destination l'écran virtuel :
// Par exemple :
FastDrawLine(ecran,0,0,LCD_WIDTH,LCD_HEIGHT,A_NORMAL);
// et tu affiches l'écran d'un coup :
FastCopyScreen((void*)ecran,(void*)LCD_MEM);


En gros c'est ça ...
Bon si tu veux savoir comment par exemple, effacer l'écran vir. d'un coup, l'inverser... demande smile

119

Si tu écris directement à l'écran, le plan pour toi est LCD_MEM.
Si tu utilises un écran virtuel, c'est (void*)ecran

120

bon, ben je demande smile
Ancien pseudo : lolo