; ************************** AMUS Program Label ****************************** ; Filename: PDV.M68 Date: 06/02/90 ; Category: UTIL Hash Code: 236-224-245-646 Version: 2.0(100) ; Initials: ULTR/AM Name: DAVID PALLMANN ; Company: ULTRASOFT CORPORATION Telephone #: 5163484848 ; Related Files: PDVSYM.M68 (version shipped with AlphaWRITE 2.0) ; Min. Op. Sys.: Any Expertise Level: BEG ; Special: ; Description: Displays information about an AlphaWRITE-compatible printer ; driver, including characteristics and supported fonts. Ex: .PDV LASJET ; ; **************************************************************************** ;**************************************************************************** ;* * ;* PDV * ;* Displays information about a Printer Driver * ;* * ;**************************************************************************** ;Copyright (C) 1990 UltraSoft Corporation. All Rights Reserved. ; ;Written by: David Pallmann ; ;Edit History: ;2.0(100) 02-Jun-90 created. /DFP VMAJOR =2 VMINOR =0 VSUB =0 VEDIT =100. VWHO =0 SEARCH SYS SEARCH SYSSYM COPY PDVSYM .OFINI .OFDEF PDV, D.DDB ; file DDB .OFSIZ MEMSIZ DEFINE CHK FLAG,TEXT MOV D5,D7 AND #FLAG,D7 BEQ 1$$ TYPECR TEXT 1$$: ENDM DEFINE BIT SRC,DST MOV DST,D7 AND SRC,D7 ENDM START: PHDR -1,0,PH$REE!PH$REU ; GETIMP MEMSIZ,A5 ; CMDLIN: BYP ; LIN ; JEQ USAGE ; FSPEC PDV(A5),PDV ; INIT PDV(A5) ; LOOKUP PDV(A5) ; JEQ FOUND ; MOVW #[DSK],PDV+D.DEV(A5) ; CLRW PDV+D.DRV(A5) ; MOVW #1_8.+6,PDV+D.PPN(A5) ; CLR D.DVR(A5) ; LOOKUP PDV(A5) ; JEQ FOUND ; NOT.FOUND: TYPE ? ; PFILE PDV(A5) ; TYPECR < not found> ; CRLF ; USAGE: TYPECR The PDV command displays information about a printer driver TYPECR Copyright (C) 1990 UltraSoft Corporation. All Rights Reserved. CRLF ; TYPECR Usage: .PDV driver ; CRLF ; EXIT ; FOUND: FETCH PDV(A5),A4 ; JNE NOT.FOUND ; TYPESP Information about ; PRNAM PDV+D.FIL(A5) ; TYPE < version > ; VCVT P.HDR+2(A4),OT$TRM ; CRLF ; CRLF ; FLAGS: MOV P.FLG(A4),D5 ; TYPECR Characteristics: CHK PD$VAR,< - printer has variable spacing> CHK PD$PRO,< - printer has proportional spacing> CHK PD$FED,< - printer has cut sheet feeder> CHK PD$EXT,< - PDV supports extended entry points> CHK PD$PTS,< - PDV supports point-oriented calls> CHK PD$SAV,< - PDV can save & restore print state> CHK PD$BLD,< - PDV supports bold text> CHK PD$UND,< - PDV supports underscored text> CHK PD$ITL,< - PDV supports italic text> CHK PD$SCR,< - PDV supports screened text> CHK PD$REV,< - PDV supports reverse text> CHK PD$GRY,< - PDV supports gray tone control> CHK PD$GRF,< - PDV supports graphics functions> CHK PD$LED,< - PDV supports leading> CHK PD$FNT,< - PDV has a font table> CHK PD$WH1,< - PDV uses type 1 (AM302) print wheels> CHK PD$WH2,< - PDV uses type 2 (AM301) print wheels> CHK PD$TOP,< - printer uses top-of-char orientation> CHK PD$EDG,< - printer can't print to edge of page> CHK PD$IMG,< - printer has image support> CHK PD$SFC,< - printer has selectable font cartridges> CHK PD$KRN,< - supports track kerning> CHK PD$KEY,< - PDV supports keycap> CHK PD$W20,< - PDV is AlphaWRITE 2.0-compatible> CRLF ; FONTS: MOV D5,D7 ; AND #PD$EXT,D7 ; JEQ EXIT ; TYPECR Fonts supported: ; CALL P.FTBL(A4) ; MOV A6,A0 ; 5$: TYPE < > ; MOV #2,D4 ; 10$: CMPW D4,#68. ; BLT 11$ ; CRLF ; BR 5$ ; 11$: TSTW @A0 ; BEQ 20$ ; MOVB FO.LOG(A0),D1 ; TTY ; INCW D4 ; CLR D1 ; MOVW FO.SIZ(A0),D1 ; BEQ 12$ ; DCVT 0,OT$TRM ; INCW D4 ; CMPW D1,#10. ; BLT 14$ ; INCW D4 ; CMPW D1,#100. ; BLT 14$ ; INCW D4 ; BR 14$ ; 12$: TYPE < scalable> ; ADDW #10.,D4 ; 14$: BIT #FO$BLD,FO.FLG(A0) ; BEQ 16$ ; TYPE < bold> ; ADDW #5,D4 ; 16$: BIT #FO$OBL,FO.FLG(A0) ; BEQ 18$ ; TYPE < italic> ; ADDW #7,D4 ; 18$: TYPE <; > ; ADDW #2,D4 ; ADD #FO.ESZ,A0 ; JMP 10$ ; 20$: CRLF ; CRLF ; EXIT: EXIT ; END .