;C prototype: void CopyScreenBufferToScreen (short x, short y, void *src, void *dest1, void *dest2); ; ;void CopyScreenBufferToScreen (register short x asm("%d0"), ; register short y asm("%d1"), ; register void *src asm("%a0"), ; register void *dest1 asm("%a2"), ; register void *dest2 asm("%a3")); xdef CopyScreenBufferToScreen CopyScreenBufferToScreen: add.w d1,d1 ;y*2 move.w d1,d2 lsl.w #4,d2 ;y*32 sub.w d1,d2 ;32-2=y*30 adda.w d2,a0 ;Ajoute y dans a0 lea 6000(a0),a1 move.l #127,d0 ;Prépare la boucle de 128 pixels \LineStart: move.l (a0)+,(a2)+ move.l (a0)+,(a2)+ move.l (a0)+,(a2)+ move.l (a0)+,(a2)+ move.l (a0)+,(a2)+ move.l (a0)+,(a2)+ move.l (a0)+,(a2)+ move.w (a0)+,(a2)+ move.l (a1)+,(a3)+ move.l (a1)+,(a3)+ move.l (a1)+,(a3)+ move.l (a1)+,(a3)+ move.l (a1)+,(a3)+ move.l (a1)+,(a3)+ move.l (a1)+,(a3)+ move.w (a1)+,(a3)+ dbf d0,\LineStart rts