Topic : TOS - The Operating System Author : Version : tos.hyp (December 19, 2008) Subject : Programmieren/Atari Nodes : 3010 Index Size : 93790 HCP-Version : 5 Compiled on : Atari @charset : atarist @lang : @default : Title @help : @options : +g -i -s +x +zz -t4 @width : 70 View Ref-File6.19.1 Bindings for copy_raster TOS Pure-C: void copy_raster( void ); /* WARNING: NOT supported ! */ Assembler: movem.l D0-D2/A0-A2,-(A7) ; Save registers move.l pParamblk,A0 ; Pointer parameter block LINEA move.l (4,A0),A1 ; contrl to A1 move.l s_mfdb,D0 ; Address source MFDB to D0 move.w D0,(8,A1) ; Lower WORD source MFDB to contrl[8] lsr.l #8,D0 ; Move upper WORD of D0 ... lsr.l #8,D0 ; ... onto lower WORD move.w D0,(7,A1) ; Upper WORD source MFDB to contrl[7] move.l d_mfdb,D0 ; Address destination MFDB to D0 move.w D0,(10,A1) ; Lower WORD destination MFDB to contrl[10] lsr.l #8,D0 ; Move upper WORD of D0 ... lsr.l #8,D0 ; ... onto lower WORD move.w D0,(9,A1) ; Upper WORD destination MFDB to contrl[9] move.l intin,(8,A0) ; contrl in LINEA.contrl move.l (8,A0),-(A7) ; Save old value of the intin field move.l intin,(8,A0) ; intin in LINEA.intin move.l (12,A0),-(A7) ; Save old value of the ptsin field move.l intin,(8,A0) ; ptsin in LINEA.ptsin move.w patptr,(44,A0) ; Line pattern in LINEA.patptr move.w multifill,(50,A0) ; Plane flag in LINEA.multifill move.w copy_tran,(116,A0) ; Copy mode in LINEA.copy_tran dc.w $A00E ; Line-A opcode move.l pParamblk,A0 ; Pointer parameter block LINEA move.l (A7)+,(12,A0) ; Restore old value of the ptsin field move.l (A7)+,(8,A0) ; Restore old value of the intin field movem.l (A7)+,D0-D2/A0-A2 ; Restore registers