If you select super/subscript, the character box now has 16 (high) x 7
(wide) dot positions for draft characters, or 16 x 23 dot positions for LQ characters. Each dot is represented by two adjacent solid blocks, occupying its own position and the position to the right. This reflects the fact that the
printer still cannot print horizontally adjacent dots, but that even skipping every other dot, the dots appear joined when printed.
The file created by this program contains the following printer com- mands:
1.< ESC > “:” <O> <O> <O> (standard mode) or <FS> “:” <O>
<0 > < 0 > (IBM mode) to copy the printer’s regular characters into
download memory. If you leave a download character undefined, the regular character will be printed.
2.< ESC > “x” < 0 > or < ESC > “x” < 1 > to select draft or letter quality.
3.One <ESC> “8~” <O> <cc> <cc> <mO> <ml> <m2> cdl>
.. . command for each character defined. <cc > is the character code,
<m0 > is the left hand space byte, < ml > is the character width byte, and cm2 > is the right hand space byte. <pl > .. . are the <ml > x 3 bytes of dot data.
4.< ESC > “% 1” to enable the printer to print the downloaded characters.
This program is coded in Microsoft BASIC for the
The WIDTH 255 command in line 1050 means infinite line width and prevents the computer from inserting unwanted line feeds in the character data. Some versions of BASIC do not need the WIDTH command.
Check your BASIC manual and make any changes necessary.
1000 1”****“**~******“********************””*~************************
1010 '
1oao ' DOWNLOAD CHARACTER GENERATOR FOR
1030 '
1040 1~***************************"***,*********""""".*"**************
1050 WIDTH "LPTl:",a55 :KEY OFF :CLS |
|
|
|
|
|
|
| ||||||||
1060 | DIR A(la6), A$(la6), PS(la6). DT(a4,4a) | :E$=CHR$(a7) | :F$=CHR$(aS) | ||||||||||||
1070 | Qc~(o)*" |
| ~~ |
|
| ||||||||||
1080 | sc$(l)*" | ......... | + | *.+ | + |
| +.. | ~ |
|
| |||||
1090 | XRY | l,CHR$(7) | :KEY | a,CHR$(E) | :KEY | 3,CHR$(9) |
|
|
| ||||||
1100 | KEY | 4,CHRQ(lO) | :KEY | 5,CHR$(ll) | :KEY | 6,CHR$(la) |
|
| |||||||
1110 | FOR | :NEXT | I |
|
|
|
|
|
| ||||||
iiao |
| PRINT | |||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1130 | LOCATE |
| 1,l :PRINT STRING$(a5,62); |
|
|
|
|
|
| ||||||
1140 | u WWNLOAD | CHARACTRR | GENERATOR |
| ";STRING$(a5,60) |
| |||||||||
1150 |
|
|
|
|
|
|
|
|
|
|
|
|
| ||
1160 | LOCATE | 3,l :PRINT | "READ CHARACTERS | FROM | EXISTING | FILE?" | |||||||||
1170 | SO$="Yes" :Sl$="No" | :PX=I | :PY=~ | :GO~~B | asao | :IF | s THEN 1470 | ||||||||
1160 |
| Open | existing file |
| |||||||||||
1190 | LOCATE 3,l :PRINT STRING$(40,31) | :LCCATE | 3,l |
|
|
| |||||||||
la00 INPUT "Pile name";FI$ |
|
|
|
|
|
|
|
|
| ||||||
la10 OPEN FI$ FOR INPUT AS Cl |
|
|
|
|
|
|
|
| |||||||
iaao |
| Read | initial |
|
|
|
|
|
| ||||||
la30 | I$=INPUTQ(3,#1) |
|
|
|
|
|
|
|
|
|
| ||||
la40 | IF RIGHT8fI11.11="0" | THEN | OUA=l | :GOTO | la60 |
|
|
|
92