Epson LX-80 Printer User Manual


 
The numbers for the second and third lines were calculated in the
same manner. Once the numbers for the pin patterns are calculated,
they go in DATA statements, separated by commas.
First we’ll give you the whole program and its printout; then we’ll
explain two techniques we have not used before:
90
WIDTH
LPRINT
255
100
LPRINT
CHR$(27)"1"
590
FOR
K=l
TO
3
600
LPRINT
CHR$(27)"Y"CHR$(50)CHR$(0);
610
READ
N:
IF
N=128
THEN
650
620
IF
N>=0
THEN
LPRINT
CHR$(N);:
GOT0
610
630
READ
P,R:
FOR
J=l
TO
-N
632
LPRINT
CHR$(P)CHR$(R);:
NEXT
J
640
GOT0
610
650
LPRINT:
NEXT
K:
LPRINT
CHR$(27)"@":
END
800
DATA
8,4,10,1,-6,8,0,4,0,2,0,1,-9,0,0,0
805
DATA
23,8,4,2,1,-2,0,0,0,128
810
DATA
0,0,0,0,64,32,17,10,4,0,-6,0,0,-10
815
DATA
64,0,0,0,0,64,32,17,10,4,128
820
DATA
2,4,10,16,34,64,-5,2,0,4,0,8,0,16
825
DATA
0,-9,32,0,61,2,4,8,16,32,64,0,0,0,128
In this program we used the number 128 in the DATA statements
to signal the end of a print line. This is the reason for the IF-THEN
statement in line 610 that skips to line 650 and causes a line feed.
The other special technique used in this program is found in lines
620 and 630. Since some of the data numbers are repeated many
times, we save typing by using negative DATA numbers for repeti-
tions. Line 620 tests for a negative number, and if it finds one, reads
the next two numbers and prints their pin patterns the number of
times indicated by the negative number.
For example, when the minus 6 in line 800 is read, the program
then reads the next two numbers (8 and 0) and sends them to the
printer six times. This feature is not a necessary part of the program,
but it does allow you to type fewer data numbers.
Otherwise the program is a straightforward graphics program that
uses 7-dot line spacing and reads numbers from DATA statements
and sends them to the printer. If you want to see the figure in other
densities, change the “Y” in line 600 to “L” or “Z”.
85