;C prototype: void DrawScreen (void *sprt, void *dest); ; ;void DrawScreen (register long *sprt asm("%a0"), ; register void *dest asm("%a1")); xdef DrawScreen DrawScreen: move.b d3,-(a7) lea 242(a1),a1 moveq.l #5,d2 \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),d3 or.b d1,d3 move.b d3,-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),d3 or.b d1,d3 move.b d3,-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 dbf d2,\rep move.b (a7)+,d3 rts