0 GOTO10'CYPHER.BA, COPYRIGHT 1987 by James A. McGreevy, CompuServe #70206,1115 1 A=PEEK(V):IFA=26THEN9ELSEIFA=32THENA=126ELSEIFA=9THENA=124ELSEIFA=13THENA=126:K=-1ELSEIFKANDA=10THENA=124:K=0ELSEIFA<32ORA>126THENBEEP:A=33 2 POKEV,ASC(MID$(Z(B(B)),(A+A(B))MOD94+1)):V=V+1:B=B+1:IFB<94THEN1ELSEB=0:GOTO1 3 A=PEEK(V):IFA=26THEN8ELSEIFA<33THENV=V+1:GOTO3 4 C=INSTR(Z(B(B)),CHR$(A))-A(B)-1 5 IFC<33THENC=C+94:GOTO5 6 IFK=3THENIFC=126THENC=32ELSEIFC=124ANDPEEK(U-1)=32THENC=10:POKEU-1,13ELSEIFC=124THENC=9 7 POKEU,C:U=U+1:V=V+1:B=B+1:IFB<94THEN3ELSEB=0:GOTO3 8 IFV-UTHENPOKEU,26:FORU=U+1TOV:POKEU,0:NEXT 9 E=E-1:IFETHENPRINT@144,E:B=0:V=T:IFK<1THEN1ELSE29ELSESOUND742,9:MENU 10 CLEAR569:SCREEN,0:CLS:DEFINTA-S:DEFSNGT-V:DEFSTRW-Z:DIMA(94),B(93),Z(93):ONKEYGOSUB,,,,,,,33:KEYON:KEYSTOP:W=CHR$(27):X=W+"p":Y=W+"q":PRINT@41,"File";:INPUTZ:PRINTW"V":IFZ=""THENMENUELSECLS:IFLEN(Z)<9THENZ=Z+STRING$(8,32) 11 IFFRE(1)<270THENPRINT:PRINT" NOT ENOUGH MEMORY":GOSUB32:MENUELSEFORA=0TO8:A(B)=ASC(MID$(Z,A+1)):IFA(B)>96ANDA(B)<123THENA(B)=A(B)-32ELSEIFA(B)=46ANDA<6THENFORB=ATO5:A(B)=32:NEXT:B=5ELSEIFA(B)=46THENB=B-1 12 B=B+1:NEXT:IFPEEK(1)=171THENF=610:T=62136:U=62631ELSEF=290:T=63933:U=64131 13 IFA(6)=68ANDA(7)=79THENELSEIFA(6)=32ANDA(7)=32THENA(6)=68:A(7)=79ELSEFILES:PRINT@F,X" Must be a .DO file! "Y;:GOSUB32:RUN 14 FORV=TTOUSTEP11:IFPEEK(V-3)=192ANDPEEK(V)=A(0)ANDPEEK(V+1)=A(1)ANDPEEK(V+2)=A(2)ANDPEEK(V+3)=A(3)ANDPEEK(V+4)=A(4)ANDPEEK(V+5)=A(5)ANDPEEK(V+6)=A(6)ANDPEEK(V+7)=A(7)THENT=256*PEEK(V-1)+PEEK(V-2):V=64132:NEXT:GOTO16 15 NEXT:FILES:PRINT@F,X" ";:GOSUB30:PRINT" file not found. "Y;:GOSUB32:RUN 16 IFPEEK(T)=26THENPRINT@167,X" ";:GOSUB30:PRINT" file is empty. "Y:GOSUB32:RUN 17 V=T:GOSUB31:KEYON:PRINT@41,;:GOSUB30:PRINTX:FORU=VTOV+25:A=PEEK(U):IFA=26THENU=V+26:NEXTELSEPRINTCHR$(A);:NEXT 18 PRINT@212,Y"eNcode or Decode?":LINE(77,49)-(84,49):LINE(131,49)-(137,49) 19 Z=INKEY$:IFZ="n"ORZ="N"THENELSEIFZ="d"ORZ="D"THENK=1ELSE19 20 PRINT@206,W"JHow many levels of ";:IFKTHENPRINT"De";ELSEPRINT"eN"; 21 PRINT"coding? 22 Z=INKEY$:E=VAL(Z):IFE<1THEN22 23 IFKTHENPRINT@205,"Is this the FINAL Decode? Y/N":Z=INKEY$:IFZ="y"ORZ="Y"THENK=2ELSEIFZ="n"ORZ="N"THENELSE23 24 CLS:PRINT@56,"_____":PRINT@54,W"U";:INPUTA:PRINT@41,STRING$(94,95):FORB=35TO220STEP36:LINE(B,4)-(B,59):NEXT:PRINT@41,;:LINEINPUTZ:CLS:GOSUB31:PRINT@134,"working... 25 FORB=0TOA:C=RND(1):NEXT:FORA=0TO93-LEN(Z):Z=Z+CHR$(A+32):NEXT:U=0:FORA=1TOLEN(Z):U=U+ASC(MID$(Z,A)):NEXT:IFU>32767THENU=U/2 26 B=UMOD501:FORA=0TOB:C=RND(1):NEXT:C=UMOD7:FORA=0TO93:A(A)=ASC(MID$(Z,RND(1)*94+1)):FORB=0TOC:D=RND(1):NEXT:NEXT:Z="":GOTO36 27 FORA=0TO93:IFZ(A)=""THENA=94ELSEJ=J+1 28 NEXT:FORA=0TO93:B(A)=(A(A)+RND(1)*A(A+1))MODJ:NEXT:PRINT@204,X;W"U Do NOT press BREAK or CTRL-C!!!"Y;W"J":LINE(24,39)-(216,48),1,B:KEYSTOP:B=0:PRINT@141," on"E:IFK=0THEN1 29 U=V:IFE=1ANDK=2THENK=3:GOTO3ELSE3 30 FORA=0TO5:PRINTCHR$(A(A));:NEXT:PRINT"."CHR$(A(A))CHR$(A(7));:RETURN 31 PRINT@F+22,"exit-F8"W"T":RETURN 32 IFINKEY$=""THEN32ELSERETURN 33 SOUND9999,9:MENU 36 Z(0)="OY!FcB+>*2AMe4]?d8Th@zQ)VsS}:i%PgI_oq<[5K=-p`w1/N\Cu.X,rfb9"+CHR$(124)+"nDmLyJ7"+CHR$(34)+"G#{Uljv03txW"+CHR$(126)+"&Zk'6H(;^$ERa 37 Z(1)="t0u(pqMU2]*6v"+CHR$(126)+"FYokaW'{};^+#e38JC4`Lc7.\$fhd"+CHR$(34)+"QIb1-"+CHR$(124)+"@[9_):/jX,%niP?TBlOZy5wgDRH&z 38 Z(2)="wc1$47!"+CHR$(124)+"r>UA&B"+CHR$(34)+"]eTNnMljhb8^(mX=0?@F+q"+CHR$(126)+"Ygx%\.Q{oi93*Ds2KW6_v,aJ`}[Lpf5ZjE(Oa&rv/A6;l:W$1MtRyh}u*kG-X3P.B@)w"+CHR$(124) 40 Z(4)=":i"+CHR$(126)+";JDmUKM1kTuqr[V/6(Y&8sxp,AdFlnOWo"+CHR$(34)+"#vXEHw}QSg4?N]e5G{b3z0BL'C=\If$!`P 131 GOTO27