1000 ~**tt**.*t.******tt*frt DOWNLOAD CHARACTER GENERATOR *.'t*****w*********t*
1010 WIDTH "LPT1:",255 :KEY OFF :CLS
1020 DIM A(126). P(126.23). Q(126.23). DT(16.24) :EO=CHRS(271 :RS=CHRS(ZE)
1030 KEY 1, CHR$(7) :KEY 2, CHR$(8) :KEY 3, CHR$(9)
1040 KEY 4. CHR$(lO) :KEY 5, CHRO(11) :KEY 6. CHR$(12)
1050 FOR I-33 TO 126 :A(I)--1 :NEXT I
1060
1070 LOCATE 1.1 :PRINT STRING$(25,621;
1080 PRINT o DOWNLOAD CHARACTER GENERATOR ":STRING$(25.60)
1090
1100 LOCATE 3.1 :PRINT "READ CHARACTERS FROM EXISTING FILE?"
1110 SO$="Yes" :Sl$="No" :S=-1 :PX=4 :PY=l :GOSUB 3020 :IF S THEN 1320
1120 I_____ oDen ex.stino file ________---_____________________________--------
1130 LOCATE 4120
1140 INPUT "File name";FI$
1150 OPEN "R" #l FIB 48
1160 FIELD #1:48'AS A$
1170 I-____ Read 2 initial coma"& -------------------------------------------
1180 GET #l,l
1190 IF MID$(A$,4,1)=E$ THEN IBM-O ELSE IBM--l
1200 IF MID$(A$,3,1)-"0" THEN NLQ-0 ELSE NLQ=-1
1210 IF NLQ THEN WI-23 :HI=16 ELSE WI-11 :HI=8
1220 ‘L-.LRea* data for 1 character _---------------___----------------------
1230 FOR CC-33 TO 126 :M=CC-31
1240 GET X1.M :IF LEFT$(A$,lI=CHR$(O) THEN A(CC)=-1 :GOTO 1310
1250 A(CC)=ASC(MID$(A$.2.1))
1260 FOR Y-l TO WI
1270 P(CC,Y)=ASC(MID$(A$,Y+2.1)) :NEXT Y
1280 IF NLQ-0 THEN 1310
1290 FOR Y-l TO WI
1300 Q(CC,Y)=ASC(MID$(A$.Y+25.1)) :NEXT Y
1310 NEXT CC :CLOSE 1
1320 I_____ Select Std./IBM ____-_-_------__________________________-----------
1330 LOCATE 6.1 :PRINT "SELECT MODE"
1340 SO$="Standard mode (DIP SW. l-6 ON )"
1350 Sl$="IBM mode (DIP SW. l-6 OFF)"
1360 S-IBM :PX=7 :PY=l :GOSUB 3020 :IBM=S
1370 IF IBM THEN HD$=R$+":"+STRING5(3.0) ELSE HDS=ES+":"+STRINGS(3.0)
1380 I____- Select Draft,NLQ --------------_-----------------------------------
1390 LOCATE 9.1 :PRINT "SELECT QUALITY"
1400 SO$="Draft quality" :Sl$="Near letter quality"
1410 S-NLQ :PX=lO :PY=l :GOSlJB 3020 :NLQ=S
1420 IF NLQ THEN HD$=CHR$(27)+"xl"+HD$ :WI=23 :HI=16 :GOTO 1440
1430 HDB=CHR$(27~+"xO"+HD$ :WI=ll :HI=8
1440 PL$=STRING$(24."+") :HY5=STRING$(24."-")
1450 CC-33 :CH$="!"
1460 I----- Select continue/start O"er -_---_____________-_-----------------*--
1470 LOCATE 12.1 :PRINT "CONTINUE?"
1480 SO$="Continue" :Sl$="Start over"
1490 S-O :PX=13 :PY=l :GOSUB 3020 :IF S THEN CLS :GOTO 1070
1500
1510 I===== DRAW BOX =================-========================================
1520 CLS :IF NLQ THEN 1540
1530 LOCATE 1.3 :PRINT "1 2 3 4 5 6 7 8 9 0 1 " :GOTO 1550
1540 LOCATE 1.3 :PRINT "123456789012345678901234"
1550 LOCATE 2.3 :PRINT "++++++++++++++++++++++++"
1560 FOR N-l TO 16
1570 IF NLQ THEN LOCATE N+2,1 :PRINT RIGHTS(STREfN).1)::GOTO 1590
1580 IF N MOD 2 -1 THEN LOCATE N+2,1 :PRINT RIGKTS(~S((N+1,/2,.1,:
1590 LOCATE N+2,2 :PRINT "I";SPC(24):":" :NEXT N
1600 LOCATE 19.3 :PRINT "++++++++++++++++++++++++"
1610 I____- Select =haracter _--------~~-------~--------~~~~~-------------~--~-
1620
1630
1640
1650
1660
CH$=CHRS(CC)
1670
LOCATE 1.40 :PRINT "SELECT CHARACTER l":CHS:"l";
I$=INPUT$(l) :IF u "<I$ AND I$<CHR$l1271 THEN CHS-IS ELSE GOT0 1660
CC-ASCfCHO)
LOCATE 1.40 :PRINT "SELECTED CHARACTER : ";CH$;" "
I_____ Ascender or descender? ____-_-------------_____________________-~~-
1680 SO$="Ascender" :Sl$="Descender"
1690 S=(A(CC)=O) :PX=3 :PY=40 :GOSUB 3020 :DES=S
93