include "doorsos.h" include "graphlib.h" include "userlib.h" xdef _ti89 xdef _main xdef _comment _main: jsr graphlib::clr_scr move.w #7,d0 move.w #5,d1 put_sprite: move.l #LCD_MEM,a1 ;on charge l'adresse de la memoire de l'ecran dans a1 lea sprite(pc),a0 ;on charge l'adresse du sprite dans a0 move.w (a0)+,d7 ;on recupère la hauteur du sprite sub.w #1,d7 ;on enlève 1 a la hauteur pour le dbra move.w d1,d2 ;oncopie d1 dans d2 mulu #30,d2 ;on multiplie d2 par 30 ext.l d2 ; d2 devient un long mot add d2,a1 ;on fait pointer a1 sur la bonne ligne move.w d0,d1 ;on copie d0 dans d1 lsr #3,d1 ;on divise d1 par 8 soit 2^3 ext.l d1 ;d1 devient par magie un long mot add d1,a1 ;on fait pointer a1 sur la bonne colone (fin presque) move.w #8,d1 ;on mets 8 dans d1 and.w #7,d0 ; on obtient le reste de d0/8 dans d0 sub.w d0,d1 ;on a le nombre de pixels qui manque pour bien placer le sprite add.w #8,d1 ;16=8+le reste de d0/8=d0 + d1-d0 boucle: clr.l d0 ;on efface d0 move.w (a0)+,d0 ;on copie les 16 premiers pixels dans d0 lsl.l d1,d0 ;on positionne bien le sprite rol.l #8,d0 ; or.b d0,(a1)+ ;1 rol.l #8,d0 ; or.b d0,(a1)+ ;1+1 rol.l #8,d0 ; or.b d0,(a1)+ ;1+1+1 rol.l #8,d0 ; or.b d0,(a1)+ ;1+1+1+1=4 lea 26(a1),a1 ;30-4=26 donc on vas a la ligne suivante dbra d7,boucle ;on recommence jusqu'a que d7 =0 jsr userlib::idle_loop rts ;et le sprite dois etre definie comme ceci ! sprite: dc.w 8 ;déclaration du sprite dc.w %1000000000000001 dc.w %0100000000000010 dc.w %0010000000000100 dc.w %0001000000001000 dc.w %0001111111111000 dc.w %0001000000001000 dc.w %0010000000000100 dc.w %1000000000000001 _comment: dc.b "Routines crée par Kraky avec l'aide de ti-fr",0 end
ben voila je voudrais si on peu l'optimzer car c'est celle la que j'utilise dans mon jeu !(avec un rajout de clipping , de sprite?*32,...
je presise que Kraky est au courant et c'est lui qui ma prmis
punky chut
