30

decall:
lea virt_screen1,a1 ;adresse plan0 de graphlib dans a1
move.l virt_screen_adress3,a0
move.w posymap,d4
lsl.w #6,d4 ;multiplie le y par le nb de byte de la map pour ligne
add.w d4,a0 ;on postionne le sprite map
move.w posxmap,d5 ;on prend le x de la map
move.w d5,d2
lsr.w #3,d2 ;on divise le x par 8
add.w d2,a0 ;on ajoute le quotient à a1
moveq #7,d2 ;on met 8 dans 2
eor.w d2,d5
and.w d5,d2 ;on fait 8-reste division
addq.w #1,d2
lea (a1),a6
lea (a0),a3
moveq #127,d7 ;nb de ligne d'un écran de ti92+
retourdecall:
moveq #29,d0 ;met 30 dans d0 car 30 bytes dans l'écran
boucledecall:
move.b (a0)+,d1 ;met un octet de a0 dans d1
lsl.b d5,d1
move.b d1,(a1)
move.b (a0),d1 ;on met 1 octet a0 dans d1
lsr.b d2,d1 ;décallage vers la droite
or.b d1,(a1)+ ;ajoute mem vid
dbf d0,boucledecall
lea 30(a6),a6 ;ajout 30 bytes à pointage écran graphlib bien positionné
lea (a6),a1 ;on remet a1 à la nouvelle adresse
lea 64(a3),a3 ;on ajoute la largeur du sprite de la map positionné au
lea (a3),a0 ;debut et on le met dans a3
dbf d7,retourdecall ;et c'est reparti pour un tour

Bon g juste optimiser un poil, mais je sais pas a quoi ca sert...

31


Pour votre move.l #2,-(a7) : c'est optimisable en pea 2 wink
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

32

qq chose me dit que tu as lu la source de ***
j'espere en tous cas wink

33

Ha bon ?
Ce truc d'optimisation je le connais depuis assez longtemps. A ce propos, tu n'as toujours pas viré tes moveq.w tongue
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

34

>freka: Boh, on s'en fout du moveq.w car le compilo ignore le .w donc pas de probleme

En tant que mainteneur de A68k pour TIGCC, je ne peux pas te garantir que je ne vais pas changer cela dans des versions futures. La seule raison pour laquelle c'était toujours permis est que pour A68k, le mode d'adressage par défaut est .w et donc moveq tout seul était indistinguable de moveq.w. Mais moi, j'ai déjà mis un flag (pour empêcher l'optimisation des branches codés explicitement en .w) pour voir si le .w est explicit ou non, donc je peux rejeter moveq.w sans problèmes maintenant (en une ligne). Si je ne l'ai pas encore fait, c'est à cause de l'opposition de Pollux (son argument: Ça ne fait que rendre certaines sources incompatibles et n'empêche pas la compilation correcte des sources correctes. L'argument est parfaitement valable, mais je n'aime pas bien les sources incorrectes qui sont assemblées correctement).

>Thibaut: pea 2

Même pea.l (2).w. Mais A68k trouve cela tout seul.
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é

35

Je deteste les assembleurs qui modifie le code derreire toi ! rage

36

pea 2 ne spécifie aucune longueur, donc pea.l (2).w est une interprétation tout à fait légitime. Si tu n'en veux pas, pea.l (2).l te donnera ce que tu veux.
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é

37

a68k n'a pas le choix : il doit spécifier une taille. Donc il l'a donne par défaut. Comme on est des fainéants, il faut nous aider smile.
Site : http://www.phareaway.com/
Membre du groupe Phare Away et webmaster du site

38

ué, ou alors rajouter un paramètre pour activer/désactiver cette correction automatique.
si elle est désactivée, signaler s'il y a des erreurs de ce genre, sinon, les corriger...
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina

39

oué...
Pouruoi ne pas simplement faire attention ?
(lol)
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

40

désolé pour cette faute : au début j'avais mis move.w x
comme on m'avait dit que moveq etant plus rapide pour les petites valeurs, j'avais remplacé pour optimiser, et comme le compilo a accepté, j'ai pas cherché plus loin .... sad
c sur que si a68k l'avait rejeté, j'aurais cherché un peu plus et trouvé que c'était imcompatible ...
bon:
PpHd> ca sert à faire un scrolling smile
En préretraitre