10 WIDTH LPRINT 255

20 LPRINT CHR$(27)"A"CHR$(7)30 FOR R=1 TO 3

40 LPRINT CHR$(27)"K"CHR$(100)CHR$(0);

50 FOR X=1 TO 50: LPRINT CHR$(85)CHR$(42);

60 NEXT X: LPRINT

70 LPRINT CHR$(27)"K"CHR$(100)CHR$(0);80 FOR X=1 TO 50: LPRINT CHR$(42)CHR$(85);90 NEXT X: LPRINT: NEXT R

100 LPRINT CHR$(27)"@"

Now run the program to see the six print lines combine into a pat- tern:

Because the short and simple program that produced the pattern demonstrates many elements of graphics programming, each line is explained below.

Line 20 changes the line spacing to 7/72 of an inch, which is the height of the dot patterns used in the program. Therefore, there is no space between the print lines.

Line 30 begins a loop to produce multiple print lines. Lines 40 and 50 were explained previously. Lines 70 and 80 are similar to lines 40 and 50 except that line 80 uses a reversal of the patterns in line 50. As the loop is executed, the program prints lines 50 and 80 alternately so that the patterns of the print lines will fit together well.

Notice that the graphics command can be in effect for only one print line. The command is in lines 40 and 70 so that it is issued each time a new print line is begun. To print more than one line of graphics, the graphics command must be issued before each line.

Line 100 is the reset code to return the printer to its defaults.

59