Gemini User’s Manual

paper), then skip down 16 lines from the top of the next page. So where, you might ask, did the extra line come from? BASIC inserts a carriage return (CR)and line feed (LF) at the end of every LPRINT statement, unless the last character in LPRINT is a semicolon (;).

Line 90 starts the major loop of the program, which causes the normal and italic tables to be printed. If the variable “I”is equal to the number 1, then the message on line 100 is printed. If “I” equals 2, the message on line 110 is printed. Let’s lookat line 100:

LPRINT WIDE$; “GEMINISTANDARD

TYPE STYLES”; CANWIDE$; LF$

You might ask: What does WIDE!$cause to be printed? The answer is not “what:’but “howl’WIDE$ is set (on line60) to CHR$(I4), the command for the double-width printing mode. Look at Figure 5-2 to verify that.

The CANWIDE$ string cancels the double-width function (also set on line 60). The semicolon between character strings causes the strings to be printed without anyspaces between them. The LF$ string causes a line feed; the LPRINT statement produces another carriage return and a line feed because it does not end with a semicolon.

Line 110 causes a similar message to be printed, but this time we did not invoke the italic print style by sending the ITALIC$ command string to Gemini at the beginning of LPRINT statement.

Line 120 looks interesting, because it serves an interesting purpose. Line 120 is a loop from 1 to 40 that sends two characters to Gemini for each cycle of the loop. What, you might ask are the two characters: CHR$(231) and CHR$(232)? To find out, turn to Appendices I or H. ASCII code numbers 231 and 232 appear to be ‘- what, in a gymnast’s parlance might be called “uneven parallel bars:’ Number 231 is the upper bar, and number 232 is the lower bar. These two characters are part of Gemini’s “6 x 6” graphics set (as explained further in Chapter 7).

The two LPRINT statements at the end of line 120 cause two line feeds after the loop is completed. Did you notice the semicolon at the LPRINT, inside the loop? Without that “;” a carriage return would be generated after each printing of these two characters. With the semicolon, we get the alternating row of short bars that serve as decoration beneath the table titles in Figure 5-2.

Line 130 is straightforward; it prints the column headings for the table. Because the printer has been set to produce these headings in I = 1 and in I = 2, the headings appear in normal and

--

-

-

68

Page 74
Image 74
Gemini Industries Printer user manual Lprint WIDE$ Geministandard Type Styles CANWIDE$ LF$