107
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
exactly 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 example, 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 complete command syntax for a download
character is:
< ESC > “&” 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 defined, 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 ,l 1. See Figure 7-5. For further detail about proportional
width of characters, see the following section.
1 000 1,011 = 139(decimal)
Descender Starting Ending
data print column print column
Figure 7-5. The attribute byte (m0) 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.