5 CLS:KEY OFF:SCREEN 0,0,0:WIDTH 80:CLEAR:FOR I=1 TO 10:KEY I,"":NEXT:KEY 2,"GOTO 60"+CHR$(13):KEY 10,"RUN"+CHR$(34)+"BLUEMENU"+CHR$(34)+CHR$(13):LIST 10-57
10 '***************** NEC 8023 MULTI-LABEL PROGRAM ****************************
16 '??????????????????????????????????????????????????????????????????????????
18 '?           WRITTEN FOR SPECIALIZED USE OF NEC 8023A PRINTER              ?
20 '?                                                                         ?
22 '?  This program is designed for use with the NEC 8023 dot matrix printer. ?
24 '?  Codes may be modified to fit other printers.  Also, print statements   ?
26 '?  are written to LPT1:. If you are using LPT2, change the statement in   ?
28 '?  line 110 so that "LPT1:" reads "LPT2:"  All or part of this program    ?
29 '?  may be used without license or attribution.  An EPSON/GEMINI version   ?
30 '?  is also included on this disk.                                         ?
31 '?                                                                         ?
32 '?  NOTE:NOTE:NOTE: Do not run this program on an EPSON/MX-80 printer. The ?
33 '?  control codes can cause the printer to print "garbage" and LOCK UP.    ?
34 '?                                                                         ?
35 '?                    (c)  G I N A C O -- 1983         Ver 5.1/160/320     ?
36 '??????????????????????????????????????????????????????????????????????????
55 '        *****  < F2 > to RUN  *******  < F10 > For BLUEMENU  *****
57 ' ====== To avoid DOCUMENTATION BOX each time, REM or DELETE  line 5 ======
60 CLS:SCREEN 0,0,0:WIDTH 80:CLEAR:FOR I=1 TO 10:KEY I,"":NEXT
100 CLOSE
110 OPEN "LPT1:" FOR OUTPUT AS #2
120 CLS:LOCATE 6,16
130 PRINT "THIS WILL PRINT LABELS ON STANDARD LABEL STOCK."
140 PRINT TAB( 10)"YOU MAY PRINT AT 10,12,OR 16.5 CPI BASED ON YOUR SELECTION."
150 PRINT
160 PRINT
170 PRINT TAB( 22)"SELECT PITCH AND  CHOICE"
180 PRINT
190 PRINT TAB( 22)"PICA -- 10 CPS................1"
200 PRINT TAB( 22)"ELITE -- 12 CPS...............2"
210 PRINT TAB( 22)"CONDENSED --- 17.0 CPS........3"
220 PRINT TAB( 22)"FIRST LINE ONLY EXPANDED......4"
230 PRINT TAB( 22)"ALL LINES EXPANDED............5"
240 PRINT TAB( 22)"END PROGRAM...................6"
250 PRINT
260 PRINT
270 PRINT TAB( 22)"CHOOSE........";
280 INPUT X!
290 IF X! < 0 OR X! > 6 THEN 280  ELSE 300
300 ON X! GOTO 310,330,350,1150,1560,2000
310 PRINT #2, CHR$(27); CHR$(78); CHR$(27); CHR$(33);
320 GOTO 370
330 PRINT #2, CHR$(27); CHR$(69);
340 GOTO 370
350 PRINT #2, CHR$(27); CHR$(81);
360 GOTO 370
370 CLS
380 LOCATE 10,10
390 PRINT "WAS THAT PITCH SETTING OK "
400 GOSUB 1000
410 IF Q! = 1 THEN 430
420 IF Q! = 2 THEN 120
430 CLS
440 LOCATE 8,10
450 LINE INPUT "LINE 1:> ";L1$
460 LOCATE 9,10
470 LINE INPUT "LINE 2:> ";L2$
480 LOCATE 10,10
490 LINE INPUT "LINE 3:> ";L3$
500 LOCATE 11,10
510 LINE INPUT "LINE 4:> ";L4$
520 LOCATE 12,10
530 LINE INPUT "LINE 5:> ";L5$
540 PRINT
550 PRINT TAB( 10)"IS INPUT CORRECT ? "
560 GOSUB 1000
570 IF Q! = 1 THEN 590
580 IF Q! = 2 THEN 430
590 REM *************** LABEL PRINT ROUTINE ******************************
600 CLS
610 LOCATE 11,10
620 INPUT "HOW MANY LABELS ";X!
630 LOCATE 13,10
640 INPUT "LEFT PRINT MARGIN ";Z!
650 LOCATE 15,10
660 PRINT "ARE THESE SETTINGS CORRECT? "
670 GOSUB 1000
680 IF Q! = 1 THEN 700
690 IF Q! = 2 THEN 590
700 PRINT #2, CHR$(27); CHR$(76);"000";
710 CLS
720 LOCATE 10,10
730 INPUT "PRESS ENTER WHEN PRINTER READY. ";R!
740 ON R! GOTO 750
750 FOR NL! = 1 TO X!
760   PRINT #2, CHR$(13);
770   PRINT #2, TAB( Z!);L1$
780   PRINT #2, TAB( Z!);L2$
790   PRINT #2, TAB( Z!);L3$
800   PRINT #2, TAB( Z!);L4$
810   PRINT #2, TAB( Z!);L5$; CHR$(13);
820 NEXT NL!
830 :REM PRINT #2, CHR$(27); CHR$(76);"000";
840 CLS
850 :REM *********************  TERMINATION ROUTE  ********************
860 LOCATE 10,10
870 PRINT "REPRINT THIS LABEL "
880 GOSUB 1000
890 IF Q! = 1 THEN 910
900 IF Q! = 2 THEN 940
910 X! = 0
920 Z! = 0
930 GOTO 600
940 CLS
950 LOCATE 12,10
960 PRINT "ENTER ANOTHER LABEL "
970 GOSUB 1000
980 IF Q! = 1 THEN 120
990 IF Q! = 2 THEN 1130
1000 COLOR 0,7
1010 LOCATE 20,10
1020 PRINT " YES OR NO  ? "
1030 COLOR 7,0
1032 A$=INKEY$:IF A$="" THEN 1032
1040 IF (LEFT$(A$,1)=CHR$(89) OR LEFT$(A$,1)=CHR$(121)) THEN Q! = 1 : RETURN
1050 IF (LEFT$(A$,1)=CHR$(78) OR LEFT$(A$,1)=CHR$(110)) THEN Q! = 2 : RETURN
1060 SOUND 400,4:GOTO 1032
1130 CLOSE
1140 END
1150 PRINT #2, CHR$(27); CHR$(78);
1160 CLS
1170 LOCATE 9,20
1180 COLOR 7,0
1190 PRINT "CHECK LABEL POSITION IN PRINTER"
1200 COLOR 7,0
1210 FOR I! = 1 TO 2000
1220 NEXT
1230 CLS
1240 LOCATE 8,20
1250 PRINT "THIS WILL PRINT FIRST LINE ONLY IN EXPANDED PRINT"
1260 LOCATE 11,20
1270 LINE INPUT "LINE ONE    ";A$(1)
1280 LOCATE 12,20
1290 LINE INPUT "LINE TWO    ";A$(2)
1300 LOCATE 13,20
1310 LINE INPUT "LINE THREE  ";A$(3)
1320 LOCATE 14,20
1330 LINE INPUT "LINE FOUR   ";A$(4)
1340 LOCATE 15,20
1350 LINE INPUT "LINE FIVE   ";A$(5)
1360 PRINT
1370 LOCATE 17,20
1380 PRINT "ENTER <1> IF OK <2> TO REDO ";
1390 INPUT X!
1400 ON X! GOTO 1410,1230
1410 CLS
1420 LOCATE 19,20
1430 INPUT "HOW MANY LABELS ";PN!
1440 FOR K! = 1 TO PN!
1450   PRINT #2, CHR$(27); CHR$(76);"000";
1460   PRINT #2, CHR$(27); CHR$(33); CHR$(14);A$(1); CHR$(15)
1470   FOR I! = 2 TO 5
1480     PRINT #2,A$(I!)
1490   NEXT
1500   PRINT #2, CHR$(13);
1510 NEXT K!
1520 LOCATE 19,20
1530 PRINT "TO REPRINT ENTER <1> FOR NEW <2> ";
1540 INPUT X!
1550 ON X! GOTO 1370,1980
1560 PRINT #2, CHR$(27); CHR$(76);"000";
1570 CLS
1580 LOCATE 9,20
1590 COLOR 7,0
1600 PRINT "CHECK LABEL POSITION IN PRINTER"
1610 COLOR 7,0
1620 FOR I! = 1 TO 2000
1630 NEXT
1640 CLS
1650 LOCATE 8,20
1660 PRINT "THIS WILL PRINT ALL LINES IN EXPANDED PRINT."
1670 LOCATE 12,20
1680 LINE INPUT "LINE ONE    ";A$(1)
1690 LOCATE 13,20
1700 LINE INPUT "LINE TWO    ";A$(2)
1710 LOCATE 14,20
1720 LINE INPUT "LINE THREE  ";A$(3)
1730 LOCATE 15,20
1740 LINE INPUT "LINE FOUR   ";A$(4)
1750 LOCATE 16,20
1760 LINE INPUT "LINE FIVE   ";A$(5)
1770 PRINT
1780 LOCATE 18,20
1790 PRINT "ENTER <1> IF OK <2> TO REDO ";
1800 INPUT X!
1810 ON X! GOTO 1820,1570
1820 LOCATE 20,20
1830 INPUT "HOW MANY LABELS ";PN!
1840 FOR K! = 1 TO PN!
1850   PRINT #2, CHR$(27); CHR$(76);"000";
1860   PRINT #2, CHR$(27); CHR$(33); CHR$(14);
1870   PRINT #2,A$(1)
1880   FOR I! = 2 TO 5
1890     PRINT #2,A$(I!)
1900   NEXT
1910   PRINT #2, CHR$(15)
1920 NEXT K!
1930 LOCATE 22,20
1940 PRINT "TO REPRINT ENTER <1> FOR NEW <2> ";
1950 INPUT X!
1960 CLS
1970 ON X! GOTO 1780,1980
1980 PRINT #2, CHR$(15); CHR$(27); CHR$(78);
1990 GOTO 100
2000 END
65000 REM ******************** SAVE ROUTINE ***********************************
65100 SAVE "B:NECLABEL.BAS"