100 WIDTH 255
110 PRINT CHR$(26) 'clear screen
120 PRINT "         "+CHR$(27)+CHR$(&H6C)+"P R I N T S E T    -    Print Size Setter for FX-80 Printers"+CHR$(27)+CHR$(&H6D):PRINT
130 PRINT CHR$(27)+CHR$(&H29)+"         Developed by Alan T. Chattaway, Daybreak Productions, Canada "+CHR$(27)+CHR$(&H28):PRINT
140 PRINT " This program lets you set LINE SPACING,  PRINT QUALITY and CHARACTER PITCH on"
150 PRINT " an Epson FX-80 printer.    You choose the desired attributes from menus which"
160 PRINT " appear below, by typing a single character chosen from each menu.":PRINT
170 PRINT " The available  L I N E   S P A C I N G S  are as follows:":PRINT
180 PRINT "           For  2  lines per inch, type   2 "
190 PRINT "           For  3  lines per inch, type   3 "
200 PRINT "           For  4  lines per inch, type   4 "
210 PRINT "           For  5  lines per inch, type   5 "
220 PRINT "           For  6  lines per inch, type   6 "
230 PRINT "           For  8  lines per inch, type   8 "
240 PRINT "           For  9  lines per inch, type   9 "
250 PRINT "           For 12  lines per inch, type  12 ":PRINT
260 PRINT " Use the <- key to make corrections; follow your selection by hitting ENTER ":PRINT
270 PRINT " Awaiting your input for  L I N E   S P A C I N G  : ";:INPUT " ",RAWLINESPACE$
280 LINESPACE=99
290 IF RAWLINESPACE$="2" THEN LINESPACE=108
300 IF RAWLINESPACE$="3" THEN LINESPACE=72
310 IF RAWLINESPACE$="4" THEN LINESPACE=54
320 IF RAWLINESPACE$="5" THEN LINESPACE=43
330 IF RAWLINESPACE$="6" THEN LINESPACE=36
340 IF RAWLINESPACE$="8" THEN LINESPACE=27
350 IF RAWLINESPACE$="9" THEN LINESPACE=24
360 IF RAWLINESPACE$="12" THEN LINESPACE=18
370 IF LINESPACE=99 THEN PRINT CHR$(&HB)+CHR$(27)+CHR$(&H52)+CHR$(&HB)+CHR$(7):GOTO 270'ask again
380 FOR BACKUP=1 TO 14:PRINT CHR$(&HB)+CHR$(27)+CHR$(&H52)+CHR$(&HB):NEXT BACKUP'clear bottom half of screen 
390 PRINT " The available P R I N T   Q U A L I T I E S  are as follows:":PRINT
400 PRINT "           For draft quality type    D "
410 PRINT "           For letter quality type   L ":PRINT
420 PRINT " Use the <- key to make corrections; follow your selection by hitting ENTER ":PRINT
430 PRINT " Awaiting your input for  P R I N T   Q U A L I T Y  : ";:INPUT " ",RAWQUALITY$
440 QUALITYMASK=99
450 IF RAWQUALITY$="d" THEN QUALITYMASK=0
460 IF RAWQUALITY$="D" THEN QUALITYMASK=0
470 IF RAWQUALITY$="l" THEN QUALITYMASK=8
480 IF RAWQUALITY$="L" THEN QUALITYMASK=8
490 IF QUALITYMASK=99 THEN PRINT CHR$(&HB)+CHR$(27)+CHR$(&H52)+CHR$(&HB)+CHR$(7):GOTO 430'ask again
500 FOR BACKUP=1 TO 8:PRINT CHR$(&HB)+CHR$(27)+CHR$(&H52)+CHR$(&HB):NEXT BACKUP'clear bottom half of screen 
510 PRINT " The available  P R I N T   D E N S I T I E S  are as follows:":PRINT
520 PRINT "           For regular density type      R "
530 PRINT "           For extra-dark density type   X ":PRINT
540 PRINT " Use the <- key to make corrections; follow your selection by hitting ENTER ":PRINT
550 PRINT " Awaiting your input for  P R I N T   D E N S I T Y  : ";:INPUT " ",RAWDENSITY$
560 DENSITYMASK=99
570 IF RAWDENSITY$="r" THEN DENSITYMASK=0
580 IF RAWDENSITY$="R" THEN DENSITYMASK=0
590 IF RAWDENSITY$="x" THEN DENSITYMASK=16
600 IF RAWDENSITY$="X" THEN DENSITYMASK=16
610 IF DENSITYMASK=99 THEN PRINT CHR$(&HB)+CHR$(27)+CHR$(&H52)+CHR$(&HB)+CHR$(7):GOTO 550'ask again
620 FOR BACKUP=1 TO 8:PRINT CHR$(&HB)+CHR$(27)+CHR$(&H52)+CHR$(&HB):NEXT BACKUP'clear bottom half of screen 
630 PRINT " The available  P R I N T   S T Y L E S  are as follows:":PRINT
640 PRINT "           For regular style type   R "
650 PRINT "           For italic style type    I ":PRINT
660 PRINT " Use the <- key to make corrections; follow your selection by hitting ENTER ":PRINT
670 PRINT " Awaiting your input for  P R I N T   S T Y L E  : ";:INPUT " ",RAWSTYLE$
680 STYLE=99
690 IF RAWSTYLE$="r" THEN STYLE=53
700 IF RAWSTYLE$="R" THEN STYLE=53
710 IF RAWSTYLE$="i" THEN STYLE=52
720 IF RAWSTYLE$="I" THEN STYLE=52
730 IF STYLE=99 THEN PRINT CHR$(&HB)+CHR$(27)+CHR$(&H52)+CHR$(&HB)+CHR$(7):GOTO 670'ask again
740 FOR BACKUP=1 TO 8:PRINT CHR$(&HB)+CHR$(27)+CHR$(&H52)+CHR$(&HB):NEXT BACKUP'clear bottom half of screen 
750 PRINT " The available  C H A R A C T E R   P I T C H E S  are as follows:":PRINT
760 LINES12=12
770 PRINT "           For   5     characters per inch, type   5  "
780 PRINT "           For   6     characters per inch, type   6  "
790 IF QUALITYMASK=8 THEN LINES12=LINES12-1: GOTO 810
800 PRINT "           For   8.57  characters per inch, type   8  "
810 PRINT "           For  10     characters per inch, type  10  "
820 PRINT "           For  12     characters per inch, type  12  "
830 IF QUALITYMASK=8 THEN LINES12=LINES12-1: GOTO 850
840 PRINT "           For  17.14  characters per inch, type  17  "
850 PRINT:PRINT " Use the <- key to make corrections; follow your selection by hitting ENTER ":PRINT
860 PRINT " Awaiting your input for  C H A R A C T E R   P I T C H  : ";:INPUT " ",RAWCHARPITCH$
870 MODEMASK=99
880 IF RAWCHARPITCH$="5" THEN MODEMASK=32
890 IF RAWCHARPITCH$="6" THEN MODEMASK=33
900 IF QUALITYMASK=8 THEN 920
910 IF RAWCHARPITCH$="8" THEN MODEMASK=36
920 IF RAWCHARPITCH$="10" THEN MODEMASK=0
930 IF RAWCHARPITCH$="12" THEN MODEMASK=1
940 IF QUALITYMASK=8 THEN 960
950 IF RAWCHARPITCH$="17" THEN MODEMASK=4
960 IF MODEMASK=99 THEN PRINT CHR$(&HB)+CHR$(27)+CHR$(&H52)+CHR$(&HB)+CHR$(7):GOTO 860'ask again
970 FOR BACKUP=1 TO LINES12:PRINT CHR$(&HB)+CHR$(27)+CHR$(&H52)+CHR$(&HB):NEXT BACKUP'clear bottom half of screen 
980 PRINTMASK=MODEMASK OR QUALITYMASK OR DENSITYMASK
990 IF ((MODEMASK AND 1) AND (QUALITYMASK=8)) THEN PRINTMASK=PRINTMASK OR 16
1000 LPRINT CHR$(27)+"j"+CHR$(LINESPACE)+CHR$(27)+"!"+CHR$(PRINTMASK)+CHR$(27)+"3"+CHR$(LINESPACE)+CHR$(27)+CHR$(STYLE)
1010 PRINT:PRINT:PRINT "     P R I N T E R  I S   S E T   -   R E A D Y   F O R   P R I N T I N G   " : PRINT
1020 WIDTH 80

1010 PRINT:PRINT:PRINT "     P R I N T E R  I S   S E T