home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 2
/
crawlyvol2.bin
/
apps
/
dtp
/
pgsmodst
/
atariimp
/
metafile.s
< prev
next >
Wrap
Text File
|
1991-05-23
|
18KB
|
1,117 lines
Include "equ.h"
Include "impequ.h"
SECTION metafile,CODE,PUBLIC
*******************************************
*** object format ***
*******************************************
dumbentry:
clr.l d0
rts
dc.l "IMPO"
dc.w 201
dc.l 0
table: dc.l 0
dc.l name,special,check,metafile
*
* GEM Metafile
*
check: move.l table,a0
move.l buff1(a0),a1
move.l (a1),a1
cmp.w #$ffff,(a1)+
bne never
cmp.w #$0e00,(a1)
beq v101
cmp.w #$1800,(a1) ;major version number
bne never
v101: moveq #2,d0
rts
*
*
*
metafile:
move.l #1200,xpoint
move.l #1200,ypoint
move.w #0,angle
clr.b object+ob_Flag
clr.w object+ob_Slant
clr.w object+ob_Twist
move.w #50,object+ob_LWidth ;1 point line
move.b #1,object+ob_LType ;solid line
move.b #1,object+ob_LColor ;black line
move.b #0,object+ob_FType ;no fill
move.b #1,object+ob_FColor ;black fill
clr.b object+ob_LBegin
clr.b object+ob_LEnd
move.w #900,object+ob_HStandOff ;1/8 inch
move.w #900,object+ob_VStandOff ;1/8 inch
move.l table,a0
move.l f_openr(a0),a0
jsr (a0)
move.l table,a0
move.l o_open(a0),a0
jsr (a0)
move.l table,a0
move.l o_begingroup(a0),a0
jsr (a0)
beq meta10
bsr objgeti
bsr objgeti
move.w d0,length
moveq #4,d0
bsr objskip
bsr objgetie
move.l d0,objdx
bsr objgetie
move.l d0,objdy
bsr objgetie
move.l d0,-(sp)
bsr objgetie
move.l (sp)+,d1
sub.l objdx,d1
sub.l objdy,d0
cmp.l d1,d0
bcs meta0
move.l d0,d1
meta0: move.w #1600,xyscale
meta1: cmp.l #24000,d1
bcs meta2
lsr.l #1,d1
lsl.w xyscale
bra meta1
meta2: moveq #0,d0
move.w length,d0
lsl.w #1,d0
sub.w #16,d0
bsr objskip
meta5: bsr objgeti
beq meta10
cmp.w #$ffff,d0
beq meta9
move.w d0,opcode
bsr objgeti
beq meta10
move.w d0,vertex
bsr objgeti
beq meta10
move.w d0,integer
bsr objgeti
beq meta10
move.w d0,subopcode
lea gemlist,a0
meta6: move.w (a0)+,d0
beq meta8 ;just skip it
cmp.w opcode,d0
beq meta7 ;execute routine
addq.l #4,a0
bra meta6
*
meta7: move.l (a0),a0
jsr (a0) ;go do the meta command
bra meta5
*
*
meta8: bsr opskip
beq meta10
bra meta5
opskip: moveq #0,d0
move.w vertex,d0
lsl.w #1,d0
add.w integer,d0
lsl.w #1,d0
bra objskip
*
* end of input file. close and flush buffer
*
meta9: move.l table,a0
move.l o_endgroup(a0),a0
jsr (a0)
beq meta10
move.l table,a0
move.l o_close(a0),a0
jsr (a0)
move.l table,a0
move.l f_closer(a0),a0
jmp (a0)
*
*
*
opf0: addq.l #4,sp
opfail: addq.l #4,sp
meta10: move.l table,a0
move.l o_abort(a0),a0
jsr (a0)
move.l table,a0
move.l f_closer(a0),a0
jmp (a0)
***********************************
***********************************
* vsl_type
*
op15: bsr objgeti
move.b d0,vsltype
rts
*
* vsl_width
op16: bsr objgeti
mulu #4,d0
move.w d0,vslwidth
bra objgeti
*
* vsl_color
op17: bsr objgeti
move.b d0,vslcolor
rts
*
* vsl_ends
op108: bsr objgeti
move.b d0,vslbgn
bsr objgeti
move.b d0,vslend
rts
*
* vsf_interior
op23: bsr objgeti
move.b d0,vsfinterior
rts
*
* vsf_style
op24: bsr objgeti
move.b d0,vsfstyle
rts
*
* vsf_color
op25: bsr objgeti
move.b d0,vsfcolor
rts
*
* vsf_perimeter
op104: bsr objgeti
move.b d0,vsfperimeter
rts
*
* v_pline
op6: move.w vertex,d0
cmp.w #2,d0
bne op6a
bsr objgetxy
move.l d0,object+ob_Left
move.l d1,object+ob_Top
bsr objgetxy
move.l d0,object+ob_Right
move.l d1,object+ob_Bottom
move.b #tdln,object+ob_Type
bsr putlstyle
bra putobj
*
op6a: move.l #$7fffffff,object+ob_Left
move.l #$7fffffff,object+ob_Top
move.l #$80000000,object+ob_Right
move.l #$80000000,object+ob_Bottom
move.w vertex,d0
mulu #10,d0 ;* bytes per line
add.l #22,d0 ;length,width,height,xscl,yscl,cnt
* ;newpath,strokepath
clr.w d1
clr.w d2
move.l table,a0
move.l m_alloc(a0),a0
jsr (a0)
beq opfail
move.l a0,mptr
move.l (a0),a4
lea 20(a4),a4
move.l a4,pptr
move.w vertex,subopcode
bra vpln5
vpln1: bsr objgetxy
move.l pptr,a0
move.w #LINETO,(a0)+ ;the first one will be changed
move.l d0,(a0)+ ;to a MOVETO
move.l d1,(a0)+
move.l a0,pptr
cmp.l object+ob_Left,d0
bge vpln2
move.l d0,object+ob_Left
vpln2: cmp.l object+ob_Top,d1
bge vpln3
move.l d1,object+ob_Top
vpln3: cmp.l object+ob_Right,d0
ble vpln4
move.l d0,object+ob_Right
vpln4: cmp.l object+ob_Bottom,d1
ble vpln5
move.l d1,object+ob_Bottom
vpln5: subq.w #1,subopcode
bcc vpln1
move.l mptr,a0
move.l (a0),a0
move.w vertex,d0
mulu #10,d0 ;* bytes per line
add.l #22,d0 ;length,width,height,xscl,yscl,cnt
* ;newpath,strokepath
move.l d0,(a0)+
move.l object+ob_Right,d0
sub.l object+ob_Left,d0
move.l d0,(a0)+
move.l object+ob_Bottom,d0
sub.l object+ob_Top,d0
move.l d0,(a0)+
move.w #100,(a0)+
move.w #100,(a0)+
move.w vertex,d0
addq.w #2,d0 ;newpath,strokepath
move.w d0,(a0)+
move.w #NEWPATH,(a0)+
move.w #MOVETO,(a0)
move.l object+ob_Left,d0
move.l object+ob_Top,d1
move.w vertex,d7
bra vpln8
vpln7: addq.l #2,a0
sub.l d0,(a0)+
sub.l d1,(a0)+
vpln8: dbf d7,vpln7
*
move.w #STROKEPATH,(a0)
*
move.b #tpoly,object+ob_Type
bsr putlstyle
bsr putobj
move.l mptr,a0
move.l (a0),a0
move.l (a0),d0
move.l table,a0
move.l o_malloc(a0),a0
jsr (a0)
beq opfail
move.l mptr,a1
move.l (a1),a1
move.l (a1),d0
lsr.w #1,d0
bra vpln11
vpln10: move.w (a1)+,(a0)+
vpln11: dbf d0,vpln10
move.l mptr,a0
move.l table,a1
move.l m_delete(a1),a1
jsr (a1)
rts
*
* v_gtext
*
op8: bsr objgetxy
move.l d0,object+ob_Left
move.l d1,object+ob_Bottom
move.l xpoint,d2
mulu integer,d2
add.l d2,d0
sub.l ypoint,d1
move.l d0,object+ob_Right
move.l d1,object+ob_Top
move.w angle,object+ob_Slant
move.w angle,object+ob_Twist
clr.b object+ob_LType
move.w #25,object+ob_LWidth
clr.b object+ob_FType
move.b #ttxt,object+ob_Type
bsr putobj
clr.w object+ob_Slant
clr.w object+ob_Twist
lea column,a0
move.b #1,cm_LCalc(a0)
move.b #1,cm_QCalc(a0)
move.l object+ob_Left,cm_Left(a0)
move.l object+ob_Top,cm_Top(a0)
move.l #$7fffff,cm_Right(a0)
move.l #$7fffff,cm_Bottom(a0)
clr.w cm_Flag(a0)
move.l #1000,cm_Font(a0)
clr.l cm_Attrb(a0)
move.l xpoint,cm_XPoint(a0)
move.l ypoint,cm_YPoint(a0)
clr.w cm_Spacing(a0)
move.w #$8000,cm_Lead(a0)
clr.w cm_BMod(a0)
clr.w cm_PIndent(a0)
clr.w cm_LIndent(a0)
clr.w cm_RIndent(a0)
clr.b cm_Tag(a0)
clr.b cm_Justify(a0) ;block left
move.b #9,cm_CFStyle(a0)
move.b #1,cm_CFColor(a0)
move.b #0,cm_CLStyle(a0)
move.b #1,cm_CLColor(a0)
move.w #100,cm_CLWidth(a0)
clr.l cm_Tabs(a0)
move.l #cm_Sizeof+4,d0
add.w integer,d0
addq.l #1,d0
bclr #0,d0 ;round up
move.l table,a0
move.l o_malloc(a0),a0
jsr (a0)
beq opfail
lea column,a1
move.w #cm_Sizeof,d0
bra txt2
txt1: move.b (a1)+,(a0)+
txt2: dbf d0,txt1
clr.w (a0)+
move.w integer,(a0)+
bra txt4
txt3: move.l a0,-(sp)
bsr objgeti
move.l (sp)+,a0
beq opfail
move.b d0,(a0)+
txt4: subq.w #1,integer
bcc txt3
rts
*
*
* v_fillarea
*
op9: move.l #$7fffffff,object+ob_Left
move.l #$7fffffff,object+ob_Top
move.l #$80000000,object+ob_Right
move.l #$80000000,object+ob_Bottom
move.w vertex,d0
mulu #10,d0 ;* bytes per line
add.l #24,d0 ;length,width,height,xscl,yscl,cnt
* ;newpath,closepath,fillpath
clr.w d1
clr.w d2
move.l table,a0
move.l m_alloc(a0),a0
jsr (a0)
beq opfail
move.l a0,mptr
move.l (a0),a4
lea 20(a4),a4
move.l a4,pptr
move.w vertex,subopcode
bra vfil5
vfil1: bsr objgetxy
move.l pptr,a0
move.w #LINETO,(a0)+ ;the first one will be changed
move.l d0,(a0)+ ;to a MOVETO
move.l d1,(a0)+
move.l a0,pptr
cmp.l object+ob_Left,d0
bge vfil2
move.l d0,object+ob_Left
vfil2: cmp.l object+ob_Top,d1
bge vfil3
move.l d1,object+ob_Top
vfil3: cmp.l object+ob_Right,d0
ble vfil4
move.l d0,object+ob_Right
vfil4: cmp.l object+ob_Bottom,d1
ble vfil5
move.l d1,object+ob_Bottom
vfil5: subq.w #1,subopcode
bcc vfil1
move.l mptr,a0
move.l (a0),a0
move.w vertex,d0
mulu #10,d0 ;* bytes per line
add.l #24,d0 ;length,width,height,xscl,yscl,cnt
* ;newpath,closepath,fillpath
move.l d0,(a0)+
move.l object+ob_Right,d0
sub.l object+ob_Left,d0
move.l d0,(a0)+
move.l object+ob_Bottom,d0
sub.l object+ob_Top,d0
move.l d0,(a0)+
move.w #100,(a0)+
move.w #100,(a0)+
move.w vertex,d0
addq.w #3,d0 ;newpath,closepath,fillpath
move.w d0,(a0)+
move.w #NEWPATH,(a0)+
move.w #MOVETO,(a0)
move.l object+ob_Left,d0
move.l object+ob_Top,d1
move.w vertex,d7
bra vfil8
vfil7: addq.l #2,a0
sub.l d0,(a0)+
sub.l d1,(a0)+
vfil8: dbf d7,vfil7
*
move.w #CLOSEPATH,(a0)+
move.w #FILLPATH,(a0)
*
move.b #tpoly,object+ob_Type
bsr putfstyle
bsr putobj
move.l mptr,a0
move.l (a0),a0
move.l (a0),d0
move.l table,a0
move.l o_malloc(a0),a0
jsr (a0)
beq opfail
move.l mptr,a1
move.l (a1),a1
move.l (a1),d0
lsr.w #1,d0
bra vfil11
vfil10: move.w (a1)+,(a0)+
vfil11: dbf d0,vfil10
move.l mptr,a0
move.l table,a1
move.l m_delete(a1),a1
jsr (a1)
rts
*
* output primitives
op11: move.w subopcode,d0
cmp.w #1,d0
beq vbar
cmp.w #2,d0
beq arc
cmp.w #3,d0
beq pie
cmp.w #4,d0
beq circle
cmp.w #5,d0
beq ellipse
cmp.w #6,d0
beq elparc
cmp.w #7,d0
beq elppie
cmp.w #8,d0
beq rndrect
cmp.w #9,d0
beq frndrect
cmp.w #10,d0
beq jgtext
*
* unknown sub-opcode, skip it
*
moveq #0,d0
move.w vertex,d0
lsl.w #1,d0
add.w integer,d0
lsl.w #1,d0
bra objskip
*
* v_bar
*
vbar: bsr objgetxy
move.l d0,object+ob_Left
move.l d1,object+ob_Top
bsr objgetxy
move.l d0,object+ob_Right
move.l d1,object+ob_Bottom
move.b #tbox,object+ob_Type
bsr putfstyle
bsr putobj
moveq #0,d0
bsr objputw
moveq #0,d0
bra objputw
*
* arc drawing primitive
*
arc: bsr objgetxy
move.l d0,object+ob_Left
move.l d1,object+ob_Top
moveq #8,d0
bsr objskip
bsr objgetdxy
move.l d0,object+ob_Right
move.l d0,object+ob_Bottom
bsr objgeti
move.w d0,object+ob_BAngle
bsr objgeti
move.w d0,object+ob_EAngle
move.b #tcir,object+ob_Type
bsr putlstyle
bra putcir
*
* pie drawing primitive
*
pie: bsr objgetxy
move.l d0,object+ob_Left
move.l d1,object+ob_Top
moveq #8,d0
bsr objskip
bsr objgetdxy
move.l d0,object+ob_Right
move.l d0,object+ob_Bottom
bsr objgeti
move.w d0,object+ob_BAngle
bsr objgeti
move.w d0,object+ob_EAngle
move.b #tcir,object+ob_Type
bsr putfstyle
bra putcir
*
* circle drawing primitive
*
circle:
move.w #0,object+ob_BAngle
move.w #3600,object+ob_EAngle
bsr objgetxy
move.l d0,object+ob_Left
move.l d1,object+ob_Top
moveq #4,d0
bsr objskip
bsr objgetdxy
move.l d0,object+ob_Right
move.l d0,object+ob_Bottom
move.b #tcir,object+ob_Type
bsr putfstyle
bra putcir
*
* ellipse drawing primitive
*
ellipse:
move.w #0,object+ob_BAngle
move.w #3600,object+ob_EAngle
bsr objgetxy
move.l d0,object+ob_Left
move.l d1,object+ob_Top
bsr objgetdxy
move.l d0,object+ob_Right
move.l d1,object+ob_Bottom
move.b #telp,object+ob_Type
bsr putfstyle
bra putcir
*
* elliptical arc drawing primitive
*
elparc:
bsr objgetxy
move.l d0,object+ob_Left
move.l d1,object+ob_Top
bsr objgetdxy
move.l d0,object+ob_Right
move.l d1,object+ob_Bottom
bsr objgeti
move.w d0,object+ob_BAngle
bsr objgeti
move.w d0,object+ob_EAngle
move.b #telp,object+ob_Type
bsr putlstyle
bra putcir
*
* elliptical pie drawing primitive
*
elppie:
bsr objgetxy
move.l d0,object+ob_Left
move.l d1,object+ob_Top
bsr objgetdxy
move.l d0,object+ob_Right
move.l d1,object+ob_Bottom
bsr objgeti
move.w d0,object+ob_BAngle
bsr objgeti
move.w d0,object+ob_EAngle
move.b #telp,object+ob_Type
bsr putfstyle
bra putcir
*
putcir: move.l object+ob_Left,d0
move.l object+ob_Top,d1
move.l object+ob_Right,d2
move.l object+ob_Bottom,d3
sub.l d2,object+ob_Left
sub.l d3,object+ob_Top
add.l d2,d0
add.l d3,d1
move.l d0,object+ob_Right
move.l d1,object+ob_Bottom
bsr putobj
move.w object+ob_BAngle,d0
mulu #10,d0
bsr objputw
move.w object+ob_EAngle,d0
mulu #10,d0
bra objputw
*
* rounded rectangle drawing primitive
*
rndrect:
bsr objgetxy
move.l d0,object+ob_Left
move.l d1,object+ob_Top
bsr objgetxy
move.l d0,object+ob_Right
move.l d1,object+ob_Bottom
move.b #tbox,object+ob_Type
bsr putlstyle
bsr putobj
move.w #900,d0
bsr objputw
move.w #900,d0
bra objputw
*
* filled rounded rectangle drawing primitive
*
frndrect:
bsr objgetxy
move.l d0,object+ob_Left
move.l d1,object+ob_Top
bsr objgetxy
move.l d0,object+ob_Right
move.l d1,object+ob_Bottom
move.b #tbox,object+ob_Type
bsr putfstyle
move.w vslwidth,object+ob_LWidth
move.b vslcolor,object+ob_LColor
bsr putobj
move.w #900,d0
bsr objputw
move.w #900,d0
bra objputw
*
* justified graphics text
*
jgtext: subq.w #2,integer ;null terminated& justify mode
bsr objgetxy
move.l d0,object+ob_Left
move.l d1,object+ob_Bottom
sub.l ypoint,d1
move.l d0,object+ob_Right
move.l d1,object+ob_Top
bsr objgetdxy
add.l d0,object+ob_Right
bsr objgeti
beq opfail
bsr objgeti
beq opfail
move.w angle,object+ob_Slant
move.w angle,object+ob_Twist
clr.b object+ob_LType
move.w #25,object+ob_LWidth
clr.b object+ob_FType
move.b #ttxt,object+ob_Type
bsr putobj
clr.w object+ob_Slant
clr.w object+ob_Twist
lea column,a0
move.b #1,cm_LCalc(a0)
move.b #1,cm_QCalc(a0)
move.l object+ob_Left,cm_Left(a0)
move.l object+ob_Top,cm_Top(a0)
move.l #$7fffff,cm_Right(a0)
move.l #$7fffff,cm_Bottom(a0)
clr.w cm_Flag(a0)
move.l #1000,cm_Font(a0)
clr.l cm_Attrb(a0)
move.l xpoint,cm_XPoint(a0)
move.l ypoint,cm_YPoint(a0)
clr.w cm_Spacing(a0)
move.w #$8000,cm_Lead(a0)
clr.w cm_BMod(a0)
clr.w cm_PIndent(a0)
clr.w cm_LIndent(a0)
clr.w cm_RIndent(a0)
clr.b cm_Tag(a0)
clr.b cm_Justify(a0) ;block left
move.b #9,cm_CFStyle(a0)
move.b #1,cm_CFColor(a0)
move.b #0,cm_CLStyle(a0)
move.b #1,cm_CLColor(a0)
move.w #100,cm_CLWidth(a0)
clr.l cm_Tabs(a0)
move.l #cm_Sizeof+4,d0
add.w integer,d0
addq.l #1,d0
bclr #0,d0 ;round up
move.l table,a0
move.l o_malloc(a0),a0
jsr (a0)
beq opfail
lea column,a1
move.w #cm_Sizeof,d0
bra jtxt2
jtxt1: move.b (a1)+,(a0)+
jtxt2: dbf d0,jtxt1
clr.w (a0)+
move.w integer,(a0)+
bra jtxt4
jtxt3: move.l a0,-(sp)
bsr objgeti
move.l (sp)+,a0
beq opfail
move.b d0,(a0)+
jtxt4: subq.w #1,integer
bcc jtxt3
rts
*
* vst_height
*
op12: bsr objgetdxy
move.l d1,xpoint
move.l d1,ypoint
rts
*
* vst_rotation
*
op13: bsr objgeti
mulu #10,d0
move.w d0,angle
rts
*
* vst_point
*
op107: bsr objgeti
mulu #100,d0
move.l d0,xpoint
move.l d0,ypoint
rts
*
* vr_recfl
op114: bsr objgetxy
move.l d0,object+ob_Left
move.l d1,object+ob_Top
bsr objgetxy
move.l d0,object+ob_Right
move.l d1,object+ob_Bottom
move.b #tbox,object+ob_Type
bsr putfstyle
bsr nolstyle
bsr putobj
moveq #0,d0
bsr objputw
moveq #0,d0
bra objputw
*******************************************
*** ***
*******************************************
putlstyle:
move.b vsltype,object+ob_LType
move.w vslwidth,object+ob_LWidth
move.b vslbgn,object+ob_LBegin
move.b vslend,object+ob_LEnd
move.b vslcolor,object+ob_LColor
bra nofstyle
nolstyle:
clr.b object+ob_LType
clr.w object+ob_LWidth
clr.b object+ob_LBegin
clr.b object+ob_LEnd
clr.b object+ob_LColor
rts
putfstyle:
moveq #0,d0 ;finterior=0 or > 3 is hollow
cmp.b #1,vsfinterior
bne putfs1
moveq #9,d0
putfs1: cmp.b #2,vsfinterior
bne putfs2
move.b vsfstyle,d0
addq.b #1,d0
putfs2: cmp.b #3,vsfinterior
bne putfs3
move.b vsfstyle,d0
add.b #25,d0
putfs3: move.b d0,object+ob_FType ;fill type
move.b vsfcolor,object+ob_FColor
bsr nolstyle
tst.b vsfperimeter
beq rrts
move.b #1,object+ob_LType
move.w #25,object+ob_LWidth
move.b vsfcolor,object+ob_LColor
rrts: rts
nofstyle:
clr.b object+ob_FType
clr.b object+ob_FColor
rts
putobj: move.l table,a1
move.l o_obj(a1),a1
lea object,a0
jsr (a1)
beq opf0
rts
***
***
***
objgetdxy:
bsr objgetie
move.l d0,temp
bsr objgetie
move.l d0,d1
move.l temp,d0
bra objd1
*
objgetxy:
bsr objgetie
move.l d0,temp
bsr objgetie
move.l d0,d1
move.l temp,d0
sub.l objdx,d0
sub.l objdy,d1
objd1: move.l d1,-(sp)
move.w #7200,d1
move.l table,a0
move.l muls1632(a0),a0
jsr (a0)
move.w xyscale,d2
move.l table,a0
move.l divs1648(a0),a0
jsr (a0)
move.l d0,d1
move.l (sp)+,d0
move.l d1,-(sp)
move.w #7200,d1
move.l table,a0
move.l muls1632(a0),a0
jsr (a0)
move.w xyscale,d2
move.l table,a0
move.l divs1648(a0),a0
jsr (a0)
move.l d0,d1
move.l (sp)+,d0
rts
*
objgetie:
move.l table,a0
move.l f_geti(a0),a0
jsr (a0)
beq rrts
ext.l d0
moveq #1,d1
rts
objgeti:
move.l table,a0
move.l f_geti(a0),a0
jmp (a0)
*
objskip:
move.l table,a0
move.l f_skip(a0),a0
jmp (a0)
*
objputw:
move.l table,a0
move.l o_putw(a0),a0
jsr (a0)
beq opf0
rts
*******************************************************************
*** called when the import routine choosen finds something ***
*** wrong with the file loaded. ***
*******************************************************************
notright:
rts
never: moveq #0,d0
rts
maybe: moveq #1,d0
rts
right: moveq #2,d0
rts
*************************************************************
*************************************************************
SECTION metafile,DATA,PUBLIC
gemlist:
dc.w 6
dc.l op6
dc.w 8
dc.l op8
dc.w 9
dc.l op9
dc.w 11
dc.l op11
dc.w 12
dc.l op12
dc.w 13
dc.l op13
dc.w 15
dc.l op15
dc.w 16
dc.l op16
dc.w 17
dc.l op17
dc.w 23
dc.l op23
dc.w 24
dc.l op24
dc.w 25
dc.l op25
dc.w 107
dc.l op107
dc.w 108
dc.l op108
dc.w 104
dc.l op104
dc.w 114
dc.l op114
dc.w 1
dc.l opskip
dc.w 5
dc.l opskip
dc.w 22
dc.l opskip
dc.w 32
dc.l opskip
dc.w 39
dc.l opskip
dc.w 106
dc.l opskip
dc.w 107
dc.l opskip
dc.w 0 ;end of list
*
special:
dc.w 1
dc.l spcl1
name: dc.b "GEM Metafile v2.1.2",0
spcl1: dc.b "Object",0
SECTION metafile,BSS,PUBLIC
xyscale: ds.w 1
opcode: ds.w 1
vertex: ds.w 1
integer: ds.w 1
subopcode: ds.w 1
vsltype: ds.b 1
vslcolor: ds.b 1
vslend: ds.b 1
vslbgn: ds.b 1
vslwidth: ds.w 1
vsfinterior: ds.b 1
vsfstyle: ds.b 1
vsfcolor: ds.b 1
vsfperimeter: ds.b 1
object: ds.w ob_SizeOf/2
column: ds.w cm_Sizeof/2
xpoint: ds.l 1
ypoint: ds.l 1
angle: ds.w 1
objdx: ds.l 1
objdy: ds.l 1
objxs: ds.l 1
objys: ds.l 1
temp: ds.l 1
mptr: ds.l 1
pptr: ds.l 1
length: ds.w 1