83
You will see the letters ml, m2, m3 etc., are above your
values. When you define the character, you will substitute your
value for each of these letters.
Before you complete the definition, you will need to decide ex-
actly where in the standard ASCII set you want to place your
characters. After downloading, you access your new character
by sending the code for the character you replaced. For exam-
ple, we decided to assign our flask to the “(” character. You are
not restricted in your choice of ASCII codes, so little-used codes
may be replaced by your own more useful characters. The com-
plete command syntax for a download character is:
(ESC) “8~” CHR$(O) nl n2 m0 ml m2 m3 m4 m5 m6 m7 m8 m9
ml0 ml1
Where (ESC) is the escape code (CHR$(27)), the “8~” is the
ampersand (CHR$(38)) followed by CHR$(O), and nl and n2
specify the ASCII codes you want the new characters to occupy.
nl specifies the beginning of the range of ASCII codes to be de-
fined, and n2 the end; if you only want to define one character,
nl and n2 will be the same.
m0 is called the attribute byte, and describes two attributes:
the top or high order bit describes whether the character is a
descender, and the last seven bits describe proportional widths.
Our character will occupy from column 1 to column 11, so the
proportional data is 11. See Figure 6-5. For further detail about
proportional width of characters, see the following section.
Figure 6-5. The attribute byte (Ml) for our flask character.
Even though there are no dots in the last column, we define to
column 11 to leave some space between the characters.
ml to ml 1 are the column data we defined along the bottom of