2amf9
iGpam.libgpsiHiyj{zjCURRENTGPSVERSNPLM86 V2.3062389 14:05:0<STACKMEMORYCODEDATACONSTCURRENTGPSVERSION_CODEDGROUPqh@EHH	TD
KCURRENTGPSVERSIONQUERYREQUESTINFOeDIU9PFPPFF^=uFt^F]eV(t$
GETDEFAULTPTRPLM86 V2.3062389 14:05:28STACKMEMORYCODEDATACONSTGETDEFAULTPTR_CODEDGROUPh@H$H	TD
K4GETAPPLDEFAULTPRINTERGETGPSDEFAULTPRINTERB	CLOSEFILEGETPASCBOPENFILEULCMPBLOOKUPFIELDLOOKUPRESEThD[sys]<sys>	
.user^DefaultPrinterGps GPSIUF
sFtPvFPF	u|

F^O@twA^9L0	Y^G@F^v8
FFNQ^SPFPPrmPF	tNNrFt?uNN'^NwLFVvzFFOOrxPFv^Sv
PQPFP^Sv^SPF	u*F9FuPQNQPuONOvFF]7VCV*9VVVV3*U^Sv^S^Sv P]\t<
GPAMBEGINPAGEPLM86 V2.3062389 14:05:54STACKMEMORYCODEDATACONSTBEGINPAGE_CODEDGROUP2h@^HH	TD
K
GPAMBEGINPAGEH
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER
SBFROMWORDDbUQQ^SPF	u}2vFp^?v
tFq^v
vFZ^v
vFC^v
vF,^ v
 vF^vvF^vNFYF;v;vH
 ^u^P^^{F^SPF	u'^SPPFPF	u^F]
'VV
V4BVtT
GPAMBOLDPLM86 V2.3062389 14:06:2STACKMEMORYCODEDATACONST	BOLD_CODEDGROUPh@<HH	TD
K
GPAMBEGINBOLDGPAMENDBOLDj<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DnUQQ^SPF	uH^SPF	u3^SPPFPF	u	^F]VV06?MVnjUQQ^SPF	uH^SPF	u3^SPPFPF	u	^F]JVV06?MVtl		GPAMBOUNDPLM86 V2.3062389 14:06:44STACKMEMORYCODEDATACONSTGPAMBOUND_CODEDGROUPh@4HH	TD
KGPAMBEGINBOUNDGPAMENDBOUND9<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DUQQ^SPF	u]^SPF	uHv
vF^SP	PFPFF]
VV06:HYaoVaUQQ^SPF	u;^x
SPF	u^SPPFPFF]VV06?MVt	GPAMCLOSEPLM86 V2.3062389 14:07:10STACKMEMORYCODEDATACONST
CLOSE_CODEDGROUPFh@HHTD
K	GPAMCLOSEMCLOSEBYTESTREAM
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFERDU^SP	u^8GtA8Gt;^SP	u:^SPPP>u
^S]6V2V7?ENW\VaepVuxKtGPAMGRCLRTABLEPLM86 V2.3062389 14:07:49STACKMEMORYCODEDATACONSTGPAMGRCLRTABLE_CODEDGROUPh@\HH	T,D
KGPAMGRCOLORTABLEIINITIALCHECKSWAPBYTESANDMOVEWORDGPAMWRITERECORDRGBGPAMGRCTBUFFERDU^SPF	u+FV;r
1	tFFv$FFPPPF_SFF@SFFFPPPFP^PP^SPFPFPF	ux
FF^vP^PPF;FsNdr4^SPFPFPF	uF;FsFFFu	^F]7VR[VVVVVVtGPAMGRFILLCOLORPLM86 V2.3062389 14:08:06STACKMEMORYCODEDATACONSTGRFILLCOLOR_CODEDGROUPqh@lHHTD
KGPAMGRFILLCOLORIINITIALCHECKSWAPBYTESANDMOVEWORDGPAMWRITERECORDRGBGPAMGRCTBUFFERDSpU^SP	uNPPPFPPP^SPPP	u	^].VV09VCLQVVftGPAMGRGRAPHICSPLM86 V2.3062389 14:08:25STACKMEMORYCODEDATACONSTGRGRAPHICS_CODEDGROUPh@HHhTD
KRGBGPAMGRCTBUFFERTGPAMGRBEGINGRAPHICSGPAMGRENDGRAPHICSM
WRITEBSRECORDINITIALCHECKCHECKSEQFITGPAMWRITERECORDRGBGPAMCTBUFFERD  @6U^SP	us^SP	u^
v
vF^SP	PP	u^^]
>VV.48FW_hmVrU^SP	uo^uSPPP	uH^SP	u3^SPPP	u	^]9V.3V8HVMU[dmrVwt
GPAMGRHATCHIXPLM86 V2.3062389 14:08:58STACKMEMORYCODEDATACONSTGPAMGRHATCHIX_CODEDGROUPh@pHH	TD
KGPAMGRHATCHINDEXIINITIALCHECKSWAPBYTESANDMOVEWORDGPAMWRITERECORDRGBGPAMGRCTBUFFERDR$tUQQ^SPF	uNPPPFPPP^SPPFPF	u	^F]V(V2;VESVtGPAMGRINTSTYLEPLM86 V2.3062389 14:09:19STACKMEMORYCODEDATACONSTGPAMGRINTSTYLE_CODEDGROUPph@HHTD
KGPAMGRINTERIORSTYLEIINITIALCHECKSWAPBYTESANDMOVEWORDGPAMWRITERECORDRGBGPAMGRCTBUFFERDRbXUU^
SP	ulPPPFPPPuPPP^
SPPP	u	^
]>VV09VDI'NWVajoVtt)GPAMGRLINECOLORPLM86 V2.3062389 14:09:46STACKMEMORYCODEDATACONSTGRLINECOLOR_CODEDGROUPph@lHHTD
KGPAMGRLINECOLORIINITIALCHECKSWAPBYTESANDMOVEWORDGPAMWRITERECORDRGBGPAMGRCTBUFFERDPpU^SP	uNPPPFPPP^SPPP	u	^].VV09VCLQVVft+GPAMGRLINETYPEPLM86 V2.3062389 14:10:05STACKMEMORYCODEDATACONSTGRLINETYPE_CODEDGROUPh@lHHTD
KGPAMGRLINETYPEIINITIALCHECKSWAPBYTESANDMOVEWORDGPAMWRITERECORDRGBGPAMGRCTBUFFERDBPpU^SP	uNPPPFPPP^SPPP	u	^].VV09VCLQVVft.
GPAMGRPOLYGONPLM86 V2.3062389 14:10:34STACKMEMORYCODEDATACONSTGRPOLYGON_CODEDGROUPh@.HHTD
K
GPAMGRPOLYGONgIINITIALCHECKSWAPBYTESANDMOVEWORDGPAMWRITERECORDRGBGPAMGRCTBUFFERD2U^SP	uF=w1	t	vF@FFPPP
F@FFFPPP^SPFPP	uxFF^vP^PPF;FsNd0r4^SPFPP	uF;FsFFF>u	^]
GVKTVmvVVVVt 2GPAMGRPOLYLINEPLM86 V2.3062389 14:11:05STACKMEMORYCODEDATACONSTGRPOLYLINE_CODEDGROUPh@.HHTD
KGPAMGRPOLYLINEIINITIALCHECKSWAPBYTESANDMOVEWORDGPAMWRITERECORDRGBGPAMGRCTBUFFERD2U^SP	uF=w1	t	vF?@FFPPP
F @FFFPPP^SPFPP	uxFF^vP^PPF;FsN,4dr4^SPFPP	uF;FsFFF>u	^]
XGVKTVmvVVVVt86GPAMINTERPRETERPLM86 V2.3062389 14:11:3S:STACKMEMORYCODEDATACONSTGPAMINTERPRETER_CODEDGROUPh@QHHT$D
KKICKOUT
3CHECKERCCLOSEBYTESTREAM
CSUBPARAMS	ERROREXITEXITOPENBYTESTREAMREADBSRECORDREADBYTERGPARAM
WRITEBSRECORD	WRITEBYTEDUMPBSVID{D.Missing Escape codeexecution terminated.Bad OpCodeexecution terminated.[Input is not a GPAM file.
DORevisD8ion No.   Length:  
BeginBold          
BeginOverstrike    
BeginPage          
BeginTransparent   
BeginUnderscore    
Close              
EndBold            
EndOverstrike      
EndTransparent     
EndUnderscore      
GrBeginGraphics    
GrEndGraphics      
LineFeed           
PlaceCharacter     
Reposition         
SetColor           
SetFont            
SetSLD             
SetTranslateTable  
SetVerticalOffset  
WriteRecord        
Open               
WhiteSpace         
WriteCharacter    P: 
{BeginBound         
EndBound           
BeginItalic        
EndItalic          
BeginRaster        
EndRaster          ],X
  bBypass =        
  bChar =          
  bSides =         
  fStagger =       
  wBinOut =        
  sbFormName =     
  fAlign =         
  bAspect =        
  sbPageNum =      
  sbMontage =      
  bQuality =       
  wPgLength =      
  wPgWidth =       
  fBold On =       
  fOverstrikeOn =  
    bBypass =      
    bChar =        
  fTransparentOn = 
  fUnders\<coreOn =  
    bBypass =      
    bUnderscore =  
  wColor =         
  sbFontName =     
    wWidth =       
    wHeight =      
  wSLDDistance =   
M+a  sbTrTableName =  
  intLevel =       @
  wWidth =         
  wHeight =        
  fClear =         ,
  bBypass =        
  bUnderscore =    L,
  wHorizontal =    
  wVertical =      b
  wColor =         @(
  sbFontName =     
  wWidth =         
  wHeight =        ,x
  bChar =          
  wPosition =      
  wSLh>DDistance =   
  sbTrTableName =  
  intLevel =       
  Data =           
  wWidth =         @
  wXLeft =         
  wXRight =        
  bJustify =       @@
  wWidth =         
  wHeight =        
  fClear =         ,|
  bChar =          
  wWidth =         V
UQ^S
PP^S
PP^S^SvFPP]
3
VV VV=V
CVHVPPPPPS6
SPrmPPPPPt@	tNPPPPVPS6
SPwmPPPPVPPPPP:tSPP
PPPSP
PPPSPPPPu5PPP	tSP
	tP>tSP*P
PPPPPPPP>rSPV	V(,9BVHVQVbgV	mVrxVV
B VV\VVV
V'0V5:?VDLQVWVVjoVuVzVV\VVVVP
S
PPS
PPSPQPP.
PPPPPvwSXPQPPSPPu1PPPPPw^SPQPP9uSPD6uPP)PPPvSPQPPtu
tuS\VV$V*V05?GLV
RVXa\gluzVVV
VVVV$V
*V38>DJNTWV\dinw|VVV
VP6'SPPPPtWPPPPPFwjSPQPP	t

tuSP6uPPPPPvSPQPP>u)>u)SPPPPSP6tcPPPPPv9SV'2V
8V=AEMR[VfVlrwV
VVHVV,27V
=VCJRX_eiouzV
VVVVPQPP>u
>u)SPPPPSP6toPPPPPv{SPQPPSPPu1.+(PPPPPvSPQPP>uJ$SP6uPPPPPvVSxPQ
V
V*07=AGMRV
XVeknVtVVV
VV
 VV.14@MSXV
^VdksyVVVPP>uSP6uPPPPPvSLPQPPSPPuwPPPPPSPPPPSPPPPPPPvS(PQPP>u)>uSPPPPSP6tibPPPPV
V)36V;?CKPY^VdVlorV
VVVVV
VNV*V5V=@CO\bgV
mVszV
VVz	PSPPPPSPPPP
PPPSPPPPSPPPPPPPPPSPPPPSPPYQQPPPS
PPSPPPPSPPS
PPSPPP'PPSP6PPS
PPSPPPPSVV
 V
V,1:VBGPUV[VafotV
zVV
VVVV
VVVV$V*V05>CV
IVOT]VckVqVw|V
VV
VVVV
VP6ROPPPPPSPPPPSPPPPPR(PPvS|PQPP>uSP6ugPPPPPvbSPQPP>uSP6tPPPPPvS@PQPP>u9V$V*V05>CV
IVOT]VejsxVVV
VVT)VV ,9?DV
JVPW_ekouxV}VVV
Vz
SP6utSVLOnqt		O

