;C prototype: void DrawBlockNoShadow (short x, short y, void *sprite, void *dest); ; ;void DrawBlockNoShadow (register short x asm("%d0"), ; register short y asm("%d1"), ; register void *sprite asm("%a0"), ; register void *dest asm("%a1")); xdef DrawBlockNoShadow DrawBlockNoShadow: add.w d1,d1 ;y*2 add.w d1,d1 move.w d1,d2 lsl.w #3,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 move.b d0,(a1) move.b d0,1(a1) move.b d0,3724(a1) move.b d0,3724+1(a1) \bcl_drawblock: move.b (a0)+,(a1) move.b (a0)+,1(a1) move.b (a0)+,3724(a1) move.b (a0)+,3724+1(a1) lea 28(a1),a1 dbf d2,\bcl_drawblock ;Ligne noire move.b #-1,(a1) move.b #-1,1(a1) move.b #-1,3724(a1) move.b #-1,3724+1(a1) rts