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> “:” -co> <O> < 0 > (standard mode) or < FS > “:‘* < 0 >

<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. cdl > .. . are the <ml > x 3 bytes of dot data.

4.< ESC > “% i” 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

'

 

 

 

 

 

 

 

 

 

 

 

 

1020

'

 

DOWNLOAD

CHARACTW

 

GENERATOR

FOR 24-WIRE PRINTER

1030

'

 

 

 

 

 

 

 

 

 

 

 

 

1040 I"*""".*.*""."*"**..*.~"""~"*.*~"*"**"*~*""*""*~****.~*""""*..*""

1050 WIDTH "LPT1:",255 :XEY OFF :CLS

 

 

 

 

1060

DIR

A(126). A$(126),

P$(126), DT(24.42) :E$=CHR$(27) :F$=CHRQ(28)

1070

SCQ(O)-"---------

+---------

+---------

 

+---------

+--

,,

1080

SC$(l)-".-

+

+

 

+

+..

~

1090

XEY

l,CHR$(7)

:XEY

2,CHR$(B)

:XEY

3,CHR.$(9)

1100

XEY

4,CHR$(lO)

:XEY

5,CHR$(ll)

:XEY

6,CHR$(12)

1110

FOR

I=33 TO 126 :A(I)=-1

:NEXT

I

 

 

 

1120

I------

PRINT

HWDING

---------

__--------------------------------

 

 

 

 

 

 

 

 

 

1130

LOCATE

1,l

:PRINT

STRING$(25,62);

 

 

 

1140 PRINT " DOWNLOAD CHARACTER GENERATOR ":STRINGQ(25,60)

1150

I----------------------------------------------------------------

 

 

 

 

 

 

 

 

 

 

 

1160 LOCATE 3,l :PRINT "READ CHARACTRRS FROM EXISTING FILE?"

1170

SO$="Yes"

:sl$="No"

:S=-1 :PX-4

:PY-1

:GOSUB

2620 :IF S THEN 1470

llS0

I

 

Open

existing

file

--------------------------------------

 

 

 

 

 

1190

LOCATE

3,l

:PRINT

STRINGS(40.32)

:LGCATE 3.1

 

1200 INPUT "File name";FI$

 

 

 

 

 

 

 

1210 OPEN FIQ FOR INPUT AS #l

 

 

 

 

 

 

1220

1------

Read

ini,--al

 

conunands------------------------------------

 

 

 

1230

I$=INPUTQ(3,#1)

 

 

 

 

 

 

 

 

124D

IF

RIGHT$(I$,l)-"0"

THEN

 

QUA=1

:GOTO

1260

 

92

Page 100
Image 100
Star Micronics NX-2410 user manual 1220