;C prototype: void DrawBlock2 (short x, short y, void *sprite, void *dest); ; ;void DrawBlock2 (register short x asm("%d0"), ; register short y asm("%d1"), ; register void *sprite asm("%a0"), ; register void *dest asm("%a1")); xdef DrawBlock2 DrawBlock2: add.w d1,d1 ;y*2 move.w d1,d2 lsl.w #4,d2 ;y*32 sub.w d1,d2 ;32-2=y*30 lsr.w #3,d0 ; d3 = x/16 add.w d0,d2 ; d1 = 18*y + x/16 adda.w d2,a1 ; a0 += offset moveq.l #5,d2 moveq.l #0,d0 \bcl_drawblock: move.b (a0)+,6000(a1) move.b (a0)+,6000+1(a1) move.b d0,(a1) move.b d0,1(a1) addq.l #2,a0 lea 30(a1),a1 dbf d2,\bcl_drawblock rts