The semicolon is very important. The CHR$(27)"&" sequence expects more data to follow (just as Graphics Mode does). The semicolon at the end of the line prevents an unwanted carriage-return code from disrupting the data.

For each character to be defined (determined by c1 and c2), the printer expects 12 data numbers to follow. The first of these numbers is called the attribute byte. It determines some special attributes or characteristics of the character being defined. The next 11 numbers contain the dot patterns of the symbol being defined-nothing fancy, just 11 standard graphics pin patterns.

Design

The first step in defining a new character is to lay out the dot pat- tern. Check Appendix A to see how the ROM characters are designed. Your characters share the same limitations as those found in the ROM. Characters can be a maximum of 8 dots tall (even though the matrix is

9dots) and 11 dots wide. Most characters use only the top 7 pins of the print head; lowercase characters with descenders use the bottom 7. Also note that all characters leave the last two columns (one interme- diate and one main) unused; this provides space between the letters when they are printed. Figure 15-2shows the design of a letter E in an 8 by 11 matrix.

Figure 15-2.User-defined E

201