Line A Routines
move.l #0,-(sp) * GEMDOS terminate command
trap #1 * call GEMDOS and exit
*** SEEDABORT must point to this subroutine BEFORE
*** you can use the SeedFill function
NoAbort:
move.l #0,d0 * return FALSE
rts * and let SeedFill do the next line
*** Data for input is stored here
■ data
*** fill pattern in the shape of the word "LOVE"
love: dc.w $0000, $3078, $30CC, $30CC
dc.w $30CC, $30CC, $3E78, $0000
dc.w $66FC, $66C0, $66C0, $32F8
dc.w $1EC0, $0EC0, $06FC, $0000
*** Solid fill pattern
pat2: dc.w $FFFF
*** Vertices for polygon fill, and number of vertices
points: dc.w $70, $70, $F0, $C0, $10, $90, $70, $70
length dc.w 0,3
*** Vertices for line draw
pointsl: dc.w $80, $60, $120, $60, $120, $C0, $80, $60
*** Fill coordinates and color for outline mode fill
*** Note that the color is VDI color index, not the
*** color register number.
fillpt: dc.w $90, $64
fillcol: dc.w 1
*** Fill coordinates and color for color mode fill
fillptl: dc.w $70, $72
fillcoll: dc.w -1
*** If you haven't opened a GEM Virtual Workstation,
*** you must point CUR_W0RK here before using SeedFill.
*** Since SeedFill takes the fill color from the current
*** Virtual Workstation, you must supply a dummy one
*** with the fill color in the 16th word.
vwork dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
.end
Bit Block Transfer Operations
Among the most complex and powerful of the line A func
tions are those that perform bit block transfer operations,
known more commonly as bit blitting. These functions allow
you to combine source bitplanes with destination bitplanes,
using a number of different logic operations. Their main use
is moving graphics objects around on the screen quickly.
The main line A bit blitting function is called BitBlt
($A007). This function requires so many input values that the
programmer must place them in their own 76-byte parameter
151