;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 .OFSIZ PDVEXT ; size of extended PDV impure area PAGE ;Define ASCII constants ; $NUL = 00. $SOH = 01. $STX = 02. $ETX = 03. $EOT = 04. $ENQ = 05. $ACK = 06. $BEL = 07. $BS = 08. $HT = 09. $LF = 10. $VT = 11. $FF = 12. $CR = 13. $SO = 14. $SI = 15. $DLE = 16. $DC1 = 17. $DC2 = 18. $DC3 = 19. $DC4 = 20. $NAK = 21. $SYN = 22. $ETB = 23. $CAN = 24. $EM = 25. $SUB = 26. $ESC = 27. $FS = 28. $GS = 29. $RS = 30. $US = 31. $SPC = 32. PAGE ; Define some printer macros ; DEFINE MOVAHT MOV #01.,D1 CALL P.SPL(A1) ENDM DEFINE NEGLF MOV #04.,D1 CALL P.CTL(A1) ENDM ;************************************* ;* 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) .OFSIZ FO.ESZ ; table entry size ;Set Direct Print Attributes - flags ; PA$BLD =1 ; bold PA$UND =2 ; underscore PA$ITA =4 ; italic PA$SCR =10 ; screened PA$REV =20 ; reverse PA$DBL =40 ; double underscore PA$BAR =100 ; overbar PA$GRY =200 ; gray ;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 ;Printer characteristics block .OFINI .OFDEF PC.MAK, 20. ; make .OFDEF PC.MOD, 20. ; model .OFDEF PC.LNG, 20. ; page description language .OFDEF PC.EXT, 8.*2 ; valid graphic file extensions .OFDEF PC.XXX, 180. ; unused .OFSIZ PC.SIZ .