0 'EXPAND.BA - BY WOODS MARTIN 1 'CLUB 100 LIBRARY - 415/939-1246 BBS, 937-5039 NEWSLETTER, 932-8856 VOICE 2 SCREEN ,0:MAXFILES=1:CLEAR 3000:DEFINT A-Z:DEFSNG D:DEFSTR S:DIM D,T,A,FC,FR,S,SS,FD,DL,W,FQ,S(127):SE=CHR$(27):SY=SE+"Y":SR=CHR$(13)+CHR$(10):ON ERROR GOTO 30:LFILES TO 3 PD=(ER=22):CLS:PRINT "EXPAND.100 [c] 03/08/86 *HONOR SYSTEM*"SR"If you keep and use please mail $5 to:"SRTAB(13)"Woods Martin"SR" 5517 Sturbridge Houston TX 77056"SR;SR"Reserved Words -" :SS=SPACE$(6):GOSUB 19 5 CLOSE :GOSUB 28:GOSUB 32:OPEN SO FOR OUTPUT AS 1:A=0:GOSUB 17:FOR D=DS TO 65535:T=A:A=PEEK(D+1):IF FC THEN 7 ELSE DL=PEEK(D+3)*256+PEEK(D+2):D=D+3:A=PEEK(D+1) 6 PRINT DL;:PRINT #1,MID$(STR$(DL),2)" ";:FC=-1:GOTO 16 7 IF T THEN 9 ELSE GOSUB 18:GOSUB 17:PRINT #1," " 8 IF A+PEEK(D+2)=0 THEN PRINT #1," ":GOTO 5 ELSE 16 9 IF NOT FR AND T=34 THEN FQ=(FQ=0):GOTO 12 ELSE IF FQ THEN 12 ELSE IF (T=58 AND A=142 AND PEEK(D+2)=255) THEN D=D+1:A=PEEK(D+1):GOTO 16 10 IF T=145 THEN GOSUB 18:S=" " ELSE IF (T=32 AND NOT FD) OR (T=58 AND A=145) THEN 16 11 IF T=58 THEN GOSUB 18:S=":":FD=0:FF=0:GOTO 16 ELSE IF ((T=65 AND A=83) OR ((LEN(S)>1) AND (T=129 OR T=136 OR T=140))) AND RIGHT$(S,1)<>" " THEN S=S+" " 12 IF FD OR FQ OR T<128 THEN S=S+CHR$(T) ELSE S=S+S(T-128):IF T=161 THEN FF=1 13 IF FQ THEN 16 ELSE IF T=131 THEN FD=-1:GOTO 15 14 IF T=255 OR (T=142 AND A<>255) THEN FQ=-1:FR=-1 ELSE IF (T=83 AND PEEK(D-1)=65) THEN S=S+" " ELSE IF T=137 OR T=155 OR T=158 OR T=168 OR T=169 THEN IF A<>77 THEN S=S+" " ELSE S=S+"M ":D=D+1:A=PEEK(D+1) 15 IF FF THEN SI=RIGHT$(S,3)+" ":IF INSTR("INT STR SNG DBL ",SI) THEN S=S+" " 16 NEXT :STOP 17 FC=0:FD=0:FF=0:FQ=0:FR=0:RETURN 18 GOSUB 23:RETURN 19 W=128:FOR I=W TO 609:T=PEEK(I):A=T+128*(T>127):IF I=128 OR T<128 THEN 22 ELSE IF W<219 AND INSTR(" )68;=>AHIJKLPTUW`cdefghipqrst",CHR$(W-96))=0 THEN S=S+" " 20 IF INSTR("amouvwxyz",CHR$(W-96)) THEN S=" "+S 21 S(W-128)=S:W=W+1:PRINT SY"%4"S;SE"K";:S="" 22 S=S+CHR$(A):NEXT :RETURN 23 L=LEN(S):IF L=0 THEN S=" " 24 PRINT #1,S;:S="":RETURN 25 BEEP :PRINT SY"% "SE"J"SI"";:SI="":INPUTSI:IF LEN(SI)=0 THEN RETURN 26 FOR I=1 TO LEN(SI):V=ASC(MID$(SI,I)):IF V>96 AND V<123 THEN MID$(SI,I,1)=CHR$(V-32) 27 NEXT :RETURN 28 SI="To: Dev:Filnam.Ext"+SR+" Quit=":GOSUB 25:SO=SI:IF SI="" THEN IF PD THEN LFILES MENU ELSE MENU 29 OPEN SO FOR OUTPUT AS 1:CLOSE :RETURN 30 ER=ERR:IF ERL=2 THEN RESUME 3 ELSE IF ERL=29 THEN RESUME 31 ELSE ON ERROR GOTO 2 31 SI="Invalid output file":GOSUB 25:GOTO 28 32 CLOSE :CLS:FILES:SI="Program Name - Quit=":GOSUB 25:IF SI="" THEN MENU ELSE PRINT :SP=SI:T=INSTR(SP,"."):IF T THEN SP=LEFT$(SP,T-1) 33 SP=LEFT$(SP+SS,6):FOR D=63919 TO 63919+11*19 STEP 11:T=PEEK(D):IF T=128 AND PEEK(D+3)=ASC(SP) THEN FOR I=2 TO 6:IF PEEK(D+2+I)=ASC(MID$(SP,I)) THEN NEXT :DS=256*PEEK(D+2)+PEEK(D+1):SP=SP+".BA":RETURN 34 NEXT D:SI=SP+".BA not found":GOSUB 25:GOTO 32