=0 THEN LPRINT CHR$(N);: GOT0, 820 DATA 2, 4, 10, 18, 34, 64, -5,2, 0, 4, 0, 8, 0"> Epson LX-86TM 640 GOT0, 590 FOR K=1 TO, 90 WIDTH LPRINT, 100 LPRINT CHR$(27)"1, 610 READ N: IF N=128 THEN, 630 READ P,R: FOR J=1 TO -N, 632 LPRINT CHR$(P)CHR$(R);: NEXT J

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 255100 LPRINT CHR$(27)"1"590 FOR K=1 TO 3600 LPRINT CHR$(27)"Y"CHR$(50)CHR$(0);610 READ N: IF N=128 THEN 650620 IF N>=0 THEN LPRINT CHR$(N);: GOT0 610630 READ P,R: FOR J=1 TO -N632 LPRINT CHR$(P)CHR$(R);: NEXT J640 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, 84, 32, 17, 10, 4, 0, -6, 0, 0, -10 815 DATA 64, 0, 0, 0, 0, 84, 32, 17, 10, 4, 128

820 DATA 2, 4, 10, 18, 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”.

83