;PDVSYM AlphaWRITE Printer Driver Symbol File
NOLIST
;
; NOTICE
;
;All rights reserved. This software is the property of Alpha Microsystems
;and the material contained herein is the proprietary property and trade
;secrets of Alpha Microsystems, embodying substantial creative efforts and
;confidential information, ideas and expressions, no part of which may be
;reproduced or transmitted in any form or by any means, electronic,
;mechanical, or otherwise, including photocopying or input into any
;information storage or retrieval system without the express written
;permission of Alpha Microsystems.
;
;CAUTION: Unauthorized distribution or reproduction of this material may
;subject you to legal action.
;
;Copyright (C) 1984, 1988 - All rights reserved.
;
;
;Edit History:
;[107] 17 May 1991 Edited by David Pallmann
; Added new entry points P.OUTL and P.CBAR for AlphaWRITE 2.1A.
; Added printer characteristics entry point P.PCH and PD$PCH flag.
;[106] 18 May 1990 Edited by David Pallmann
; Defined ISO Latin I support and other flags for AlphaWRITE 2.1.
;[105] 16 June 1988 Edited by David Pallmann
; Defined extended printer driver format and added new entry points for
; AlphaWRITE 2.0 support.
;[104] 21 Jan 1986
; Added Extended Character entry point (P.ECHR). /JC
;[103] 18 Nov 1985
; Add super/sub flag (SSFLAG). /JC
;[102] 22 May 1985
; Add variable for multi-pass color printing. /JC
;[101] 31 October 1984
; Add symbols for font selection. /RBC
;[100] 9 August 1984
; Add symbols for double underscore. /RBC
;
LIST
PAGE
; Define Printer Driver Header Format
;
OFINI
OFDEF P.HDR, PH.SIZ ; header
OFDEF P.FLG, 4 ; flags:
PD$VAR =1 ; printer has variable spacing
PD$PRO =2 ; printer has proportional spacing
PD$FED =4 ; printer has cut sheet feeder
PD$EXT =10 ; PDV supports extended entry points [105]
PD$PTS =20 ; PDV supports point-oreinted calls [105]
PD$SAV =40 ; PDV can save & restore print state [105]
PD$BLD =100 ; PDV supports bold text [105]
PD$UND =200 ; PDV supports underscored text [105]
PD$ITL =400 ; PDV supports italic text [105]
PD$SCR =1000 ; PDV supports screened text [105]
PD$REV =2000 ; PDV supports reverse text
PD$GRY =4000 ; PDV supports gray tone control
PD$GRF =10000 ; PDV supports graphics functions
PD$LED =20000 ; PDV supports leading
PD$FNT =40000 ; PDV has a font table
PD$WH1 =100000 ; PDV uses AM301 type print wheels
PD$WH2 =200000 ; PDV uses AM302 type print wheels
PD$TOP =400000 ; printer uses top-of-char orientation
PD$EDG =1000000 ; printer can't print to edge of page
PD$IMG =2000000 ; printer has image support
PD$SFC =4000000 ; has selectable font cartridges
PD$KRN =10000000 ; supports track kerning
PD$KEY =20000000 ; PDV supports keycap
PD$W20 =40000000 ; PDV is AlphaWRITE 2.0-compatible
PD$ISO =100000000 ; PDV supports ISO Latin I [106]
PD$W21 =200000000 ; PDV is AlphaWRITE 2.1-compatible [106]
PD$DSP =400000000 ; PDV supports double-sided printing [106]
PD$ROT =1000000000 ; PDV supports text rotation [106]
PD$OUT =2000000000 ; PDV supports outline fonts [107]
PD$CHG =4000000000 ; PDV supports change bars [107]
PD$PCH =10000000000 ; PDV can return characteristics [107]
OFDEF P.INI, 4 ; printer initialization
OFDEF P.CLS, 4 ; printer shutdown
OFDEF P.CHR, 4 ; output character in D1
OFDEF P.CTL, 4 ; output control string indexed by D1
PC$CHOME =0 ; 00 return carriage home
PC$MOVAHT =1 ; 01 move to absolute horizontal tab
PC$ROLUP =2 ; 02 roll up a partial line
PC$ROLDWN =3 ; 03 roll down a partial line
PC$NEGLF =4 ; 04 output negative line feed
PC$SPLPT0 =5 ; 05 special print position 0
PC$SPLPT1 =6 ; 06 special print position 1
PC$RIBSC1 =7 ; 07 print in Secondary ribbon color 1
PC$RIBSC2 =8. ; 08 print in Secondary ribbon color 2
PC$RIBSC3 =9. ; 09 print in Secondary ribbon color 3
PC$RIBPRM =10. ; 10 print in Primary ribbon color
PC$FEDTR1 =11. ; 11 select Feeder tray 1
PC$FEDTR2 =12. ; 12 select Feeder tray 2
PC$FEDTR3 =13. ; 13 select Feeder tray 3
PC$FEDTR4 =14. ; 14 select Feeder tray 4
PC$FEDTGL =15. ; 15 select Feeder tray 1 & then tray 2
PC$FEDEJT =16. ; 16 select Feeder eject
PC$USR1 =17. ; 17 user function 1
PC$USR2 =18. ; 18 user function 2
PC$USR3 =19. ; 19 user function 3
PC$USR4 =20. ; 20 user function 4
PC$RIBSC4 =21. ; 21 print in Secondary ribbon color
PC$RIBSC5 =22. ; 22 print in Secondary ribbon color
PC$RIBSC6 =23. ; 23 print in Secondary ribbon color
PC$RIBSC7 =24. ; 24 print in Secondary ribbon color
OFDEF P.SPL, 4 ; output control string & char in D2
OFDEF P.CRLF, 4 ; output CR/LF pair & setup new line
OFDEF P.TOF, 4 ; ouput FF & setup new page
OFDEF P.PSON, 4 ; enable proportional
OFDEF P.PSOF, 4 ; disable proportional
OFDEF P.UNDR, 4 ; toggle underscore
OFDEF P.BOLD, 4 ; toggle bold
OFDEF P.STRK, 4 ; toggle strikeout
OFDEF P.BAR, 4 ; toggle over-bar
OFDEF P.SLPI, 4 ; set Vertical Motion Index
OFDEF P.SHMI, 4 ; set Horizontal Motion Index
OFDEF P.SCPI, 4 ; set Characters Per Inch
OFDEF P.STPM, 4 ; set Top Margin
OFDEF P.MTPM, 4 ; move to Top Margin
OFDEF P.SLPO, 4 ; set Left Paper Offset
OFDEF P.MLPO, 4 ; move to Left Paper Offset
OFDEF P.SLPP, 4 ; set Lines per Page
OFDEF P.SLSP, 4 ; set line spacing (in 1/2 lines)
OFDEF P.OVRP, 4 ; setup to overprint the last character
OFDEF P.LF, 4 ; output line feeds per count in D2
OFDEF P.DBL, 4 ; toggle double underscore flag [100]
OFDEF P.FONT, 4 ; select type font in D1 [101]
OFDEF P.ECHR, 4 ; output Extended Characters [104]
OFDEF P.SPARE,5.*4. ; THESE 5 ENTRIES RESERVED FOR ALPHA MICRO
OFDEF P.USER, 8.*4. ; THESE 8 ENTRIES RESERVED FOR USERS
OFDEF P.PSIZ, 4 ; set page size to points in D2
OFDEF P.TMAR, 4 ; set top margin to points in D2
OFDEF P.SPAR2,3*4 ; RESERVED FOR ALPHA MICRO
OFDEF P.LEFT, 4 ; Set left paper offset to points in D2
OFDEF P.LEAD, 4 ; Set leading to points in D2
OFDEF P.FNAM, 4 ; Set font by name (ASCIZ string @A6) [105]
OFDEF P.FSIZ, 4 ; Set font size to points in D2 [105]
OFDEF P.ITAL, 4 ; Toggle italic [105]
OFDEF P.SCRN, 4 ; Toggle screened [105]
OFDEF P.REV, 4 ; Toggle reverse
OFDEF P.FATR, 4 ; Set font attributes directly [105]
OFDEF P.MCHR, 4 ; Move to character position in D2 [105]
OFDEF P.MLIN, 4 ; Move to line position in D2 [105]
OFDEF P.MOVE, 4 ; Move to points (D1,D2) coordinates [105]
OFDEF P.SAVE, 4 ; Save print state [105]
OFDEF P.REST, 4 ; Restore print state [105]
OFDEF P.FTBL, 4 ; Return index to font table in A6 [105]
OFDEF P.BYTE, 4 ; Direct output of byte in D1 [105]
OFDEF P.SPOR, 4 ; Set page orientation (D1= "P" or "L") [105]
OFDEF P.GRAY, 4 ; Set gray (% in D2 - 0=wht, 100=blk)
OFDEF P.GRAF, 4 ; Perform graphics function (code in D2)
PG$BL =0 ; 00 begin line
PG$EL =1 ; 01 end line
PG$BB =2 ; 02 begin box
PG$EB =3 ; 03 end box
PG$BR =4 ; 04 begin rounded box
PG$ER =5 ; 05 end rounded box
PG$BG =6 ; 06 begin gray box
PG$EG =7 ; 07 end gray box
OFDEF P.FSUB, 4 ; Perform font substitution (font letter in D1)
OFDEF P.TRSC, 4 ; Translate special character
OFDEF P.TREC, 4 ; Translate extended character
OFDEF P.OTSC, 4 ; Output special character, return
OFDEF P.OTEC, 4 ; Output extended character
OFDEF P.SETL, 4 ; set line weight to points in D2
OFDEF P.POVR, 4 ; output page overlay, A6 indexes text
OFDEF P.IMON, 4 ; begin image/icon
OFDEF P.IMOF, 4 ; end image/icon
OFDEF P.KEY, 4 ; toggle keycap
OFDEF P.CART, 4 ; set cartridge/printwheel/thimble
OFDEF P.KERN, 4 ; set kerning as per D2
OFDEF P.SPAG, 4 ; set page printing
OFDEF P.OUTL, 4 ; toggle outline fonts
OFDEF P.CBAR, 4 ; toggle change bars
OFDEF P.PCH, 4 ; return printer characteristics [107]
OFDEF P.DDPE, 4 ; toggle device-dependent print effect, code in D2
OFSIZ P.SIZ ; size of PDV header & jump table area
PAGE
;Define IMPURE area indexed by A3 on entry to .PDV
;
;CAUTION: DO NOT change the order or size of this impure area as it must
; always match the area in WRTPRT.
;
OFINI
OFDEF PTDDB, D.DDB ; print file output DDB
OFDEF PTBUF, 512. ; buffer for above DDB
OFDEF FM.FLG, 1 ; formatting flags
FM$UND = ^H01 ; underscore enabled
FM%UND =0
FM$BLD = ^H02 ; bold print enabled
FM%BLD =1
FM$STK = ^H04 ; strikeout print enabled
FM%STK =2
FM$BAR = ^H08 ; over-bar print enabled
FM%BAR =3
FM$PRO = ^H10 ; proportional spacing enabled
FM%PRO =4
FM$FED = ^H20 ; use cut sheet feeder
FM%FED =5
FM$DBL = ^H40 ; double underscore enabled [100]
FM%DBL =6
FM$ITA = ^H80 ; italic (oblique) enabled
FM%ITA =7
FM$SCR = ^H100 ; screened enabled
FM%SCR =10
FM$REV = ^H200 ; reverse enabled
FM%REV =11
OFDEF STKCHR, 1 ; current character to strikeout with
OFDEF HMISAV, 2 ; current Horizontal Motion Index
OFDEF LPISAV, 2 ; current Lines per Inch (in 1/48 units)
OFDEF LPPSAV, 2 ; current Lines per Page (lines)
OFDEF CPISAV, 2 ; current Characters per Inch
OFDEF TPMSAV, 2 ; current Top Margin (lines)
OFDEF LPOSAV, 2 ; current Left Paper Offset (1/10 inch)
OFDEF LSPSAV, 2 ; current line spacing (in 1/2 lines)
OFDEF CURLIN, 4 ; current line number
OFDEF CURCOL, 2 ; current output column
OFDEF BLDCOL, 2 ; start of bold field
OFDEF BLDPTR, 4 ; pointer into bold buffer
OFDEF BLDBUF, 512. ; bold buffer
OFDEF UNDCOL, 2 ; start of underline field
OFDEF STKCOL, 2 ; start of strikeout field
OFDEF BARCOL, 2 ; start of overbar field
OFDEF FSTCHR, 2 ; flag that says we have output chars
OFDEF DBLCOL, 2 ; start of double underscore field [100]
OFDEF COLCNT, 2 ; column count [102]
OFDEF COLCOL, 2 ; multi-color column count [103]
OFDEF MCOLSW, 1 ; multi-color switch [102]
OFDEF EXPPSW, 1 ; expanded print mode switch [103]
OFDEF SSFLAG, 2. ; SUPER/SUB FLAG [103]
;definitions added for extended printer driver support
;storage space from RESVAM was used so that value of PDVIMP did not change.
;printer drivers that allocate their own memory must insure that they are not
;using more than PDVEXT bytes under any circumstances.
OFDEF WRDSPC, 6 ; inter-word spacing, pts. (AM floating)
OFDEF VRTLOC, 2 ; vertical location (points)
OFDEF HRZLOC, 2 ; horizontal location (points)
OFDEF CWIDTH, 6 ; width of character (AM float)
OFDEF PDVARG, 6 ; general-purpose PDV work area
OFDEF SPLPOS, 4 ; spooling flags (positive) [154]
OFDEF SPLNEG, 4 ; spooling flags (negative) [154]
OFDEF SPCCNT, 2 ; number of spaces in line [168]
OFDEF RESVAM, 10. ; AREA RESERVED FOR ALPHA MICRO [100]
OFDEF RESVUS, 50. ; AREA RESERVED FOR USERS
OFSIZ PDVIMP ; size of PDV impure area
OFDEF RESPDV, 200. ; reserved space for PDV variables
;*************************************
;* Printer Driver Font Table Entry *
;*************************************
.OFINI
.OFDEF FO.LOG,30. ; logical name of font (ASCIZ)
.OFDEF FO.CAR,10. ; cartridge name (ASCIZ)
.OFDEF FO.PHY,40. ; physical name of font
.OFDEF FO.FLG,4 ; font flags
FO$PRO =1 ; proportionally spaced font
FO$KRN =2 ; kerned font
FO$BLD =4 ; bold font
FO$OBL =10 ; oblique font
FO$SCL =20 ; scalable font (no fixed point size)
FO$POR =40 ; orientation portrait
FO$LAN =100 ; orientation landscape
FO$RES =200 ; resident font
.OFDEF FO.TBL,4 ; width table name (RAD50)
.OFDEF FO.SIZ,2 ; type size (points) (zero if scalable)
.OFDEF FO.LED,2 ; leading (points) (zero if scalable)
.OFDEF FO.CPI,2 ; CPI/pitch (for fixed fonts)
;Font width table symbols
;
FT$AFM=1 ; FWT format is Adobe Font Metric Table
FT$PTS=2 ; FWT format is table of points*100
FT$PKT=4 ; a pairwise kerning table is present