start tok64 d64-3QtD1f 5700 te=0:pdev=4:sa=7:REM set te to 1 if you have a 1526 printer 5710 POKE53280,0:POKE53281,0:PRINTCHR$(14):PRINTCHR$(30):PRINT"{clear}" 5720 sub=49152:FORj=subTOsub+76:READn:cs=cs+n:POKEj,n:NEXT 5730 IFcs<>10586THENPRINT"error in data statements.":END 5740 CLOSE4:OPEN4,pdev,sa:b$="{space*20}":b$=b$+b$+b$+b$ 5750 PRINT"{clear}{down}"TAB(13)"ENVELOPE{sh space}MAKER{down}":FORk=1TO6:READw(k):NEXT 5760 t$(1)="1) Standard Letter":t$(2)=" 2) French Fold" 5770 PRINT"{down*2}"TAB(9)"Choose envelope type:":GOSUB6320 5780 a$="":GETa$:IF(a$<>"1")AND(a$<>"2")THEN5780 5790 et=VAL(a$):t$(et)="{reverse on}"+t$(et):PRINT"{up*8}":GOSUB6320 5800 IF et=1 THEN w(1)=64:w(2)=w(2)-4:w(5)=w(5)-5:w(6)=w(6)-2 5810 IF te THEN w(1)=w(1)+4:IF et=1 THEN w(3)=w(3)-2 5820 FORj=1TO4:READt$(j):NEXT 5830 PRINT"{space*2}Use default return address";:GOSUB6290 5840 IFa$="y"THEN5870 5850 IFa$<>"n"THEN5830 5860 p$=" return":GOSUB6220 5870 FORj=1TO4:r$(j)=t$(j):NEXT 5880 p$="":GOSUB6220:FORk=1TO4:ad$(k)=t$(k):NEXT 5890 PRINT"{down*2}{space*5}Center address lines";:GOSUB6290:cf=(a$="y") 5900 IF cf THEN5930 5910 ci=0:FORj=1TO4:IFLEN(ad$(j))>ciTHENci=LEN(ad$(j)) 5920 NEXT 5930 PRINT"{clear}{right*3}{down*3}position paper & turn on printer 5940 PRINT"{down}{space*4}{reverse on}press any key to begin printing." 5950 a$="":GETa$:IFa$=""THEN5950 5960 s=5:PRINT#4,MID$(b$,1,w(3)+s+2); 5970 FORj=1TOw(1)-2*s:PRINT#4,"-";:NEXT:PRINT#4 5980 FORj=s TO 1 STEP -1 5990 PRINT#4,MID$(b$,1,j+w(3))"."MID$(b$,1,w(1)-2*j+2)".":NEXT 6000 FORj=1TOw(4)-s:PRINT#4,MID$(b$,1,w(3)+1)":"MID$(b$,1,w(1))":":NEXT 6010 GOSUB6270:s=w(3):f1=s:f2=s:FORj=1TOw(2) 6020 y=1+(-1*(j<=s))+(-1*(j<=(w(2)-s))):ON y GOTO6050,6040,6030 6030 x$=":":IFf1THENx$=".":x=f1:GOTO6060 6040 PRINT#4,":"MID$(b$,1,s);:GOTO6070 6050 x$=":":IFf2THENx$=".":x=s-f2+1 6060 PRINT#4,MID$(b$,1,x)"."MID$(b$,1,s-x); 6070 z$="":IF(j>1)AND(j<6)THENz$=" "+r$(j-1):GOTO6110 6080 IF(jw(6)+6)OR(INT(j/2)<>j/2)THEN6110 6090 z$=ad$((j-w(6))/2+1):cz=LEN(z$):IFcf=0THENcz=ci 6100 x=INT((w(1)-cz)/2):z$=MID$(b$,1,x)+z$ 6110 z=LEN(z$):z$=z$+MID$(b$,1,w(1)-z):PRINT#4,":"z$":"; 6120 x$=":":ON y GOTO6150,6140,6130 6130 IFf1THENx$=".":x=f1:f1=f1-1:GOTO6160 6140 x=0:GOTO6160 6150 IFf2THENx$=".":x=s-f2+1:f2=f2-1 6160 PRINT#4,MID$(b$,1,s-x);x$ 6170 NEXT:GOSUB6270:FORj=1TOw(5) 6180 PRINT#4,MID$(b$,1,w(3)+1)":"MID$(b$,1,w(1))":":NEXT 6190 GOSUB6270:FORj=1TO6:PRINT#4:NEXT:PRINT"{down}{space*10}Make another";:GOSUB6290 6200 IFa$="y"THEN RUN5700 6210 PRINT#4:CLOSE4:LOAD"sta.store",8,1:RUN 6220 PRINT"{down*2}":x$="Enter"+p$+" address lines:":PRINTTAB((40-LEN(x$))/2)x$"{down*2}" 6230 z=w(1)-1:FOR j=1TO4 6240 PRINTMID$(STR$(j),2)"> ";:SYSsub,t$(j):PRINT:PRINT 6250 IFLEN(t$(j))>zTHENPRINT"{down}Line too long, max is "z"chars. Re-enter." 6260 NEXT:RETURN 6270 PRINT#4,MID$(b$,1,w(3)+2); 6280 FORj=1TOw(1):PRINT#4,"-";:NEXT:PRINT#4:RETURN 6290 PRINT" [y/n]? "; 6300 a$="":GETa$:IF(a$<>"y")AND(a$<>"n")THEN6300 6310 PRINTMID$("yesno ",-1*(a$="y")-4*(a$="n"),3):FORj=1TO80:NEXT:RETURN 6320 PRINTTAB(11)"{down*2}"t$(1):PRINTTAB(11)"{down}"t$(2)"{down*2}":RETURN 6330 DATA 32,253,174,32,139,176,133,251,132,252,32,143,173,160,0,32,207,255 6340 DATA 201,13,240,6,153,0,2,200,208,243,192,1,208,8,173,0,2,201,32,208,1,136 6350 DATA 132,253,152,32,125,180,165,99,160,2,145,251,136,165,98,145,251,136 6360 DATA 165,97,145,251,165,253,240,10,185,0,2,145,98,200,196,253,208,246,96 6370 DATA 57,26,6,13,19,14 6380 REM default return address 6390 DATA "change lines{space*6}" 6400 DATA "6390-6420{space*9}" 6410 DATA "for this address{space*2}" 6420 DATA "{space*8}and zip{space*3}" stop tok64 (bastext 1.0)