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 IBM-PC.
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 14-WIRE PRINTER
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 I-33 TO la6 :A(I)=-1 :NEXT I
iiao I------ PRINT HEADING _______----_____________________________---
1130 LOCATE 1,l :PRINT STRING$(a5,62);
1140 PRINT u WWNLOAD CHARACTRR GENERATOR ";STRING$(a5,60)
1150 1----------------------------------------------------------------
1160 LOCATE 3,l :PRINT "READ CHARACTERS FROM EXISTING FILE?"
1170 SO$="Yes" :Sl$="No" :s=-i :PX=I :PY=~ :GO~~B asao :IF s THEN 1470
1160 I------ 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 I------ Read initial co,,,,,,an~s----------------------------------
la30 I$=INPUTQ(3,#1)
la40 IF RIGHT8fI11.11="0" THEN OUA=l :GOTO la60
92