; ************************** 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