;C prototype: void DrawScreen3 (void *sprt, void *dest); ; ;void DrawScreen3 (register long *sprt asm("%a0"), ; register void *dest asm("%a1")); xdef DrawScreen3 DrawScreen3: lea 4082(a1),a1 \rep: moveq.l #31,d0 ;Sprite totale \b0: ;Gris clair ;Shadow plan0 ;move.b #-1,-1(a1) ;Shadow left move.b 3(a0),d1 not.b d1 move.b 3+4(a0),d2 or.b d1,d2 move.b d2,-1(a1) ;DrawScreen lightplane move.l (a0)+,d1 move.l d1,(a1)+ move.l d1,(a1)+ move.l d1,(a1)+ move.l d1,(a1)+ move.l d1,(a1)+ move.l d1,(a1)+ ;16 pixels move.b -4(a0),(a1) lea 6000-24(a1),a1 ;Gris foncé ;Shadow plan1 ;move.b #-1,-1(a1) ;Shadow left move.b -1(a0),d1 move.b 3(a0),d2 or.b d1,d2 move.b d2,-1(a1) ;DrawScreen darkplane move.l (a0)+,d1 move.l d1,(a1)+ move.l d1,(a1)+ move.l d1,(a1)+ move.l d1,(a1)+ move.l d1,(a1)+ move.l d1,(a1)+ ;16 pixels move.b -4(a0),(a1) lea 6-6000(a1),a1 dbf d0,\b0 lea -32*8(a0),a0 ;25 lignes \rep2: moveq.l #25,d0 ;Sprite totale \b2: ;Gris clair ;Shadow plan0 ;move.b #-1,-1(a1) ;Shadow left move.b 3(a0),d1 not.b d1 move.b 3+4(a0),d2 or.b d1,d2 move.b d2,-1(a1) ;DrawScreen lightplane move.l (a0)+,d1 move.l d1,(a1)+ move.l d1,(a1)+ move.l d1,(a1)+ move.l d1,(a1)+ move.l d1,(a1)+ move.l d1,(a1)+ ;16 pixels move.b -4(a0),(a1) lea 6000-24(a1),a1 ;Gris foncé ;Shadow plan1 ;move.b #-1,-1(a1) ;Shadow left move.b -1(a0),d1 move.b 3(a0),d2 or.b d1,d2 move.b d2,-1(a1) ;DrawScreen darkplane move.l (a0)+,d1 move.l d1,(a1)+ move.l d1,(a1)+ move.l d1,(a1)+ move.l d1,(a1)+ move.l d1,(a1)+ move.l d1,(a1)+ ;16 pixels move.b -4(a0),(a1) lea 6-6000(a1),a1 dbf d0,\b2 rts