ATTENTION, CETTE ROUTINE N'EST PAS DE MOI, JE NE L'AI PAS ESSAYEE:
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