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.11.1 Bindings für filled_polygon TOS Pure-C: void filled_polygon( int16_t *xy, int16_t count ); Assembler: It is assumed that the contrl field has already been entered in the Line-A parameter block. movem.l D0-D2/A0-A2,-(A7) ; Save registers move.l pParamblk,A0 ; Pointer parameter block LINEA move.w (4,A0),A1 ; contrl nach A1 move.w count,(2,A1) ; Anzahl Punkte nach contrl[1] move.l (12,A0),-(A7) ; alten Wert des ptsin Feldes retten move.l xy,(12,A0) ; Feld mit Koordinaten der Ecken in LINEA.ptsin move.w y1,(40,A0) ; zu zeichnende Zeile, Y-Koordinate in LINEA.y1 move.w colbit0,(24,A0) ; Bit für erste Plane in LINEA.fg_bp_1 move.w colbit1,(26,A0) ; Bit für erste Plane in LINEA.fg_bp_2 move.w colbit2,(28,A0) ; Bit für erste Plane in LINEA.fg_bp_3 move.w colbit3,(30,A0) ; Bit für erste Plane in LINEA.fg_bp_4 move.w wmode,(36,A0) ; Writemode in LINEA.wrt_mode move.w patptr,(46,A0) ; Linienmuster in LINEA.patptr move.w patmsk,(50,A0) ; Anzahl Muster in LINEA.patmsk move.w mode,(54,A0) ; Clipmode in LINEA.clip move.w cx1,(56,A0) ; linke obere Clip-Ecke, X-Koordinate in LINEA.xmn_clip move.w cy1,(58,A0) ; linke obere Clip-Ecke, Y-Koordinate in LINEA.ymn_clip move.w cx2,(60,A0) ; rechte untere Clip-Ecke, X-Koordinate in LINEA.xmx_clip move.w cy2,(62,A0) ; rechte untere Clip-Ecke, Y-Koordinate in LINEA.ymx_clip dc.w $A006 ; Line-A opcode move.l pParamblk,A0 ; Pointer parameter block LINEA move.l (A7)+,(12,A0) ; alten Wert des ptsin Feldes restaurieren movem.l (A7)+,D0-D2/A0-A2 ; Restore registers