User's 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=1 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=1 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, 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