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
632 LPRINT CHR$(P)CHR$(R);: NEXT J
640 GOT0 610
650 LPRINT: NEXT K: LPRINT CHR$(27)"@": END
800 DATA
805 DATA
810 DATA
815 DATA 64,0,0,0,0,64,32,17,10,4,128
820 DATA
825 DATA
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
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
85