> Archive225  ARCER 1.8 BY ANDREW BLACK # Extended Ver 2 by J.G.Harston (, This program may be freely distributed 2P:&87:23;2,53;0;0;0:b&FF:c=b+32:A$=OS:vr$="2.25":s%=&87:l%=0:k%=0:qt$="" <8I%=A$,"-q"):I%:qt$=A$,1+A$," ",I%)):A$=A$,I%-1) FRd$="%.suffix":sf%=0:r1:r0%=1:sf% X%!10:sf%?(X%!10)=13:"Load "+d$+" "+~sf% P2e$="":A%-1:mx%=-A%-2000:mx%>&FFFF:mx%=&FFFF Z>zp%7,dt%mx%:f:hp:A$<>"":"Key0 E"+A$+"|M":*FX138,0,192 derr:end:A$=13: n.:X%=b:Y%=X%256:g:"Exit":end:A$=13: x1ݤerr:s%<>&87:s%=&87:22,s%,23;2,53;0;0;0:f ):"FX15":"EXEC":l%:A%=l%:l%=0:#A% k%:A%=k%:k%=0:#A% :=-1-2 3end:A$=qt$:qt$="":A$=""A$=42:A$: A$: 'ݤg:58:e$=:e$>"`" e$=(e$&DF) 4"ACDEGQX?*",e$):127:e$="C"e$="A":h(e$="A") e$="D":s e$="E":x e$="?":hp e$="*":"*"e$:e$ e$="G":g /e$="Q":""qt$:qt$=qt$,qt$," ")+1)::hp =e$="X" Ha:ar%=64:"CJR"; ar%=80:"ZIP"; ar%:"GetBack"; "Black";  h(f%):'"Archive Mode":" Destination file "j$:"(B)lack/(C)JR/(G)etBack/(Z)ip archive:";:ar%=&DF:"BCGZ",ar%):ar%:ar%=((ar%=67)64)((ar%=90)80)((ar%=71)13) "1f%:ar%=80:'"Extending ZIPs - can't yet": ,!l%=0:f%:l%=(j$):l%:chk: 6J13;40;8;13;:l%:#l%=#l%:"Extend"; l%=(j$):at%=1:"Creat"; @`p$="":k%=l%:l%=0:"ing a";:a:"archive.":k%=0:"Couldn't open file"'"'"j$"'":"Exec": J$ar%=80:iC:#k%,0:#k%:k%=(j$) T:n%=-1:#k%=0ar%=64:n%=050:#k%,l%::n%=0:end%=#k% ^-ar%=0#k%=0:#k%,"",&FF000000,0,0:at%=0 h1ar%=64n%<0:#k%,a%:n%=n%+1:a%=0:end%=#k% rar%=80:n%=0 |gfs%=fs:"Enter filenames, dir names, *commands, end with RETURN"::::"File: "d$:d$=42:d$ d$<>42 d$<>124:l%=0:d$<>"":11;(d$+6)40+5,9);:d2$=d$:d$=d$,d$+",",",")-1):d2$=d2$,2+d$):l%=(d$):l%=0:'"File not found" Nl%<>0 d$="":d$<>"":r:r0%=2:#l%:l%=0:"DIR "+d$:dir("") d$<>"":c  :d$="":11:ar%=80:zc:ze A#k%:k%=0:d$=j$:r1:$c=d$:A%=b?2:b!2=&FFFDDC00+A%:A%=2:&FFDD "Transfer completed": c:d2$<>"":d$=d2$ r0%=2:ar%=64ar%=0: ̨p%=b!2:q%=b!6:m%=#l%:a%=b!14:md%=b!15:ar%=64:#k%=n%*5:#k%,end%:#k%=end%:#k%,p$+d$,p%,q%,m%,a% ar%=80:zi ar%=13:pb #k%,p$+d$,m%,p%,q%:at%=0:#k%,a% $r0%1:tr(l%,k%,m%,):#l%:l%=0 Fn%=n%+1:end%=#k%:at%=0:#k%=2:#k%,(end%-17)&FF000000:#k%=end% 5ar%=80:#k%=cp%:wr32((crc%)(m%<>0)):#k%=end%  upb:z%=1p$+d$:#k%,p$+d$,z%,1)::#k%,13:wr16(r0%+256):wr32(p%):wr32(q%):wr32(m%):#k%,a%:wr32(md%): zi:d2$=p$+d$+".",r0%=2):zn1:wr32(&04034B50):wr32(0):wr32(0):!zp%=a%:?zp%=1+(zp%?2 16)+((zp%?1 &E0)2):wr16((zp%?1 31)+32*(zp%?2 15)+&200*?zp%):cp%=#k%:wr32(0):wr32(m%):wr32(m%) 7wr16(d2$):wr16(24):z%=1d2$:#k%,d2$,z%,1): \wr16(&4341):wr16(20):wr32(&30435241):wr32(p%):wr32(q%):wr32(a%):wr32(0):crc%=-1: &(zc:ep%=0:cp%=#k%:fp%=0:#k%<30: 09134,9,9,9::ep%=#k%:#k%=fp%:lp%=fp%:pc(lp%,ep%); :wz%=029:dt%?z%=#k%::A%=dt%?26:z%=1A%:dt%?(z%+29)=#k%::z%=A%+30A%+53:dt%?z%=#k%::fp%=#k%+dt%!18:#k%=ep% Dwr32(&02014B50):wr16(0):z%=429:#k%,dt%?z%::wr32(0):wr16(0):wr32(&20):wr32(lp%):z%=30A%+53:#k%,dt%?z%::ep%=#k%:fp%>=cp%: N_ze:wr32(&06054B50):wr32(0):wr16(n%):wr16(n%):wr32(ep%-cp%):wr32(cp%):wr16(0):13: XiC:cC%=cC%:cC%: b?&FFF7<>&6C: l9cC%=dt%:dt%=dt%+90:mx%=mx%-90:ca%=&70:cl%=&72:cc%=&74 v;z%=01:P%=cC%:[OPTz%*2:.bl:LDX#8:LDA(ca%-8&FF,X):cc% @.rl:LSRcc%+3:RORcc%+2:RORcc%+1:RORA:BCCcl:TAY:LDAcc%+3:#&ED @STAcc%+3:LDAcc%+2:#&B8:STAcc%+2:LDAcc%+1:#&83:STAcc%+1:TYA E#&20:.cl:DEX:BNErl:INCca%:BNEnx:INCca%+1:.nx:STAcc%:LDAcl%:BNEsk 6DECcl%+1:.sk:DECcl%:BNEbl:LDAcl%+1:BNEbl:RTS:]:: : #s:'"Dearchive Mode":src: v%=:chk: =z:h%=#l%:j%=01:n%=0:ptr%=-1:#l%=h%:ar%=64:#l%,ptr% -i:eof%:f%=0:o eof%:#l%=#l%+m% &eof%:ar%=64:#l%=n%*5:#l%,ptr% j%=1:pc(#l%,#l%); .#l%ptr%=0eof%:v%::j%=2 j%=0:'4; -j%:#l%:l%=0:13"Transfer completed": `o:j%=0:d$,1)<>".":k%=(out(d$)):'" Extracting ";d$;4;:tr(l%,k%,m%,):#k%:k%=0:w:  8#l%=#l%+m%:d$,1)=".":v%=0:d$=d$,d$-1):w: Cop:!b=0:b?1=O%+1+d$:b!3=A%:b?7=T%:$(b+O%)=d$:A%=&14:&FFF1:  Uw:$c=out(d$):!b=c:b!2=p%:b!6=q%:b!14=a%:fs%=4:b?14=a%8 fs%<>16:b?14=a%&3B *$A%=1:&FFDD:fs<>5d$,":",2): 4[b!8=md%:A%=19:T%=5:O%=10:op:b!8=cd%:b!10=ct%:b!13=md%:b!15=mt%:A%=19:T%=64:O%=18:op: >$r1:X%=b:Y%=X%256:fs%=fs:r: HOr:d$=s(d$):z%=:fs%=5:d$,":",2)=0:A%=18:T%=64:O%=8:op:b?3=0:z%=b!10 R2$c=d$:!b=c:A%=5:r0%=&FFDD &FF:z%<>:b!15=z% \8fs%<>16:b?14=b?14127:fs%=4:b?14=(b?147)(b?144) f pf:""39,"p");:134,157,141:" Black/CJR/GetBack/ZIP Archiver":134,157,141:" Black/CJR/GetBack/ZIP Archiver"'6"Version "vr$" by J.G.Harston"'""39,"`"); z28,0,24,39,5,15::: $x:'"Examine archive":src:  chk:  ex(): Vex(F%):131:a:" archive "t$" contains:":ln%=512:n%=0:ptr%=-1:ar%=64:#l%,ptr% :i:eof%:ln%=ln%+m%+256-(m%&FF):""d$,14);(15-d$,14));:F%:h0(p%,8);"+";h0(m%,4);" ";h0(q%,8);:f%:" *"8 eof%:F%(n%3)=2:8;8;8 3eof%:#l%=#l%+m%:ar%=64:#l%=5*n%:#l%,ptr% '#l% ptr%=0 eof%:F%=0 (n%3): M" Total size: ";ln%1024;"K ";n%;" file""s",n%>1)".":z:F%:#l%:l%=0  0ݤpc(A%,N%):8,8,8:d0(100*A%N%,2)"%";:="" #ݤd0(A%,N%)="00000000"+A%,N%) #ݤh0(A%,N%)="0000000"+~A%,N%) ݤuc(A$): B$:A$="":="" 5B$=B$+(A$((A$<"@")&DF)):A$=A$,2):A$="":=B$ ݤlc(A$): B$:A$="":="" 5B$=B$+(A$((A$<"_")&20)):A$=A$,2):A$="":=B$ $hp:" (C)reate an archive"21)"(D)earchive files"'" (A)dd to an archive"21)"(G)et single file"'" (E)xamine archive"21)"(*)command"'" e(X)it program"21)"(?)Help": .#tr(c1%,c2%,n%,cf%):#c1%=0: 8:b%=mx%:n%&04034B50:n%=n%-1:eof%=: =z%=rd16:z%=rd16:ty%=rd16:mt%=ft(rd16):md%=fd(rd16) Fct%=mt%:cd%=md%:crc%=rd32:m%=rd32:fsz%=rd32:nl%=rd16:el%=rd16 "ac%=-1:z%=0127 4:dt%!z%=0:  4d$="":d2$="":nl%:z%=1nl%:d2$=d2$+#l%::zn2 Hdt%!8=0:dt%!12=0:dt%!16=&33:dt%!17=md%:el%:if:el%<16:dt%!12=dt%!8 yp%=dt%!8:q%=dt%!12:a%=dt%!16:md%=dt%!17:m%=m%(ty%*&1000000):el%>25:cd%=dt%!24:el%>27:ct%=dt%!26:el%>31:ac%=dt%!28 ( 2Nݤfd(A%):A%=A%-&200:=(A%31)+((A%&1E0)*8)+((A%&1E00)*8)+((A%&E000)256) <=ݤft(A%)=((A%&F800)2048)+((A%&7E0)*8)+((A%31)*131072) F$if:z%=0el%-1:dt%?z%=#l%:: PBݤchk:#l%=0:ar%=#l%:ar%>32:ar%=#l%:ar%=13(ar%<>13ar%<33) Z,#l%=0:#l%=80:#l%=&4B:#l%=3:ar%=80 d#ar%=64:#l%=5:ar%=64(ar%<>64) n?ar%<0:"Not a Black/CJR/GetBack/ZIP archive":#l%:l%=0:= x;#l%=0:at%=1:ar%=0:at%=#l%+#l%:#l%=0:at%=0:#l%=17 = !zn:d2$,".")+d2$,"/")=0: LA%=1d2$:B%=d2$,A%,1):(B%&FE)=46:d2$=d2$,A%-1)+(B%1)+d2$,A%+1) : ,zn1:d2$=sf(d2$,(p%&FFF00)256):zn: `zn2:zn:d$=d2$:d2$="":A%=0::B%=d$+".",".",A%+1):B%-A%>11:d$=d$,A%+10)+d$,B%):B%=A%+11 A%=B%:B%>d$: %ݤout(d$):fs=4:=d$,d$,".")+7) 'd$,".")=0:=d$,10): * in PROCzn? Mn%,d2$:d2$=d$:n%=d2$,".",n%+1):n%:d$=d2$,n%-1):r:r0%=0:"CDIR "+d$ n%=0:=d2$  ݤfs:A%,E%,Y%:=(&FFDA)&FF fdir(p$):r%,i%:rc%=(d$,2)=" r"d$,2)=" R"):i%=0:A%=8:b!1=c:b!5=1:b!9=i%:&FFD1:i%=b!9:r%=b!5 r%=0:c?(1+?c)=13:d$=$(c+1):r:b$=d$:d2$=d$:r0%1:l%=(d$):'"File: "d$;4;:c r0%=2:rc%:c:"Dir "+b$:dir(p$+b$+"."):*Dir ^  r%<>0: %g:'"Get single files":src: " chk: , ex(): 63"Select file to examine: "a$:a$=uc(a$):chk @&n%=0::ar%=64:#l%=5*n%:#l%,ptr% JTi:ptr%=#l%:#l%=#l%+m%:n$=uc(d$):#l% a$=n$:a$<>n$ f%:"File not found" Ta$=n$:#l%=ptr% ^U""d$,14);(15-d$,14));h0(p%,8);"+";h0(m%,4);" ";h0(q%,8);:f%:" *"8 h'"(E)xtract"4"(D)ump"8"(T)ype "; r%n%= &DF:n%=68 n%=69 n%=84: |n%=68:dmp 6n%=69:k%=(out(d$)):tr(l%,k%,m%,):#k%:k%=0:w n%=84:typ #l%:l%=0: kdmp:h0(#l%-ptr%,4);" ";:n%=07:m%>0:dt%?n%=#l%:h0(dt%?n%,2);" ";:m%=m%-1 dt%?n%=32:" "; 3:n%=07:dt%?n%<32 dt%?n%>126:46 dt%?n% ::m%<1: Rtyp:>&7FFF:A%=133:X%=&83:A%=((&FFF4)&FFFF00)256:A%>&7FFF:s%=&83:22,s% 514:n%=#l%:m%=m%-1:n%>127 (n%<127 n%>31):n%  n%=13: 1n%<32 n%<>13 n%<>10:135:0:64+n%:128:7 Hm%<1:15:s%<>&87:'"Press SPACE to continue":n%=:s%=&87:22,s%:f  kݤOS:<&3000:A$=$&600 <&4000:A$=$(-&300) ș"OS_GetEnv"A$:A$=A$,A$+" "," ",A$+" "," ")+1)+1) &A$=s(A$):=s(A$,A$+" "," ")+1)) /ݤs(A$):A$,1)=" ":A$=A$,2):A$,1)<>" " +A$,1)=" ":A$=A$,A$-1):A$,1)<>" " &=A$ 00ݤsf(n$,t%):e%,f%,sp%,xt$:n$<10sf%=0:=n$ :MA%=0:e%=A%+1:A%=n$,".",e%):A%=0:n$-e%<9:=n$e%=n$,"/",e%):e%=0:=n$ DVxt$=lc(n$,e%+1)):sp%=sf%::f%=$sp%,xt$)=xt$:sp%?3=44:f%=f%t%=("&"+$(sp%+4)) N6A%=sp%:sp%=sp%+1+$sp%:?sp%=13f%:f%:xt$=$A%,3) X*n$,1)<="_":n$,1)<>"/":xt$=uc(xt$) b=n$,e%-1)+"/"+xt$ E}{ O{*"ȑ " g{[{LQ%=PA.:CH."*BASIC {{{{a{a{`|{`` g{,z0ȱR{02 ee  { {R{{꩏ `