je voulais savoir si c'était possible d'optimiser cela.
je pense pas qu'on puisse beaucoup l'accelerer, mais bon, on sait jamais avec les dieux qui trainent

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 divu.w #8,d5 ;on divise le x par 8 add.w d5,a0 ;on ajoute le quotient à a1 move.w #0,d5 ;on efface le mot faible de d5 swap d5 ;on écange les 2 mots de d5 move.w #8,d2 ;on met 8 dans 2 sub.w d5,d2 ;on fait 8-reste division lea (a1),a6 lea (a0),a3 move.w #127,d7 ;nb de ligne d'un écran de ti92+ retourdecall: move.w #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 #0,(a1) or.b d1,(a1) ;on ajoute à 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 add.w #30,a6 ;ajout 30 bytes à pointage écran graphlib bien positionné lea (a6),a1 ;on remet a1 à la nouvelle adresse add.w #64,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 ;)
[edit]Edité par gugusg le 18-11-2001 à 10:27:50[/edit]
[edit]Edité par gugusg le 19-11-2001 à 12:39:36[/edit]