444,
45}z
 V(,07\9\;\=\?\A\C\E\G\I\K\M\O\Q\S\U\W\Y\[\]\_\a\c\e\g\i\k\m\o\q\p
XA$V*
GPAMINTOUTPUTPLM86 V2.3062389 14:12:11STACKMEMORYCODEDATACONSTOUTPUT_CODEDGROUPh@AHHTD
KDUMP)	WRITEBYTE
WRITEBSRECORDCHECKERCXD0123456789ABCDEFUFH;sv31	u^S
PP^S
PP^611^SPPPP^S PP^S PPt>]
G3V9VFVLVUgY+jy|VVVVVVt[,
GPAMITALICPLM86 V2.3062389 14:12:21STACKMEMORYCODEDATACONSTITALIC_CODEDGROUPh@<HH	TD
K'GPAMBEGINITALIC
GPAMENDITALICj<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DnUQQ^SPF	uH^SPF	u3^SPPFPF	u	^F]XVV06?MVnjUQQ^SPF	uH^SPF	u3^SP]PFPF	u	^F]VV06?MVt(_.GPAMLINEFEEDPLM86 V2.3062389 14:12:53STACKMEMORYCODEDATACONST
LINEFEED_CODEDGROUPzh@YHHTD
KGPAMLINEFEED<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?D]U^SP	u;^SP	u^SPPP]<,VV.4=FKVPSt4a
GPAMOPENPLM86 V2.3062389 14:13:2STACKMEMORYCODEDATACONST	OPEN_CODEDGROUPh@gHKH8TBD
KRGBGPAMCTBUFFERGPAMOPENeGETDATETIMEOPENBYTESTREAMRELEASEBYTESTREAM
WRITEBSRECORDTAGGPAMWRITESETGPSPARAMSPPLUS16RDUWDO23 chars for sbDocName.23 chars for sbDocName.23 chars for sbDocName.23 chars for sbDocName.23 chars for sbUserName7 chars>@c014 chars start14 chars start14 chars endlc14 chars endlc<sbFormNamesbsbPageNumsbPsbMontagesbMsbFontNamesbFontNamesbFontNamesbFontNamesbTranslateTIOD{U,s<vt^?\v]v^]v	
^ S^Sv^SvwmP^Sv	u^ G
:uGvvDG^ GFv^ G^ 'vNFYvNFPvSPv+NZ^FFFPPLe1:FFFr^u	P	u^ G
:uwPP	uM^ <z
^ SPPP5MvV{VV$*3V:FLRnv{VV	t^ SFV^ I^ ^ ^ G
:u vvG 	^ G ]1VV3Mr=tXg2GPAMOVERSTRIKEPLM86 V2.3062389 14:13:55STACKMEMORYCODEDATACONSTOVERSTRIKE_CODEDGROUPh@HHTD
KGPAMBEGINOVERSTRIKEGPAMENDOVERSTRIKE<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DU^
SP	ux^
SP	ucvUFF^
SPPP	u^
F^
F^
];VV4<BIOWdi3eVjjU^SP	uH^SP	u3^SPPP	u	^],VV.4=FKVPtpk4
GPAMPLACECHARPLM86 V2.3062389 14:14:28STACKMEMORYCODEDATACONSTGPAMPLACECHAR_CODEDGROUPh@mHHTD
KGPAMPLACECHARACTER,<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DqU^
SP	uO^
SP	u:
Fv^
SPPP])8VV.4;>QZ_Vdgt|m5
GPAMRASTERPLM86 V2.3062389 14:14:45STACKMEMORYCODEDATACONSTGPAMRASTER_CODEDGROUPh@4HH	TD
K'GPAMBEGINRASTER
GPAMENDRASTER<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DUQQ^SPF	u]^SPF	uHv
vF^SP	PFPFF]
VV06:HYaoVaUQQ^SPF	u;o6^SPF	u^SPPFPFF]VV06?MVtq7
GPAMRELEASEPLM86 V2.3062389 14:15:12STACKMEMORYCODEDATACONSTRELEASE_CODEDGROUPh@FHH	TD
KGPAMRELEASE+RELEASEBYTESTREAMINITIALCHECKDJUQFPF^Gu
^SF^F]	V,Vts8GPAMREPOSITIONPLM86 V2.3062389 14:15:45STACKMEMORYCODEDATACONSTREPOSITION_CODEDGROUPh@yHHTD
KGPAMREPOSITION<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?D}UF
P	uW^
SP	uBvv^
SPPP]8VV*28<J]fkVps;tu9GPAMSETCOLORPLM86 V2.3062389 14:16:03STACKMEMORYCODEDATACONST
SETCOLOR_CODEDGROUPKh@vHHTD
KGPAMSETCOLOR<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DzU^SP	uX^SP	uCv^SPPP	uF^]T2VV.48KTYV^p<tw:
GPAMSETFONTPLM86 V2.3062389 14:16:32STACKMEMORYCODEDATACONSTSETFONT_CODEDGROUPh@(HHTD
KGPAMSETFONT	<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DU^SP	u
(v	^S0P	u0v
vN
Fvv^SP1PP	u?^v
^vN
FYF^F^]y;GV0V5=CGUhvVt{<
GPAMSETSLDPLM86 V2.3062389 14:17:01STACKMEMORYCODEDATACONSTSETSLD_CODEDGROUPh@vHHTD
K
GPAMSETSLD_<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DzU^SP	uX^SP	uCv^SPPP	uF^]2VV.48KTYV^p<t}=GPAMSETTRANSLTPLM86 V2.3062389 14:17:29STACKMEMORYCODEDATACONSTGPAMSETTRANSLT_CODEDGROUPqh@cHHTD
KGPAMSETTRANSLATETABLE<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DU^SP	uv	^SP	ukFvF^SPPP	u)^v^vNFY]
;V0V5=CJ>MdmrVwBt?GPAMSETVOFFSETPLM86 V2.3062389 14:17:59STACKMEMORYCODEDATACONSTGPAMSETVOFFSET_CODEDGROUP|h@HHTD
KGPAMSETVERTICALOFFSET<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DU^SP	umF}X^SP	uCv^SPPP	uF^]I5V6V;CIMinVst@GPAMTRANSPARENTPLM86 V2.3062389 14:18:26STACKMEMORYCODEDATACONSTTRANSPARENT_CODEDGROUP^h@FHHTD
K1GPAMBEGINTRANSPARENTGPAMENDTRANSPARENTd<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DhU^SP	uF^SP	u1^SPPP	u	^]$,VV03;DIVN^jdU^SP	uH^SPA	u3^SPPP	u	^],VV.4=FKVPtBGPAMUNDERSCOREPLM86 V2.3062389 14:18:55STACKMEMORYCODEDATACONSTUNDERSCORE_CODEDGROUPh@HHTD
KGPAMBEGINUNDERSCOREGPAMENDUNDERSCORE<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DU^
SP	uF<r<vxvj^
SP	uUFF^
SPPP	u^
F^
F^
]>V$2BVGO$CU\bjsxV}3jU^SP	uH^SP	u3	^SPPP	u	^],VV.4=FKVPt0D	GPAMUTILSPLM86 V2.3062389 14:19:10STACKMEMORYCODEDATACONST
UTILS_CODEDGROUP+h@aHH	TD
KSPPLUS16
SBFROMWORDwINITIALCHECKCHECKSEQFITSWAPBYTESANDMOVEWORDQTAGGPAMWRITE
FLUSHBUFFERGPDU^v]}lUQuFsN
tHN
FN10V::rA*VF
F^FN1FFF
]SwUQ^GPPv
PP}F*^p}^Y*F<E^];UQF^ODtF^:FtFF]WXUQQFF@^OW+;r,G
:uSGxWRFPFF]	DVaQUQQFFN;rAI^0^9^YvVN^_V1^Z_9Fs]
;tHFGPAMWHITESPACEPLM86 V2.3062389 14:19:45STACKMEMORYCODEDATACONSTWHITESPACE_CODEDGROUPh@gHHTD
KGPAMWHITESPACE9<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DkU^SP	uI^SP	u4v^SPPP]2VV.48KTYV^aKtTG
GPAMWRITECHARPLM86 V2.3062389 14:20:14STACKMEMORYCODEDATACONSTWRITECHAR_CODEDGROUPh@qHH	T D
K
GPAMWRITECHAR<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DuUQQ^
SPF	uO^
SPF	u:Fv^
SPPFPFF]T)VV06=@SaVtHGPAMWRITERECORDPLM86 V2.3062389 14:20:4:STACKMEMORYCODEDATACONSTGPAMWRITERECORD_CODEDGROUP9h@|HH	T,D
KGPAMWRITERECORDU
WRITEBSRECORDTAGGPAMWRITEINITIALCHECKRGBGPAMCTBUFFER
FLUSHBUFFERGPPPLUS16DU
9F
vF
FPF=uFuY^^G
:tMF
SPPFPF	u^S^Sv
^SFF]^;F
su^GO+sSGlIxWQFPFu[F
^+^Ww+;v+VF
^+FF^SPPFPFu'^S^S^7SvFPFu	^FAVFQU[iVVV(6VTVcVtxJ	GpsRqLabl
CTAsm 11.3|??SEG??SEGSTACKSTACK	seg0F03CH	seg0F044H	seg0F04CH	seg0F164H	seg0F054H	seg0F064H	seg0F06CH	seg0F074H	seg0F0B4Hht
<^
D
L^	

d
T
d
l^
t
AddGpsDeviceTSetGPSParamsZ
SetGPSDeviceParamsGetGPSStatusQueryGpsFile
GetGPSDocInfoAddQueue	GetGPSDdDocInfoRGetGPSNodeConfigU	ReleKaseGPSDeviceDriverZGetGPSDeviceDriverConfigVGetGPSDeviceDriverStatusX	SetGPSNPMXMakeGpsLogEntry 	SetGPSDeviceDriverControl\QueueGPSFileT
RsUpLinkPollGetFontFamilyListDescribeGpsSpoolerDeinstallFontServiceDeInstallGPSDeviceDriverDeleteGPSJobZGetGPSDeviceConfigProvideGPSPasswordR 
SetGPSDeviceDriverRestartWriteGPSFileR
RsUpLinkPickup,
GetGPSNetListIdentifyDeLviceDriverCloseGPSFileVGetQMStatusGetFontDataDeInstallQueueManagerGetFontDeviceListSetImageModeGPS^ DeInstallRsSpDeviceDriver
RsUpLinkDeliverOpenGPSFileP
SetGPSRestart\GetGpsParams	GetGPSDDHistoryT
WriteGPSDeviceDataAcquireGPSDeviceDriver
SetGPSControlVGetGpsSplVolStatusDeInstallRoutingSwitchX 
CleanQueueRemoveQueue
DescribeGpsRS\	MDeleteGpsDDJobPGetGpsDevHistory^	SetGPSDeviceDriverMode^NO[<nPC4{e
GetGPSNetListIGetGPSDeviceConfigIGetGPSDeviceDriverStatusI
GPAMGRPOLYGONGPAMRELEASE6SetGPSDeviceDriverModeIGPAMPLACECHARACTER3GPAMGRENDGRAPHICSGPAMREPOSITION7DeInstallRoutingSwitchIDeInstallRsSpDeviceDriverIGetGpsDevHistoryIReleaseGPSDeviceDriverIGPAMBEGINITALIC+GPAMBEGINOVERSTRIKE1GPAMINTERPRETERGPAMGRPOLYGONGPAMSETVOFFSET>GPAMWRITECHARFPZ6oLy0@'fESetImageModeGPSISetGPSDeviceParamsIGPAMGRLINETYPEAddQueueIGetFontDeviceListIPPLUS16CGetFontDataIDeInstallGPSDeviceDriverIGPAMBEGINTRANSPARENT?GPAMWRITERECORDGGPAMENDUNDERSCOREAMakeGpsLogEntryIGPAMITALIC+GPAMGRCLRTABLEGPAMREPOSITION7GPAMBEGINPAGEQrj'?OGbW}3GetGPSStatusIGETAPPLDEFAULTPRINTERGETGPSDEFAULTPRINTERGPAMSETVERTICALOFFSET>AddGpsDeviceIGPAMLINEFEEDDeleteGPSJobIGPAMENDTRANSPARENT?RsUpLinkPollI
GPAMBEGINBOLDWriteGPSDeviceDataI
GetGPSDocInfoIGPAMBEGINUNDERSCOREAGETDEFAULTPTRGPAMINTOUTPUT)GPAMGRHATCHIX
GPAMUTILSCGPAMGRFILLCOLOR
GPAMSETFONT9
GPAMCLOSE
GPAMWRITERECORDGGPAMSETTRANSLT<Rc:C(y[ksQ2SetGPSDeviceDriverControlIOpenGPSFileIGPAMGRCOLORTABLECloseGPSFileIGPAMBEGINBOUNDSetGPSDeviceDriverRestartIGPAMGRHATCHINDEXGPAMENDBOUND
DescribeGpsRSIWriteGPSFileI	GPAMCLOSE
GPAMGRINTERIORSTYLESetGPSParamsIGPAMENDOVERSTRIKE1
GPAMENDRASTER4GPAMUNDERSCOREAGPAMWHITESPACEE	GPAMOPEN.GPAMGRLINECOLORGPAMRELEASE6
GPAMLINEFEED
GPAMSETCOLOR8GPAMOVERSTRIKE1GPAMPLACECHAR3GPAMTRANSPARENT?CURRENTGPSVERSNS<6YE(ipN$y
SetGPSControlIGPAMGRPOLYLINEDUMP)GetGPSDeviceDriverConfigIGPAMOPEN.GPAMGRLINECOLORRsUpLinkPickupIDescribeGpsSpoolerIGPAMENDBOLDGPAMGRLINETYPEGPAMRASTER4GPAMGRGRAPHICSTWCdMy]:1pGetGPSDDHistoryIGPAMWHITESPACEEGPAMSETTRANSLATETABLE<RsUpLinkDeliverIGPAMBEGINRASTER4RGBGPAMGRCTBUFFERGetGPSNodeConfigI	SetGPSNPMI
SBFROMWORDCSWAPBYTESANDMOVEWORDCGetGPSDdDocInfoIGPAMSETFONT9KICKOUTGetFontFamilyListIRemoveQueueIGetGpsParamsI
GPAMWRITECHARFGetQMStatusI	GPAMBOLDGPAMSETSLD;GPAMGRINTSTYLEUa)4=iFNtVCURRENTGPSVERSIONIdentifyDeviceDriverIGetGpsSplVolStatusIRGBGPAMCTBUFFER.DeleteGpsDDJobI
SetGPSRestartIINITIALCHECKCProvideGPSPasswordIGPAMSETCOLOR8GPAMGRBEGINGRAPHICSAcquireGPSDeviceDriverI
GPAMENDITALIC+
GPAMSETSLD;GPAMGRFILLCOLOR
DeInstallQueueManagerIQueueGPSFileIQueryGpsFileIDeinstallFontServiceICHECKSEQFITC
CleanQueueI
GPAMBEGINPAGEGPAMGRPOLYLINE
GpsRqLablI
GPAMBOUNDV
COPYRIGHT 1980, 1987, 1988 CONVERGENT TECHNOLOGIES, INC.
ALL RIGHTS RESERVED

THIS PROGRAM IS FURNISHED UNDER A LICENSE RESTRICTING ITS USE SOLELY FOR THE
OPERATION OF A DESIGNATED COMPUTER FOR A PARTICULAR PURPOSE, AND MAY NOT BE
COPIED OR OTHERWISE USED WITHOUT THE PRIOR WRITTEN CONSENT OF CONVERGENT
TECHNOLOGIES, INC.  TITLE TO AND OWNERSHIP OF THE PROGRAM, INCLUDING ITS SOURCE
CODE, SHALL AT ALL TIMES REMAIN IN CONVERGENT TECHNOLOGIES.

LIBRARY: Gpam.lib
VERSION: 2.3.1 (friday june 23, 1989, 14:23)
Gpam.pasgpsBp@irjrj.g 
PROGRAM Gpam(INPUT, OUTPUT);

{This program opens a GPS device, as specified by the user, and prints
 formatted text according to the GPAM call (i.e., begin bold and 
 underscore).}

CONST

	bLF  = CHR(0A); {Line feed character}

{$INCLUDE: 'GPAMTypes.edf'}

VAR[PUBLIC]

	bChar			: BYTE;
	BeginPage			: BeginPageType;
	cbRet			: WORD;
	DeviceSpec			: LSTRING(10);
	Erc			: ErcType;
	ErcWrite			: ErcType;
	GPAMWA			: ARRAY [0..299] OF BYTE;
	i			: INTEGER;
	OpenParams			: OpenParamsType;
	rgbGpamBuffer  : A,RRAY [0..1023] OF BYTE;
	SbSentence			: LSTRING(80);

{$INCLUDE: 'GPAMProcs.edf'}



BEGIN		{MAIN}
	CheckErc(NPrint(ADS 'Where do you want the output to go?  ', 37));
	READ(DeviceSpec);
	WITH OpenParams DO
	  BEGIN
		sbDocName				:= 'GPAMTestDoc';
		sbUserName.Len				:= 0;
		fSecurity				:= False;
		fPageSuppress				:= False;
		fBannerSuppress				:= True;
		fTypeThrough				:= False;
		fImmediate				:= False;
		qTimeCreated				:= 0;
		qReqOutputStartTime := 0;
		wcCopies				:= 1;
		wTimeout				:= 0FF;
		fSi8ngleSheet				:= False;
		wTimeToPrint				:= 1;
		bPriority				:= 5;
	  END;

	CheckErc(GPAMOpen(ADS GPAMWA,
		300,
		ADS DeviceSpec[1],    {Name of installed device driver.}
		DeviceSpec.len, 
		ADS ' ',
		0,
		ADS rgbGpamBuffer,
		1024,
		ADS OpenParams,
		145));

	WITH BeginPage DO 
	  BEGIN
		bSides			:= 1;
		fStagger			:= False;
		wBinOut			:= 0;
		sbFormName.Len := 0;
		fAlign			:= False;
		bAspect			:= 0;
		sbPageNum			:= '1'; 
		sbMontage.Len  := 0;
		bQuality			:= 3;
		wPgLength			:= 0;
	  	wPgWidtDh			:= 0;
	  END;

	Erc := GpamBeginPage(ADS GPAMWA, ADS BeginPage, 0);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 'This is plain text followed by a return. ' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);

	SbSentence := 'Now lets begin bold...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamBeginBold(ADS GPAMWPA);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 'Now lets end bold and return.' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamEndBold(ADS GPAMWA);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 
	'Now lets try overstriking with a hyphen (not blanks)...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := \GpamBeginOverStrike(ADS GPAMWA, 0, 2D);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 
	'Switch the overstrike character to a slash (with blanks)...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamBeginOverStrike(ADS GPAMWA, 1, 2F);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 'Now lets end overstriking...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbhRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamEndOverstrike(ADS GPAMWA);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 'Lets try some single word underscoring...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamBeginUnderscore(ADS GPAMWA, 0, 1);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 'Lets switch to solid...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSenttence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamBeginUnderscore(ADS GPAMWA, 1, 1);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 'Now double solid underscoring...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamBeginUnderscore(ADS GPAMWA, 1, 2);
	IF Erc <> 0 THEN ErrorExit(Erc);
	SbSentence := 'And finally double word...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbS	entence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamBeginUnderscore(ADS GPAMWA, 0, 2);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 'Now we turn underscoring off...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamEndUnderscore(ADS GPAMWA);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 
	'Now lets mix them up.  How about bold overstrike with *...' * bLF;

	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamBeginBold(ADS GPAMWA);
	IF Erc <> 0 THEN ErrorExit(Erc);
	Erc := GpamBeginOverstrike(ADS GPAMWA, 0, 2A);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 
	'Add single solid underscore and change overstrike to ...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamBeginOverstrike(ADS GPAMWA, 0, 23);
	IF Erc <> 0 THEN ErrorExit(Erc);
	Erc := GpamBeginUnderscore(ADS GPAMWA, 1, 1);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 'Now lets drop overstrike...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamEndOverstrike(ADS GPAMWA);
	IF Erc <> 0 THEN ErrorExit(Erc);
	SbSentence := 'Now lets drop everything...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamEndBold(ADS GPAMWA);
	IF Erc <> 0 THEN ErrorExit(Erc);
	Erc := GpamEndUnderscore(ADS GPAMWA);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 'Lets go to a new page.' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamBeginPage(ADS GPAMWA, ADS BeginPage, 0);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 'Lets do a line
 feed...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamLineFeed(ADS GPAMWA);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 
	'Now lets set line size to 4801440 and do a line feed...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamSetSLD(ADS GPAMWA, 240);
	IF Erc <> 0 THEN ErrorExit(Erc);
	Erc := GpamLineFeed(ADS GPAMWA);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 
	'Now lets place a * 2 inches from the side of the page...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamPlaceCharacter(ADS GPAMWA, 2A, 2880);
	IF Erc <> 0 THEN ErrorExit(Erc);
	SbSentence := 
	'New page with reposition 3 in. down and 2 in. in...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamBeginPage(ADS GPAMWA, ADS BeginPage, 0);
	IF Erc <> 0 THEN ErrorExit(Erc);
	Erc := GpamReposition(ADS GPAMWA, 2880, 4320);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 
	'New lets try a test with super and sub scripting...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	SbSentence := 'xxx';
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	FOR i := 0 TO 8 DO
	  BEGIN
		Erc := GpamSetVerticalOffset(ADS GPAMWA, i);
		IF Erc <> 0 THEN ErrorExit(Erc);
		IF (i = 0) THEN SbSentence := 'x'
			ELSE SbSentence := 'o';
		Erc := GpamWriteRecord(ADS GPAMWA,
			ADS SbSentence[1],
			SbSentence.Len,
			ADS cbRet);
		IF Erc <> ErcWrite THEN ErrorExit(Erc);
	  END;
	FOR i := 8 DOWNTO 0 DO
	  BEGIN
		Erc := GpamSetVerticalOffset(ADS GPAMWA, i);
		IF Erc <> 0 THEN ErrorExit(Erc);
		IF (i = 0) THEN SbSentence := 'x'
			ELSE SbSentence := 'o';
		Erc := GpamWriteRecord(ADS GPAMWA,
			ADS SbSentence[1],
			SbSentence.Len,
			ADS cbRet);
		IF Erc <> ErcWrite THEN ErrorExit(Erc);
	  END;
	FOR i := 0 DOWNTO 8 DO
	  BEGIN
		Erc := GpamSetVerticalOffset(ADS GPAMWA, i);
		IF Erc <> 0 THEN ErrorExit(Erc);
		IF (i = 0) THEN SbSentence := 'x'
			ELSE SbSentence := 'o';
		Erc := GpamWriteRecord(ADS GPAMWA,
			ADS SbSentence[1],
			SbSentence.Len,
			ADS cbRet);
		IF Erc <> ErcWrite THEN ErrorExit(Erc);
	  END;
	FOR i := 8 TO 0 DO
	  BEGIN
		Erc := GpamSetVerticalOffset(ADS GPAMWA, i);
		IF Erc <> 0 THEN ErrorExit(Erc);
		IF (i = 0) THEN SbSentence := 'x'
			ELSE SbSentence := 'o';
		Erc := GpamWriteRecord(ADS GPAMWA,
			ADS SbSentence[1],
			SbSentence.Len,
			ADS cbRet);
		IF Erc <> ErcWrite THEN ErrorExit(Erc);
	  END;

	SbSentence := 'Well thats all for now folks...BYE' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamClose(ADS GPAMWA);

END.