;C prototype: void DrawScreen2 (void *sprt, void *dest); ; ;void DrawScreen2 (register long *sprt asm("%a0"), ; register void *dest asm("%a1")); section ".data" xdef DrawScreen ;Motif de 32x32 répété sur une zone de 234x200 pixels DrawScreen: movem.l d3-d7/a2,-(a7) lea 256(a0),a0 lea 7988(a1),a1 lea 8000(a1),a2 ;Réptition 6 motifs par colonnes soit 192 pixels de hauteur moveq.l #5,d7 ;Répétion du motif en hauteur \draw_up moveq.l #31,d6 ;Répétition du motif sur 32 pixels de hauteur et 216 pixels de largeur. \rep: move.l -(a0),d0 move.l d0,d1 move.l d0,d2 move.l d0,d3 move.l d0,d4 move.l d0,d5 move.w (a0),-(a2) movem.l d0-d5,-(a2) move.l -(a0),d0 move.l d0,d1 move.l d0,d2 move.l d0,d3 move.l d0,d4 move.l d0,d5 move.w (a0),-(a1) movem.l d0-d5,-(a1) suba.l #14,a1 suba.l #14,a2 dbf d6,\rep lea 256(a0),a0 dbf d7,\draw_up movem.l (a7)+,d3-d7/a2 rts