10 REM (C) 1984 by Merlin R. Null 20 REM Permission is given to copy this program provided it is not to be sold. 30 DEFINT A-Z 40 CLS$=CHR$(26) 50 PRINT CLS$;STRING$(24,10) 60 PRINT TAB(22)"[]==================[]" 70 PRINT TAB(22)"[] INITIALIZING []" 80 PRINT TAB(22)"[]==================[]" 90 DIM LN$(14),LT$(127),TD$(30) 100 GOSUB 1180 110 NM$="HEADER":Z=2:X=4:Y=3 'sets title screen message and layout 120 GOSUB 890 130 PRINT TAB(25)"Version 6.01 7/3/84":Z=3:Y=2 140 PRINT:PRINT TAB(18)"Prints 1-1/2 inch high letters for headers." 150 PRINT:PRINT TAB(10)"Maximum characters per line" 160 PRINT TAB(10)" 80 column: 7 \ Approximation only, some characters" 170 PRINT TAB(10)" 96 column: 8 > are narrower. See next menu for"; " column" 180 PRINT TAB(10)"132 column: 12 / width of your heading." 190 PRINT:PRINT 200 LINE INPUT"Please enter your heading. ";NM$ 210 IF NM$="" THEN NM$="TEST":X=10 ELSE X=0 'sets default header message 220 IF CH<>4 THEN 340 230 PRINT STRING$(12,10) 240 PRINT" The maximum value of spacing between letters is limited to 20." 250 PRINT" If you need more than that use as a character." 260 PRINT" Each space is 6 columns wide plus 2 times the spacing" 270 PRINT" between letters." 280 PRINT STRING$(10,10) 290 PRINT"You may increase the spacing between your heading letters." 300 PRINT"The default setting is 2. Adding 1 will set it to 3." 310 PRINT:INPUT"How many spaces to add to default value";Y1 320 IF Y1>20 THEN 230 330 Y=2+Y1 340 IF CH<>3 THEN 380 350 PRINT STRING$(22,10) 360 PRINT"You may add spaces to the left margin to center the header." 370 PRINT:INPUT"How many spaces would you like to add ot the left margin";X 380 IF CH<>2 THEN 480 390 PRINT STRING$(22,10) 400 PRINT:PRINT"Do you want the output to go to:" 410 PRINT:PRINT"1. Printer" 420 PRINT"2. Console" 430 PRINT"3. Both" 440 PRINT"4. Exit program" 450 INPUT Z 460 IF Z>3 THEN 840 470 IF Z<1 THEN Z=3 480 PRINT CLS$;STRING$(12,10):P=0 490 IF Z=1 THEN PC$="Printer" ELSE PC$="Printer and Console" 500 IF Z=2 THEN PC$="Console" 510 FOR I=1 TO LEN(NM$) 520 IF MID$(NM$,I,1)="m" OR MID$(NM$,I,1)="v" OR MID$(NM$,I,1)="w" THEN P=P-1 530 IF ASC(MID$(NM$,I,1))>96 AND ASC(MID$(NM$,I,1))<123 THEN P=P+1 540 IF MID$(NM$,I,1)="$" OR MID$(NM$,I,1)="T" OR MID$(NM$,I,1)="Y" OR MID$(NM$,I,1)="j" OR MID$(NM$,I,1)="k" OR MID$(NM$,I,1)="x" OR MID$(NM$,I,1)="~" THEN P=P+1 550 IF MID$(NM$,I,1)="f" OR MID$(NM$,I,1)="i" OR MID$(NM$,I,1)="l" OR MID$(NM$,I,1)="t" OR MID$(NM$,I,1)="*" THEN P=P+2 560 IF MID$(NM$,I,1)=" " OR MID$(NM$,I,1)="I" OR MID$(NM$,I,1)="1" THEN P=P+3 570 IF MID$(NM$,I,1)="+" OR MID$(NM$,I,1)="-" OR MID$(NM$,I,1)="<" OR MID$(NM$,I,1)="=" OR MID$(NM$,I,1)=">" OR MID$(NM$,I,1)="^" THEN P=P+3 580 IF MID$(NM$,I,1)=CHR$(34) THEN P=P+4 590 IF MID$(NM$,I,1)="{" OR MID$(NM$,I,1)="}" THEN P=P+5 600 IF MID$(NM$,I,1)="(" OR MID$(NM$,I,1)=")" OR MID$(NM$,I,1)="[" OR MID$(NM$,I,1)="]" THEN P=P+6 610 IF MID$(NM$,I,1)="!" OR MID$(NM$,I,1)="'" OR MID$(NM$,I,1)="," OR MID$(NM$,I,1)="." OR MID$(NM$,I,1)=":" OR MID$(NM$,I,1)=";" OR MID$(NM$,I,1)="`" OR MID$(NM$,I,1)="|" THEN P=P+7 620 NEXT I 630 PRINT"Header message is:",NM$ 640 PRINT:PRINT"Header column width is: "(9+Y)*(LEN(NM$))-(Y+P) 650 PRINT:PRINT"Output directed to:",PC$ 660 PRINT:PRINT"Spaces in left margin: "X 670 PRINT:PRINT"Spaces between letters: "Y 680 PRINT:PRINT:PRINT 690 PRINT"1. Change message" 700 PRINT"2. Redirect output" 710 PRINT"3. Add spaces to left margin" 720 PRINT"4. Change spacing between letters" 730 PRINT"5. Exit program" 740 PRINT" GO - Start printing now" 750 PRINT:PRINT:INPUT"Option 1-5 or to print";CH 760 PRINT CLS$ 770 ON CH GOTO 150,390,350,230,840 780 GOSUB 890 790 IF Z=1 THEN PRINT STRING$(12,10) 800 IF Z=1 THEN NM$="DONE":X=15:Z=2:Y=3:GOSUB 890 810 PRINT STRING$(6,10) 820 INPUT"Do you want another line of print";ANS$ 830 IF LEFT$(ANS$,1)="Y" OR LEFT$(ANS$,1)="y" THEN 130 840 PRINT CLS$:PRINT:END 850 PRINT STRING$(24,10) 860 PRINT"You have entered a character that this program does not recognize." 870 PRINT:PRINT"Use only characters with ASCII values from 32 through 126." 880 GOTO 200 890 STRL=LEN(NM$) 900 IF STRL>20 THEN 190 910 FOR I=1 TO STRL 920 TMP$=MID$(NM$,I,1) 930 NUM=ASC(TMP$) 940 IF NUM<32 OR NUM>126 THEN 850 950 N=0 960 FOR J=0 TO 33 STEP 3 970 FOR SEG=1 TO 3 980 J1=J+SEG 990 TEMP$=MID$(LT$(NUM),J1,1) 1000 NVAL=ASC(TEMP$)-65 1010 TD$(N)=TD$(N)+LN$(NVAL) 1020 NEXT SEG 1030 IF I80 THEN X1=X-80 ELSE X1=X 1090 FOR I=0 TO 11 1100 IF Z=1 OR Z=3 THEN LPRINT TAB(X+1) TD$(I) 1110 IF Z=2 OR Z=3 THEN PRINT TAB(X+1) LEFT$(TD$(I),80-X1) 1120 NEXT I 1130 IF Z=1 OR Z=3 THEN LPRINT:LPRINT 1140 FOR I=0 TO 11 1150 TD$(I)="" 1160 NEXT I 1170 RETURN 1180 FOR I=0 TO 14 1190 READ LN$(I) 1200 NEXT I 1210 FOR I=1 TO 95 1220 READ LT$(I+31) 1230 NEXT I 1240 RETURN 1250 DATA""," ","@"," "," @","@ ","@@" 1260 DATA" "," @"," @ "," @@","@ ","@ @","@@ ","@@@" 10000 'Line numbers are key to ASCII, line 10650 = 'A' (ASCII 65) 10320 DATA"DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" 10330 DATA"GAAGAAGAAGAAGAAGAAGAADAAGAAGAADAADAA" 10340 DATA"NGANGANGAHDAHDAHDAHDAHDAHDAHDAHDAHDA" 10350 DATA"IMLIMLIMLOOOOOOIMLOOOOOOIMLIMLHHHHHH" 10360 DATA"HNDKOGOOGNNDOOFKOGHNGOOGOOFHNDHHDHHD" 10370 DATA"OHKMHKOHNHILHKHHNHILHKHONHMNHOHHHHHH" 10380 DATA"IOHKOLKILIOHINHKKKNINNINKOKINHHHHHHH" 10390 DATA"GAAGAAGAADAADAADAADAADAADAADAADAADAA" 10400 DATA"KAAOAANAANAANAANAANAANAAOAAKAAHAAHAA" 10410 DATA"NAANAAKAAKAAKAAKAAKAAKAAOAANAAHAAHAA" 10420 DATA"HHBHHBLLCJMBINBOOCINBJMBLLCHHBHHBHHB" 10430 DATA"HHAHHAILAILAOOAOOAILAILAHHAHHAHHAHHA" 10440 DATA"DAADAADAADAADAADAADAADAAGAAGAAEAAFAA" 10450 DATA"HHAHHAHHAHHAOOAOOAHHAHHAHHAHHAHHAHHA" 10460 DATA"DAADAADAADAADAADAADAADAAGAAGAADAADAA" 10470 DATA"HHKHHKHHNHILHKHHNHILHKHHNHHNHHHHHHHH" 10480 DATA"IOLKONNHKNHKNHKNHKNHKNHKKONIOLHHHHHH" 10490 DATA"HLAILAKLAILAILAILAILAILAOOAOOAHHAHHA" 10500 DATA"KONOOONHKHHNHILHKHHNHILHKOOOOOHHHHHH" 10510 DATA"OOOOOONHNHILHKNHOOHHKNHKOOOKONHHHHHH" 10520 DATA"HHLHILHKLHOLIMLKILOOOOOOHILHILHHHHHH" 10530 DATA"OOOOOONHHOONKOOHHKHHKNHKOOOKONHHHHHH" 10540 DATA"KONOOONHKNHHOONOOONHKNHKOOOKONHHHHHH" 10550 DATA"OOOOOONHNHILHKHHNHILHILHILHILHHHHHHH" 10560 DATA"KONOOONHKNHKKONKONNHKNHKOOOKONHHHHHH" 10570 DATA"KONOOONHKNHKOOOKOOHHKNHKOOOKONHHHHHH" 10580 DATA"DAADAAGAAGAADAADAADAADAAGAAGAADAADAA" 10590 DATA"DAADAAGAAGAADAADAADAADAAGAAGAAEAAFAA" 10600 DATA"HKAHNAILAKHANHANHAKHAILAHNAHKAHHAHHA" 10610 DATA"HHAHHAHHAOOAOOAHHAOOAOOAHHAHHAHHAHHA" 10620 DATA"NHAKHAILAHNAHKAHKAHNAILAKHANHAHHAHHA" 10630 DATA"KONOOONHKHHNHILHKHHKHHHHHKHHKHHHHHHH" 10640 DATA"KONOOONHKNKONJKNKONHHNHHOOOKOOHHHHHH" 10650 DATA"HOHIOLKHNNHKNHKOOOOOONHKNHKNHKHHHHHH" 10660 DATA"OONOOONHKNHKOONOONNHKNHKOOOOONHHHHHH" 10670 DATA"KONOOONHKNHHNHHNHHNHHNHKOOOKONHHHHHH" 10680 DATA"OONOOONHKNHKNHKNHKNHKNHKOOOOONHHHHHH" 10690 DATA"OOOOOONHHNHHOOHOOHNHHNHHOOOOOOHHHHHH" 10700 DATA"OOOOOONHHNHHOOHOOHNHHNHHNHHNHHHHHHHH" 10710 DATA"KONOOONHKNHHNHHNIONIONHKOOOKONHHHHHH" 10720 DATA"NHKNHKNHKNHKOOOOOONHKNHKNHKNHKHHHHHH" 10730 DATA"OOAOOAILAILAILAILAILAILAOOAOOAHHAHHA" 10740 DATA"HHKHHKHHKHHKHHKHHKHHKNHKOOOKONHHHHHH" 10750 DATA"NHKNHNNILNKHOLHOLHNKHNILNHNNHKHHHHHH" 10760 DATA"NHHNHHNHHNHHNHHNHHNHHNHHOOOOOOHHHHHH" 10770 DATA"LHINHKOHOOMONOKNJKNHKNHKNHKNHKHHHHHH" 10780 DATA"LHKNHKOHKOLKNNKNKKNIONHONHKNHIHHHHHH" 10790 DATA"KONOOONHKNHKNHKNHKNHKNHKOOOKONHHHHHH" 10800 DATA"OONOOONHKNHKOOOOONNHHNHHNHHNHHHHHHHH" 10810 DATA"KONOOONHKNHKNHKNHKNIKNHOOONKOMHHHHHH" 10820 DATA"OONOOONHKNHKOOOOONNKHNILNHNNHKHHHHHH" 10830 DATA"KONOOONHKNHHOONKOOHHKNHKOOOKONHHHHHH" 10840 DATA"OOGOOGHNDHNDHNDHNDHNDHNDHNDHNDHHDHHD" 10850 DATA"NHKNHKNHKNHKNHKNHKNHKNHKOOOKONHHHHHH" 10860 DATA"NHKNHKNHKNHKNHKNHKKHNIMLHOHHJHHHHHHH" 10870 DATA"NHKNHKNHKNHKNHKNHKNJKNOKKMNIHLHHHHHH" 10880 DATA"LHINHKKHNIMLHOHHOHIMLKHNNHKLHIHHHHHH" 10890 DATA"NHGNHGNHGKIFIODHNDHNDHNDHNDHNDHHDHHD" 10900 DATA"OOOOOOHHNHILHKHHNHILHKHHOOOOOOHHHHHH" 10910 DATA"OAAOAANAANAANAANAANAANAAOAAOAAHAAHAA" 10920 DATA"NHHNHHKHHILHHNHHKHHILHHNHHKHHKHHHHHH" 10930 DATA"OAAOAAKAAKAAKAAKAAKAAKAAOAAOAAHAAHAA" 10940 DATA"ILAKNANKAHHAHHAHHAHHAHHAHHAHHAHHAHHA" 10950 DATA"HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHOOOOOO" 10960 DATA"GAAGAAGAADAADAADAADAADAADAADAADAADAA" 10970 DATA"HHDHHDKOFOOGHHGKOGOOGNHGOOGKOFHHDHHD" 10980 DATA"NHDNHDNHDNHDOOFOOGNHGNHGOOGOOFHHDHHD" 10990 DATA"HHDHHDHHDHHDKOGOOGNHDNHDOOGKOGHHDHHD" 11000 DATA"HHGHHGHHGHHGKOGOOGNHGNHGOOGKOGHHDHHD" 11010 DATA"HHDHHDKOFOOGNHGOOGOOGNHDOOGKOFHHDHHD" 11020 DATA"HOAIOAILAILAOOAOOAILAILAILAILAHHAHHA" 11030 DATA"HHDHHDHHDKOFOOGNHGNHGOOGKOGHHGKOGKOF" 11040 DATA"NHDNHDNHDNHDOOFOOGNHGNHGNHGNHGHHDHHD" 11050 DATA"ILAILAHHAOLAOLAILAILAILAOOAOOAHHAHHA" 11060 DATA"HICHICHHBIOCIOCHICHICHICHICNICOOCKOB" 11070 DATA"NHBNHBNICNKBNNBOLBOLBNNBNKBNICHHBHHB" 11080 DATA"OLAOLAILAILAILAILAILAILAOOAOOAHHAHHA" 11090 DATA"HHHHHHHHHHHHKHNOMONOKNJKNHKNHKHHHHHH" 11100 DATA"HHDHHDHHDHHDNOFOOGOHGNHGNHGNHGHHDHHD" 11110 DATA"HHDHHDHHDHHDKOFOOGNHGNHGOOGKOFHHDHHD" 11120 DATA"HHDHHDHHDHHDOOFOOGNHGNHGOOGOOFNHDNHD" 11130 DATA"HHDHHDHHDHHDKOGOOGNHGNHGOOGKOGHHGHHG" 11140 DATA"HHDHHDHHDHHDNOGOOGOHDNHDNHDNHDHHDHHD" 11150 DATA"HHDHHDKOGOOGNHDOOFKOGHHGOOGOOFHHDHHD" 11160 DATA"ILAILAOOAOOAILAILAILAILAIOAHOAHHAHHA" 11170 DATA"HHDHHDHHDHHDNHGNHGNHGNHGOOGKOFHHDHHD" 11180 DATA"HHHHHHHHHHHHNHKNHKKHNIMLHOHHJHHHHHHH" 11190 DATA"HHHHHHHHHHHHNHKNHKNJKNOKOMOKHNHHHHHH" 11200 DATA"HHBHHBHHBHHBNICKKBINBINBKKBNICHHBHHB" 11210 DATA"HHDHHDHHDHHDNHGNHGNHGOOGKOGHHGIOGIOF" 11220 DATA"HHDHHDHHDOOGOOGHIFHNDKHDOOGOOGHHDHHD" 11230 DATA"ICAKBAKBAKBANBANBAKBAKBAKBAICAHBAHBA" 11240 DATA"GAAGAAGAAGAAGAAGAAGAAGAAGAAGAADAADAA" 11250 DATA"NBAKBAKBAKBAICAICAKBAKBAKBANBAHBAHBA" 11260 DATA"KHEOOGLKFHHDHHDHHDHHDHHDHHDHHDHHDHHD"