PRINTER PROGRAM TO DEAL WITH THE IBM 80 CPS PRINTER FUNCTIONS: SETUP PRINTER MODES( PRINT PAGINATED LISTINGS OF TEXT FILES=2 ISSUE CONTROLS TO PRINTERX< AUTHOR: WILL FASTIEsF CREATED: 12 DEC 1981P EDITED: 26 JAN 1982 2355Z SOURCE: PRINTER.BASd NOTE: OPERATES ON CURRENT DISPLAY DEVICE, CURRENT MODEn ***** CONSTANTS-xPROG$ "PRINTER v1.01 26 JAN 1982"=ESC$()mCLRLPT$ESC$"Q"ESC$"5"ESC$"F"ESC$"H"{PWIDTHP ***** INITIAL MENU : : ,, PROG$:  "THE PRINTER MUST BE ONLINE TO" "PERFORM THESE FUNCTIONS." "FUNCTIONS:";;  );"P - PRINT A TEXT FILE"Z  );"S - SETUP PRINTER"y  );"R - RESET PRINTER"  );"T - ADVANCE PAPER TO TOP"  );"Q - QUIT (RETURN TO DOS)"  );"X - EXIT TO BASIC""MENSEL ,PLOC MENSEL: D6 " ENTER FUNCTION: ",X$: X$"" : ,N@ yJX ("PSRTQX",X$): X  : ,T X h, , 8, `, ~, ^ h ***** PRINT PAGINATED LISTINGr| PROG$:  "ADJUST THE PAPER IN THE PRINTER SO THAT"A "THE PERFORATION IS AT THE PAPER BAIL."a "PUT THE PRINTER ONLINE."g "FILES MUST BE ASCII TEXT FILES." "NO FILENAME EXTENSION IS ASSUMED," "SO ENTER THE FILENAME EXACTLY." "DEPRESS ENTER KEY TO RETURN TO MENU."< "PRESS ESC KEY TO ABORT PRINTING."B^ "FILE TO PRINT: ",X$s (X$)  }  "lpt1:",PWIDTH X$ AS 1&PAGENR 0LINENR : () D #, L$N LINENR  X L$b ESC$ ElLINENR LINENR (((L$)O)P)dv LINENR 6 LINENR n : CLOSE FILE AND RETURN `  ***** SUBROUTINE TO PRINT PAGE HEADING PAGENR  ( );PAGENR PAGENR : 0 ESC$"S";X$;" ";ESC$"T";f "-- PRINTED ON ";;" AT ";;" -- PAGE";PAGENRo: u ***** SETUP PRINTER : PROG$: "PRINTER ENHANCEMENTS ARE:" * " IT - ITALICS CHAR. SET"4 " C - COMPRESSED PRINT"0> " E - EMPHASIZED PRINT"OH " DS - DOUBLE STRIKE"UR\ "ENTER ENHANCEMENTS SEPARATED BY SPACES."fp "EXAMPLES:"z " C E - ILLEGAL" " - 10 CPI, NORMAL" " E - 10 CPI, BOLD", " DS C -16.5 CPI, DOUBLE"2W " ENTER ENHANCEMENTS: ",O$oX$O$: : O$X$~ CLRLPT$; (O$,"IT") ESC$;"4"; (O$,"C") ESC$;"P"; (O$,"E") ESC$;"E"; (O$,"DS") ESC$;"G"; PLOC ? "ENTER DESIRED LINE WIDTH: ",PWIDTHd$  PWIDTH PWIDTH  j.8 ***** RESET PRINTER TO DEFAULTSB CLRLPT$;LPWIDTHPV` ***** FORM FEED TO PRINTERj ( );t~ ***** RETURN TO DOS) ***** EXIT TO BASIC/5h ***** SUBROUTINE TO UPPERFY A STRING (IN X$)} X  (X$) XC$ (X$,X,) "a" XC$ XC$ "z" (X$,X,) ((XC$)  ) X ***** SUBROUTINE AT SPECIFIED LINE AND CLEAR IT$ PLOC,5  ((," ");B PLOC,Hy( ***** SUBROUTINE TO WAIT FOR ANY KEYSTROKE2 "DEPRESS ANY KEY TO CONTINUE...";< PFP ***** SUBROUTINE TO GET A KEYSTROKE INTO X$ZX$ d X$ "" ZnKEY TO CONTINUE...";< PFP ***** SUBROUTINE TO GET A KEYSTROKE INTO X$ZX$ d