Firing 9 pins with 8 data lines is just a shade more difficult than firing 7 or 8 pins. It takes 2 bytes to define each 9-dot pin pattern: the first byte determines the pattern of the top 8 pins in the usual way and only the top bit of the second byte is used. Thus any second byte of 128 or greater fires the bottom pin of the print head; anything less does not. Try this sample program:

20A$=CHR$(27)+CHR$(94)+CHR$(0)+CHR$(60)+CHR$(0)
30B$=CHR$(85)+CHR$(0)+CHR$(l70)+CHR$(128)

60

LPRINT A$;: FOR X=1 TO 30: LPRINT B$;: NEXT X

80

LPRINT CHR$(27)"@"

 

 

 

 

Figure 11-6.Printout using bottom pin

Compare this with the densities in Figure 11-4 (this one is Single- Density). Look closely at Figure 11-6;you’ll see that the bottom pin prints in every other column. If you want to see Double-Density, change the first 0 of line 20 to a 1. For fans of 9-Pin Graphics, the CHR$(27)“0” line spacing is ideal: it sets the line spacing to 9/72-inch 9-dot).

Pin Combination Patterns

The next phase in printing graphics is to arrange pin firing sequences into meaningful designs. Figure 11-7 shows how you might design a dot pattern on graph paper.

In Figure 11-7,we show on the side of the figure the pin labels for each row of dots. At the bottom of each column we show the sum of those labels. These sums are the numbers you send to print this pat- tern.

Once you’ve calculated the numbers for a pin pattern, you can store them in DATA statements. You separate items in a DATA statement with commas. A program reads these items from the DATA statement into variables with a READ statement.

Now begin a new program with a READ statement and the values for the pattern of Figure 11-7.Enter the following lines, but don’t RUN the program yet.

154