Therefore, the graphics mode command uses two numbers for reserving columns.

To figure the number of columns reserved, multiply the second number by 256 and add it to the first number. Since the command is set up for two numbers, you must supply two numbers even if you need only one. When you need fewer than 256 columns, just make nJ the number of columns you are reserving and make n2 a zero.

For example, if you wish to send 1632 columns of graphics data, nl should be 96 and n2 should be 6 because 1632 = 96 + (6 x 256).

The LQ will interpret the number of bytes determined by nl and n2 as graphics data, no matter what codes they are. This means that you must be sure to supply enough bytes of graphics data or the LQ will stop and wait for more data and will seem to be locked. If, on the other hand, you supply too much graphics data, the excess will be interpreted and printed as regular text.

First graphics program

This first program is a simple example to show you how the graphics command, column reservation numbers, and data can be used in a BASIC program. Type in and run the following program: be especially careful to include both semicolons. The program produces the printout

you see

below it.

 

10

WIDTH

"LPT1:",255

20

LPRINT

CHR$(27)"+"CHR$(32 ) CHR$ (40) CHR$(0);

30 FOR X=1 TO 120

40

LPRINT

CHR$(li'B);

50

NEXT X

 

Line 20 selects single-density 24-pin graphics (mode 32 from Table 6-1) and also reserves 40 columns for graphics. Since 24pin graphics requires three bytes of data for each column, line 30 begins a loop to supply 120 bytes of data. Line 40 contains the number 170 that produces the first pin pattern shown in Figure 6-2, and line 50 finishes the loop.

6 - 6

Graphics and User-defined Characters