Home » Personal collection » Acorn ADFS disks » Greaseweazled » adfs_E00.adf » Library/BASIC/Dircopy

Library/BASIC/Dircopy

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Personal collection » Acorn ADFS disks » Greaseweazled » adfs_E00.adf
Filename: Library/BASIC/Dircopy
Read OK:
File size: 137C bytes
Load address: FFFF1D00
Exec address: FFFF8023
File contents
   10_%=0:j%=0:O$="":ONERRORPROC7:GOTO90
   20MODE6:X%=&80:Y%=0:A%=0:m%=(USR(&FFDA)AND&FF):IFm%<>8THEN*FX143,18,8
   30o%=&FFDD:e0%=&FFD1:s0%=&FFF1:e1%=&FFF4:t0%=&FFF7:u0%=&FFCE:M$="$":DIMI$(10),J$(10),k0%(10),l0%(10),m0%(10),n0%(10),f0%(10),k%&100,`%20,e%20:DIMa%&100,c%&100,f%&100,t%&100,p%&100,d%&100,q%&100,o0%12:ONERRORGOTO50
   40A%=6:X%=`%:Y%=`%DIV256:`%!1=d%:CALLe0%:d%?2=&D:O$=$(d%+1)
   50ONERRORPROC7:GOTO90
   60DIMv0%-1:g%=HIMEM-v0%-&600:DIMu%g%:v%=FALSE:A%=&70:PROC0(u%):CALLs0%:IF(?(u%+1)AND&20)v%=TRUE
   70PRINT'"            Dircopy 2.66"''"     Return for Help, Q to Quit":*FX 200 
   80*FX 229
   90z%=0:w%=g%:x%=u%:_0%=2:h%=-1:n%=0:_%=0:REPEATINPUT''"Source Drive ",G$:g0%=FN2(G$):UNTILg0%:IFG$="Q"ORG$="q"THEN240ELSE`0%=VAL(G$)
  100REPEATINPUT'"Destination drive ",H$:g0%=FN2(H$):UNTILg0%:IFH$="Q"ORH$="q"THEN240ELSEh0%=VAL(H$)
  110b%=FALSE:IF`0%<>h0%ELSEIFv%AND`0%<4ELSEPRINT'"Do you want disc change prompts (Y/N) ";:b%=FN0
  120IFb%ELSEIF(`0%<4ANDv%)ELSEPRINT'"Put source disc into drive "+G$:PROC3
  130IF`0%=h0%ANDNOTb%ELSEIF(h0%<4ANDv%)ELSEPRINT'"Put destination disc into drive "+H$:PROC3
  140PRINT'"Source root ? "+M$;:INPUT""$f%:IF ?f%=ASC"*"PROC@($f%):GOTO140
  150$f%=":"+G$+"."+M$+$f%
  160PRINT'"Destination root ? "+M$;:INPUT""$c%:IF ?c%=ASC"*"PROC@($c%):GOTO160
  170$c%=":"+H$+"."+M$+$c%:!`%=c%:PROC0(`%):A%=5:m%=USR(o%)AND&FF:IFm%=2ELSEPRINT'"No such destination directory":GOTO160
  180IFG$<>H$ORb%GOTO200
  190_%=OPENIN($c%):PTR#_%=&4CC:FORI%=0TO12:o0%?I%=BGET#_%:NEXTI%:CLOSE#_%:_%=0
  200IFb%ELSEPROC2
  210PROC1:VDU15:*OPT 1,0
  220*CAT
  230INPUT"Begin at which entry",N$:PRINT:N$=FN@(N$):PROCA:PROC8:PRINT'"Copy complete. "':IFz%PRINT;z%;" read protected files ignored"'
  240IFO$<>""ANDB%=999PROCB
  250END
  260DEFPROC8:LOCALa0%,b0%:a0%=0
  270PROC1:`%!1=k%:`%!5=1:`%!9=a0%:PROC0(`%):A%=8:CALLe0%:IF`%!5PROC5(TRUE):GOTO330
  280PROCC:$a%=$(k%+1):IFFN@($a%)<N$GOTO320
  290!`%=(k%+1):PROC0(`%):A%=5:b0%=(USR(o%)AND&FF):w0%=`%!2:x0%=`%!6:i%=`%!&A:p0%=`%?&E:IFb0%>2OR(p0%AND1)=0PRINT"Ignoring read protected file "+$f%+"."+$a%:z%=z%+1:GOTO320
  300IFb0%=1PROC5(FALSE):GOTO320
  310IFb0%=2PROC5(TRUE):IFFN4:PROC8:PROCD
  320a0%=a0%+1:GOTO270
  330ENDPROC
  340DEFFN4:N$="":$p%=$f%+"."+$a%:$t%=$c%+"."+$a%:IFG$<>H$ORb%y%=FALSE:GOTO370
  350y%=TRUE:_%=OPENIN($p%):PTR#_%=&4CC:FORI%=0TO12:IFBGET#_%<>o0%?I%y%=FALSE
  360NEXTI%:CLOSE#_%:_%=0:IFy%PRINT"Not copying destination directory "+$p%:=FALSE
  370IFl%=0GOTO400
  380FORq0%=0TOl%-1:IFFN@(RIGHT$($p%,LEN(I$(q0%))))=I$(q0%)PRINT"Not copying directory "+$p%:y%=TRUE
  390NEXT
  400IFy%THEN=FALSE
  410PROC1:PROC2:!`%=t%:PROC0(`%):A%=5:m%=(USRo%)AND&FF
  420IFm%=0PRINT''STRING$(39,"*")'"Creating "+$t%'STRING$(39,"*")':PROC@("Cdir "+$a%):GOTO440
  430IFm%=2ELSEPRINT'"Can't create directory "+$t%+" , file of this name exists":IFFN1($a%,TRUE)THEN=FALSEELSEm%=0:GOTO420
  440$f%=$p%:$c%=$t%:n%=FALSE:=TRUE
  450DEFPROCD:PROC1:PROC9(f%):PROC@("dir ^"):PROC9(c%):$a%=$y0%:ENDPROC
  460DEFPROC1:IF_0%=1GOTO510
  470IFb%=FALSEGOTO500
  480IFb%PROC@("DISMOUNT")
  490PRINT'"Please put source disc into drive "+G$:PROC3:IFb%PROC@("MOUNT"+G$)
  500n%=FALSE:_0%=1
  510IFn%ELSEPROC@("DIR "+$f%):n%=TRUE
  520ENDPROC
  530DEFPROC2:IF_0%=0GOTO580
  540IFb%=FALSEGOTO570
  550IFb%PROC@("DISMOUNT")
  560PRINT'"Please put destination disc into drive "+H$:PROC3:IFb%PROC@("MOUNT"+H$)
  570n%=FALSE:_0%=0
  580IFn%ELSEPROC@("DIR "+$c%):n%=TRUE
  590ENDPROC
  600DEFPROC3:*fx15,1
  610PRINT"Press RETURN when ready";:REPEATUNTILGET=13:PRINT:ENDPROC
  620DEFFN2(K$):c0%=FALSE:IFASC(K$)<>-1ELSEIFv%PRINT'"Drives can be numbered 0, 1, 4 or 5":=c0%ELSEPRINT'"Drives can be numbered 0 or 1":=c0%
  630IFLEFT$(K$,1)="*"PROC@(K$)
  640IFLEN(K$)=1IFINSTR("Qq0145",K$)c0%=TRUE
  650=c0%
  660DEFPROCC:T%=10:REPEAT:IF(k%?T%)<>&20k%?(T%+1)=&D:T%=1
  670T%=T%-1:UNTILT%=0:ENDPROC
  680DEFPROC9(d0%):I%=LEN($d0%):REPEATI%=I%-1:UNTILd0%?I%=ASC".":d0%?I%=&D:y0%=d0%+I%+1:ENDPROC
  690DEFPROCA:PRINT'"Please input sub-directories"'"not to be copied":l%=0
  700INPUTI$(l%):I$(l%)="."+FN@(I$(l%)):IF(I$(l%)="."ORI$(l%)="..")ENDPROC
  710l%=l%+1:IFl%<10GOTO700
  720ENDPROC
  730DEFFN@($d%):FORr0%=0TOLEN($d%)-1:i0%=d%?r0%AND&DF:IFi0%>=ASC"A"IFi0%<=ASC"Z"d%?r0%=i0%
  740NEXT:=$d%
  750DEFPROC5(z0%)
  760IFz0%PROC6:ENDPROC
  770IFh%=9PROC6:GOTO760
  780IFi%>w%PROC6:IFi%>w%PROCE:ENDPROC
  790PROCF:ENDPROC
  800DEFPROCE:PROC2:IFFN1($a%,FALSE)ENDPROC
  810PRINT"Copying "+$f%+"."+$a%+" as "+$c%+"."+$a%:r%=0:j0%=0:REPEAT:IFi%<g%PROC4($a%,3,i%,(r%*g%))ELSEPROC4($a%,3,g%,(r%*g%))
  820IFi%<g%PROC4($a%,1,i%,(r%*g%))ELSEPROC4($a%,1,g%,(r%*g%))
  830r%=r%+1:i%=i%-g%:j0%=1:UNTILi%<0:IFb%ELSEPROC1:CLOSE#j%:j%=0:PROC2:CLOSE#_%:_%=0
  840$k%=$c%+"."+$a%:?`%=k%:`%?1=k%DIV&100:PROC0(`%):A%=1:CALLo%:ENDPROC
  850DEFPROC4(L$,s%,_1%,`1%):IFs%>2PROC1ELSEPROC2
  860IFj0%ELSEIFs%>2j%=FN3(L$)ELSE_%=OPENOUTL$
  870IFj0%=0ELSEIFb%=FALSEELSEIFs%>2j%=FN3(L$)ELSE_%=OPENUPL$
  880IFs%>2 ?e%=j%ELSE?e%=_%
  890e%!1=u%:e%!5=_1%:e%!9=`1%:PROC0(e%):A%=s%:CALLe0%:IFb%=FALSEELSEIFs%>2CLOSE#j%:j%=0ELSECLOSE#_%:_%=0
  900ENDPROC
  910DEFPROCF:PROC1:h%=h%+1:J$(h%)=$a%:n0%(h%)=w0%:m0%(h%)=x0%:l0%(h%)=i%:f0%(h%)=p0%:k0%(h%)=x%:PRINT"Reading "+$f%+"."+$a%:PROC@("LOAD "+$a%+" "+STR$~(x%)):x%=x%+i%:w%=w%-i%:ENDPROC
  920DEFPROC6:IFh%=-1ENDPROC
  930PROC2:FORI%=0TOh%:IFFN1(J$(I%),FALSE)GOTO960
  940PRINT"Writing "+$c%+"."+J$(I%):PROC@("SAVE "+J$(I%)+" "+STR$~(k0%(I%))+"+"+STR$~(l0%(I%))+" "+STR$~(m0%(I%))+" "+STR$~(n0%(I%))):IFf0%(I%)AND&B=3GOTO960
  950$k%=J$(I%):!e%=k%:e%!&E=f0%(I%):PROC0(e%):A%=4:CALLo%
  960NEXTI%:x%=u%:w%=g%:h%=-1:ENDPROC
  970DEFFN1($q%,H):IFHGOTO1010
  980A%=5:PROC0(e%):!e%=q%:A%=(USRo%)AND&FF:a1%=(e%?14AND10):IF(A%=0)OR(A%=1ANDa1%=2)THEN=FALSE
  990IFA%=2PRINT;"Can't write file ";$q%;" , directory of this name exists"'"PRESS SPACE BAR TO CONTINUE":REPEATUNTILINKEY-99:=TRUE
 1000PRINT"Destination ";$q%;" write protected"
 1010PRINT"OVERWRITE (Y/N) ?";:IFFN0ELSE=TRUE
 1020PRINT"ARE YOU CERTAIN (Y/N) ?";:IFFN0ELSE=TRUE
 1030PROC@("ACCESS "+$q%):PROC@("DELETE "+$q%):=FALSE
 1040DEFFN0:*FX15,1
 1050REPEATQ$=GET$:G=INSTR("*NnYy",Q$):UNTILG>1:PRINTQ$:=G>3
 1060DEFPROC0(b1%):X%=b1%:Y%=X%DIV&100:ENDPROC
 1070DEFPROC@($d%):PROC0(d%):CALLt0%:ENDPROC
 1080DEFFN3(R$):$d%=L$:A%=&40:X%=d%:Y%=d%DIV256:=USR(u0%)AND&FF
 1090DEFPROC7:REPORT:PRINT:IF_%:c1%=_%:_%=0:CLOSE#c1%
 1100IFj%:d1%=j%:j%=0:CLOSE#d1%
 1110IFERR=17ORERR=&C6GOTO240
 1120ENDPROC
 1130DEFPROCB:PRINT"Press SPACE to return to menu"
 1140IFGET<>&20THEN1140
 1150ONERROROFF
 1160*FX200,1
 1170OSCLI("dir :"+O$+".ADFSUTILS"):CHAIN"MENU"

_%=0:j%=0:O$="":��7:�DZ@
<�6:X%=&80:Y%=0:A%=0:m%=(�(&FFDA)�&FF):�m%<>8�*FX143,18,8
�o%=&FFDD:e0%=&FFD1:s0%=&FFF1:e1%=&FFF4:t0%=&FFF7:u0%=&FFCE:M$="$":�I$(10),J$(10),k0%(10),l0%(10),m0%(10),n0%(10),f0%(10),k%&100,`%20,e%20:�a%&100,c%&100,f%&100,t%&100,p%&100,d%&100,q%&100,o0%12:��Tr@
(8A%=6:X%=`%:Y%=`%�256:`%!1=d%:�e0%:d%?2=&D:O$=$(d%+1)
2��7:�DZ@
<I�v0%-1:g%=�-v0%-&600:�u%g%:v%=�:A%=&70:�0(u%):�s0%:�(?(u%+1)�&20)v%=�
FL�'"            Dircopy 2.66"''"     Return for Help, Q to Quit":*FX 200 
P*FX 229
Zoz%=0:w%=g%:x%=u%:_0%=2:h%=-1:n%=0:_%=0:��''"Source Drive ",G$:g0%=�2(G$):�g0%:�G$="Q"�G$="q"��dp@�`0%=�(G$)
dL��'"Destination drive ",H$:g0%=�2(H$):�g0%:�H$="Q"�H$="q"��dp@�h0%=�(H$)
nNb%=�:�`0%<>h0%��v%�`0%<4��'"Do you want disc change prompts (Y/N) ";:b%=�0
x9�b%��(`0%<4�v%)��'"Put source disc into drive "+G$:�3
�G�`0%=h0%��b%��(h0%<4�v%)��'"Put destination disc into drive "+H$:�3
�9�'"Source root ? "+M$;:�""$f%:� ?f%=�"*"�@($f%):�tL@
�$f%=":"+G$+"."+M$+$f%
�>�'"Destination root ? "+M$;:�""$c%:� ?c%=�"*"�@($c%):�t`@
�g$c%=":"+H$+"."+M$+$c%:!`%=c%:�0(`%):A%=5:m%=�(o%)�&FF:�m%=2��'"No such destination directory":�t`@
��G$<>H$�b%�dH@
�:_%=�($c%):�#_%=&4CC:�I%=0�12:o0%?I%=�#_%:�I%:�#_%:_%=0
�
�b%��2
��1:�15:*OPT 1,0
�*CAT
�n�"Begin at which entry",N$:�:N$=�@(N$):�A:�8:�'"Copy complete. "':�z%�;z%;" read protected files ignored"'
��O$<>""�B%=999�B
��
��8:�a0%,b0%:a0%=0
@�1:`%!1=k%:`%!5=1:`%!9=a0%:�0(`%):A%=8:�e0%:�`%!5�5(�):�DJA
#�C:$a%=$(k%+1):�@($a%)<N$�D@A
"�!`%=(k%+1):�0(`%):A%=5:b0%=(�(o%)�&FF):w0%=`%!2:x0%=`%!6:i%=`%!&A:p0%=`%?&E:�b0%>2�(p0%�1)=0�"Ignoring read protected file "+$f%+"."+$a%:z%=z%+1:�D@A
,�b0%=1�5(�):�D@A
6�b0%=2�5(�):�4:�8:�D
@a0%=a0%+1:�TNA
J�
TBݤ4:N$="":$p%=$f%+"."+$a%:$t%=$c%+"."+$a%:�G$<>H$�b%y%=�:�DrA
^7y%=�:_%=�($p%):�#_%=&4CC:�I%=0�12:�#_%<>o0%?I%y%=�
hA�I%:�#_%:_%=0:�y%�"Not copying destination directory "+$p%:=�
r�l%=0�tPA
|O�q0%=0�l%-1:�@(�$p%,�(I$(q0%))))=I$(q0%)�"Not copying directory "+$p%:y%=�
��
�
�y%�=�
�)�1:�2:!`%=t%:�0(`%):A%=5:m%=(�o%)�&FF
�D�m%=0�''�39,"*")'"Creating "+$t%'�39,"*")':�@("Cdir "+$a%):�txA
�`�m%=2��'"Can't create directory "+$t%+" , file of this name exists":�1($a%,�)�=��m%=0:�tdA
�$f%=$p%:$c%=$t%:n%=�:=�
�/��D:�1:�9(f%):�@("dir ^"):�9(c%):$a%=$y0%:�
���1:�_0%=1�d~A
��b%=��dtA
��b%�@("DISMOUNT")
�B�'"Please put source disc into drive "+G$:�3:�b%�@("MOUNT"+G$)
�n%=�:_0%=1
��n%��@("DIR "+$f%):n%=�
�
��2:�_0%=0�DDB
�b%=��TzB
&�b%�@("DISMOUNT")
0G�'"Please put destination disc into drive "+H$:�3:�b%�@("MOUNT"+H$)
:n%=�:_0%=0
D�n%��@("DIR "+$c%):n%=�
N�
X��3:*fx15,1
b*�"Press RETURN when ready";:���=13:�:�
lsݤ2(K$):c0%=�:�(K$)<>-1��v%�'"Drives can be numbered 0, 1, 4 or 5":=c0%��'"Drives can be numbered 0 or 1":=c0%
v�K$,1)="*"�@(K$)
��(K$)=1�"Qq0145",K$)c0%=�
�=c0%
�.��C:T%=10:�:�(k%?T%)<>&20k%?(T%+1)=&D:T%=1
�T%=T%-1:�T%=0:�
�F��9(d0%):I%=�($d0%):�I%=I%-1:�d0%?I%=�".":d0%?I%=&D:y0%=d0%+I%+1:�
�@��A:�'"Please input sub-directories"'"not to be copied":l%=0
�<�I$(l%):I$(l%)="."+�@(I$(l%)):�(I$(l%)="."�I$(l%)="..")�
�l%=l%+1:�l%<10�t|B
��
�Jݤ@($d%):�r0%=0��($d%)-1:i0%=d%?r0%�&DF:�i0%>=�"A"�i0%<=�"Z"d%?r0%=i0%
�
�:=$d%
���5(z0%)
��z0%�6:�
�h%=9�6:�dxB
�i%>w%�6:�i%>w%�E:�
�F:�
 ��E:�2:�1($a%,�)�
*k�"Copying "+$f%+"."+$a%+" as "+$c%+"."+$a%:r%=0:j0%=0:�:�i%<g%�4($a%,3,i%,(r%*g%))��4($a%,3,g%,(r%*g%))
43�i%<g%�4($a%,1,i%,(r%*g%))��4($a%,1,g%,(r%*g%))
>>r%=r%+1:i%=i%-g%:j0%=1:�i%<0:�b%��1:�#j%:j%=0:�2:�#_%:_%=0
H9$k%=$c%+"."+$a%:?`%=k%:`%?1=k%�&100:�0(`%):A%=1:�o%:�
R!��4(L$,s%,_1%,`1%):�s%>2�1��2
\�j0%��s%>2j%=�3(L$)�_%=�L$
f&�j0%=0��b%=���s%>2j%=�3(L$)�_%=�L$
p�s%>2 ?e%=j%�?e%=_%
zNe%!1=u%:e%!5=_1%:e%!9=`1%:�0(e%):A%=s%:�e0%:�b%=���s%>2�#j%:j%=0��#_%:_%=0
��
����F:�1:h%=h%+1:J$(h%)=$a%:n0%(h%)=w0%:m0%(h%)=x0%:l0%(h%)=i%:f0%(h%)=p0%:k0%(h%)=x%:�"Reading "+$f%+"."+$a%:�@("LOAD "+$a%+" "+�~(x%)):x%=x%+i%:w%=w%-i%:�
���6:�h%=-1�
�"�2:�I%=0�h%:�1(J$(I%),�)�d@C
���"Writing "+$c%+"."+J$(I%):�@("SAVE "+J$(I%)+" "+�~(k0%(I%))+"+"+�~(l0%(I%))+" "+�~(m0%(I%))+" "+�~(n0%(I%))):�f0%(I%)�&B=3�d@C
�3$k%=J$(I%):!e%=k%:e%!&E=f0%(I%):�0(e%):A%=4:�o%
��I%:x%=u%:w%=g%:h%=-1:�
�ݤ1($q%,H):�H�drC
�JA%=5:�0(e%):!e%=q%:A%=(�o%)�&FF:a1%=(e%?14�10):�(A%=0)�(A%=1�a1%=2)�=�
�m�A%=2�;"Can't write file ";$q%;" , directory of this name exists"'"PRESS SPACE BAR TO CONTINUE":���-99:=�
�*�"Destination ";$q%;" write protected"
� �"OVERWRITE (Y/N) ?";:�0�=�
�&�"ARE YOU CERTAIN (Y/N) ?";:�0�=�
*�@("ACCESS "+$q%):�@("DELETE "+$q%):=�
ݤ0:*FX15,1
&�Q$=�:G=�"*NnYy",Q$):�G>1:�Q$:=G>3
$ ��0(b1%):X%=b1%:Y%=X%�&100:�
.��@($d%):�0(d%):�t0%:�
85ݤ3(R$):$d%=L$:A%=&40:X%=d%:Y%=d%�256:=�(u0%)�&FF
B!��7:�:�:�_%:c1%=_%:_%=0:�#c1%
L�j%:d1%=j%:j%=0:�#d1%
V�=17��=&C6�dp@
`�
j(��B:�"Press SPACE to return to menu"
t�<>&20��DtD
~
�*FX200,1
�&�("dir :"+O$+".ADFSUTILS"):�"MENU"
�
00000000  0d 00 0a 1e 5f 25 3d 30  3a 6a 25 3d 30 3a 4f 24  |...._%=0:j%=0:O$|
00000010  3d 22 22 3a ee 85 f2 37  3a e5 8d 44 5a 40 0d 00  |="":...7:..DZ@..|
00000020  14 3c eb 36 3a 58 25 3d  26 38 30 3a 59 25 3d 30  |.<.6:X%=&80:Y%=0|
00000030  3a 41 25 3d 30 3a 6d 25  3d 28 ba 28 26 46 46 44  |:A%=0:m%=(.(&FFD|
00000040  41 29 80 26 46 46 29 3a  e7 6d 25 3c 3e 38 8c 2a  |A).&FF):.m%<>8.*|
00000050  46 58 31 34 33 2c 31 38  2c 38 0d 00 1e cd 6f 25  |FX143,18,8....o%|
00000060  3d 26 46 46 44 44 3a 65  30 25 3d 26 46 46 44 31  |=&FFDD:e0%=&FFD1|
00000070  3a 73 30 25 3d 26 46 46  46 31 3a 65 31 25 3d 26  |:s0%=&FFF1:e1%=&|
00000080  46 46 46 34 3a 74 30 25  3d 26 46 46 46 37 3a 75  |FFF4:t0%=&FFF7:u|
00000090  30 25 3d 26 46 46 43 45  3a 4d 24 3d 22 24 22 3a  |0%=&FFCE:M$="$":|
000000a0  de 49 24 28 31 30 29 2c  4a 24 28 31 30 29 2c 6b  |.I$(10),J$(10),k|
000000b0  30 25 28 31 30 29 2c 6c  30 25 28 31 30 29 2c 6d  |0%(10),l0%(10),m|
000000c0  30 25 28 31 30 29 2c 6e  30 25 28 31 30 29 2c 66  |0%(10),n0%(10),f|
000000d0  30 25 28 31 30 29 2c 6b  25 26 31 30 30 2c 60 25  |0%(10),k%&100,`%|
000000e0  32 30 2c 65 25 32 30 3a  de 61 25 26 31 30 30 2c  |20,e%20:.a%&100,|
000000f0  63 25 26 31 30 30 2c 66  25 26 31 30 30 2c 74 25  |c%&100,f%&100,t%|
00000100  26 31 30 30 2c 70 25 26  31 30 30 2c 64 25 26 31  |&100,p%&100,d%&1|
00000110  30 30 2c 71 25 26 31 30  30 2c 6f 30 25 31 32 3a  |00,q%&100,o0%12:|
00000120  ee 85 e5 8d 54 72 40 0d  00 28 38 41 25 3d 36 3a  |....Tr@..(8A%=6:|
00000130  58 25 3d 60 25 3a 59 25  3d 60 25 81 32 35 36 3a  |X%=`%:Y%=`%.256:|
00000140  60 25 21 31 3d 64 25 3a  d6 65 30 25 3a 64 25 3f  |`%!1=d%:.e0%:d%?|
00000150  32 3d 26 44 3a 4f 24 3d  24 28 64 25 2b 31 29 0d  |2=&D:O$=$(d%+1).|
00000160  00 32 0e ee 85 f2 37 3a  e5 8d 44 5a 40 0d 00 3c  |.2....7:..DZ@..<|
00000170  49 de 76 30 25 2d 31 3a  67 25 3d 93 2d 76 30 25  |I.v0%-1:g%=.-v0%|
00000180  2d 26 36 30 30 3a de 75  25 67 25 3a 76 25 3d a3  |-&600:.u%g%:v%=.|
00000190  3a 41 25 3d 26 37 30 3a  f2 30 28 75 25 29 3a d6  |:A%=&70:.0(u%):.|
000001a0  73 30 25 3a e7 28 3f 28  75 25 2b 31 29 80 26 32  |s0%:.(?(u%+1).&2|
000001b0  30 29 76 25 3d b9 0d 00  46 4c f1 27 22 20 20 20  |0)v%=...FL.'"   |
000001c0  20 20 20 20 20 20 20 20  20 44 69 72 63 6f 70 79  |         Dircopy|
000001d0  20 32 2e 36 36 22 27 27  22 20 20 20 20 20 52 65  | 2.66"''"     Re|
000001e0  74 75 72 6e 20 66 6f 72  20 48 65 6c 70 2c 20 51  |turn for Help, Q|
000001f0  20 74 6f 20 51 75 69 74  22 3a 2a 46 58 20 32 30  | to Quit":*FX 20|
00000200  30 20 0d 00 50 0b 2a 46  58 20 32 32 39 0d 00 5a  |0 ..P.*FX 229..Z|
00000210  6f 7a 25 3d 30 3a 77 25  3d 67 25 3a 78 25 3d 75  |oz%=0:w%=g%:x%=u|
00000220  25 3a 5f 30 25 3d 32 3a  68 25 3d 2d 31 3a 6e 25  |%:_0%=2:h%=-1:n%|
00000230  3d 30 3a 5f 25 3d 30 3a  f5 e8 27 27 22 53 6f 75  |=0:_%=0:..''"Sou|
00000240  72 63 65 20 44 72 69 76  65 20 22 2c 47 24 3a 67  |rce Drive ",G$:g|
00000250  30 25 3d a4 32 28 47 24  29 3a fd 67 30 25 3a e7  |0%=.2(G$):.g0%:.|
00000260  47 24 3d 22 51 22 84 47  24 3d 22 71 22 8c 8d 64  |G$="Q".G$="q"..d|
00000270  70 40 8b 60 30 25 3d bb  28 47 24 29 0d 00 64 4c  |p@.`0%=.(G$)..dL|
00000280  f5 e8 27 22 44 65 73 74  69 6e 61 74 69 6f 6e 20  |..'"Destination |
00000290  64 72 69 76 65 20 22 2c  48 24 3a 67 30 25 3d a4  |drive ",H$:g0%=.|
000002a0  32 28 48 24 29 3a fd 67  30 25 3a e7 48 24 3d 22  |2(H$):.g0%:.H$="|
000002b0  51 22 84 48 24 3d 22 71  22 8c 8d 64 70 40 8b 68  |Q".H$="q"..dp@.h|
000002c0  30 25 3d bb 28 48 24 29  0d 00 6e 4e 62 25 3d a3  |0%=.(H$)..nNb%=.|
000002d0  3a e7 60 30 25 3c 3e 68  30 25 8b e7 76 25 80 60  |:.`0%<>h0%..v%.`|
000002e0  30 25 3c 34 8b f1 27 22  44 6f 20 79 6f 75 20 77  |0%<4..'"Do you w|
000002f0  61 6e 74 20 64 69 73 63  20 63 68 61 6e 67 65 20  |ant disc change |
00000300  70 72 6f 6d 70 74 73 20  28 59 2f 4e 29 20 22 3b  |prompts (Y/N) ";|
00000310  3a 62 25 3d a4 30 0d 00  78 39 e7 62 25 8b e7 28  |:b%=.0..x9.b%..(|
00000320  60 30 25 3c 34 80 76 25  29 8b f1 27 22 50 75 74  |`0%<4.v%)..'"Put|
00000330  20 73 6f 75 72 63 65 20  64 69 73 63 20 69 6e 74  | source disc int|
00000340  6f 20 64 72 69 76 65 20  22 2b 47 24 3a f2 33 0d  |o drive "+G$:.3.|
00000350  00 82 47 e7 60 30 25 3d  68 30 25 80 ac 62 25 8b  |..G.`0%=h0%..b%.|
00000360  e7 28 68 30 25 3c 34 80  76 25 29 8b f1 27 22 50  |.(h0%<4.v%)..'"P|
00000370  75 74 20 64 65 73 74 69  6e 61 74 69 6f 6e 20 64  |ut destination d|
00000380  69 73 63 20 69 6e 74 6f  20 64 72 69 76 65 20 22  |isc into drive "|
00000390  2b 48 24 3a f2 33 0d 00  8c 39 f1 27 22 53 6f 75  |+H$:.3...9.'"Sou|
000003a0  72 63 65 20 72 6f 6f 74  20 3f 20 22 2b 4d 24 3b  |rce root ? "+M$;|
000003b0  3a e8 22 22 24 66 25 3a  e7 20 3f 66 25 3d 97 22  |:.""$f%:. ?f%=."|
000003c0  2a 22 f2 40 28 24 66 25  29 3a e5 8d 74 4c 40 0d  |*".@($f%):..tL@.|
000003d0  00 96 19 24 66 25 3d 22  3a 22 2b 47 24 2b 22 2e  |...$f%=":"+G$+".|
000003e0  22 2b 4d 24 2b 24 66 25  0d 00 a0 3e f1 27 22 44  |"+M$+$f%...>.'"D|
000003f0  65 73 74 69 6e 61 74 69  6f 6e 20 72 6f 6f 74 20  |estination root |
00000400  3f 20 22 2b 4d 24 3b 3a  e8 22 22 24 63 25 3a e7  |? "+M$;:.""$c%:.|
00000410  20 3f 63 25 3d 97 22 2a  22 f2 40 28 24 63 25 29  | ?c%=."*".@($c%)|
00000420  3a e5 8d 74 60 40 0d 00  aa 67 24 63 25 3d 22 3a  |:..t`@...g$c%=":|
00000430  22 2b 48 24 2b 22 2e 22  2b 4d 24 2b 24 63 25 3a  |"+H$+"."+M$+$c%:|
00000440  21 60 25 3d 63 25 3a f2  30 28 60 25 29 3a 41 25  |!`%=c%:.0(`%):A%|
00000450  3d 35 3a 6d 25 3d ba 28  6f 25 29 80 26 46 46 3a  |=5:m%=.(o%).&FF:|
00000460  e7 6d 25 3d 32 8b f1 27  22 4e 6f 20 73 75 63 68  |.m%=2..'"No such|
00000470  20 64 65 73 74 69 6e 61  74 69 6f 6e 20 64 69 72  | destination dir|
00000480  65 63 74 6f 72 79 22 3a  e5 8d 74 60 40 0d 00 b4  |ectory":..t`@...|
00000490  13 e7 47 24 3c 3e 48 24  84 62 25 e5 8d 64 48 40  |..G$<>H$.b%..dH@|
000004a0  0d 00 be 3a 5f 25 3d 8e  28 24 63 25 29 3a cf 23  |...:_%=.($c%):.#|
000004b0  5f 25 3d 26 34 43 43 3a  e3 49 25 3d 30 b8 31 32  |_%=&4CC:.I%=0.12|
000004c0  3a 6f 30 25 3f 49 25 3d  9a 23 5f 25 3a ed 49 25  |:o0%?I%=.#_%:.I%|
000004d0  3a d9 23 5f 25 3a 5f 25  3d 30 0d 00 c8 0a e7 62  |:.#_%:_%=0.....b|
000004e0  25 8b f2 32 0d 00 d2 13  f2 31 3a ef 31 35 3a 2a  |%..2.....1:.15:*|
000004f0  4f 50 54 20 31 2c 30 0d  00 dc 08 2a 43 41 54 0d  |OPT 1,0....*CAT.|
00000500  00 e6 6e e8 22 42 65 67  69 6e 20 61 74 20 77 68  |..n."Begin at wh|
00000510  69 63 68 20 65 6e 74 72  79 22 2c 4e 24 3a f1 3a  |ich entry",N$:.:|
00000520  4e 24 3d a4 40 28 4e 24  29 3a f2 41 3a f2 38 3a  |N$=.@(N$):.A:.8:|
00000530  f1 27 22 43 6f 70 79 20  63 6f 6d 70 6c 65 74 65  |.'"Copy complete|
00000540  2e 20 22 27 3a e7 7a 25  f1 3b 7a 25 3b 22 20 72  |. "':.z%.;z%;" r|
00000550  65 61 64 20 70 72 6f 74  65 63 74 65 64 20 66 69  |ead protected fi|
00000560  6c 65 73 20 69 67 6e 6f  72 65 64 22 27 0d 00 f0  |les ignored"'...|
00000570  14 e7 4f 24 3c 3e 22 22  80 42 25 3d 39 39 39 f2  |..O$<>"".B%=999.|
00000580  42 0d 00 fa 05 e0 0d 01  04 16 dd f2 38 3a ea 61  |B...........8:.a|
00000590  30 25 2c 62 30 25 3a 61  30 25 3d 30 0d 01 0e 40  |0%,b0%:a0%=0...@|
000005a0  f2 31 3a 60 25 21 31 3d  6b 25 3a 60 25 21 35 3d  |.1:`%!1=k%:`%!5=|
000005b0  31 3a 60 25 21 39 3d 61  30 25 3a f2 30 28 60 25  |1:`%!9=a0%:.0(`%|
000005c0  29 3a 41 25 3d 38 3a d6  65 30 25 3a e7 60 25 21  |):A%=8:.e0%:.`%!|
000005d0  35 f2 35 28 b9 29 3a e5  8d 44 4a 41 0d 01 18 23  |5.5(.):..DJA...#|
000005e0  f2 43 3a 24 61 25 3d 24  28 6b 25 2b 31 29 3a e7  |.C:$a%=$(k%+1):.|
000005f0  a4 40 28 24 61 25 29 3c  4e 24 e5 8d 44 40 41 0d  |.@($a%)<N$..D@A.|
00000600  01 22 9a 21 60 25 3d 28  6b 25 2b 31 29 3a f2 30  |.".!`%=(k%+1):.0|
00000610  28 60 25 29 3a 41 25 3d  35 3a 62 30 25 3d 28 ba  |(`%):A%=5:b0%=(.|
00000620  28 6f 25 29 80 26 46 46  29 3a 77 30 25 3d 60 25  |(o%).&FF):w0%=`%|
00000630  21 32 3a 78 30 25 3d 60  25 21 36 3a 69 25 3d 60  |!2:x0%=`%!6:i%=`|
00000640  25 21 26 41 3a 70 30 25  3d 60 25 3f 26 45 3a e7  |%!&A:p0%=`%?&E:.|
00000650  62 30 25 3e 32 84 28 70  30 25 80 31 29 3d 30 f1  |b0%>2.(p0%.1)=0.|
00000660  22 49 67 6e 6f 72 69 6e  67 20 72 65 61 64 20 70  |"Ignoring read p|
00000670  72 6f 74 65 63 74 65 64  20 66 69 6c 65 20 22 2b  |rotected file "+|
00000680  24 66 25 2b 22 2e 22 2b  24 61 25 3a 7a 25 3d 7a  |$f%+"."+$a%:z%=z|
00000690  25 2b 31 3a e5 8d 44 40  41 0d 01 2c 15 e7 62 30  |%+1:..D@A..,..b0|
000006a0  25 3d 31 f2 35 28 a3 29  3a e5 8d 44 40 41 0d 01  |%=1.5(.):..D@A..|
000006b0  36 19 e7 62 30 25 3d 32  f2 35 28 b9 29 3a e7 a4  |6..b0%=2.5(.):..|
000006c0  34 3a f2 38 3a f2 44 0d  01 40 13 61 30 25 3d 61  |4:.8:.D..@.a0%=a|
000006d0  30 25 2b 31 3a e5 8d 54  4e 41 0d 01 4a 05 e1 0d  |0%+1:..TNA..J...|
000006e0  01 54 42 dd a4 34 3a 4e  24 3d 22 22 3a 24 70 25  |.TB..4:N$="":$p%|
000006f0  3d 24 66 25 2b 22 2e 22  2b 24 61 25 3a 24 74 25  |=$f%+"."+$a%:$t%|
00000700  3d 24 63 25 2b 22 2e 22  2b 24 61 25 3a e7 47 24  |=$c%+"."+$a%:.G$|
00000710  3c 3e 48 24 84 62 25 79  25 3d a3 3a e5 8d 44 72  |<>H$.b%y%=.:..Dr|
00000720  41 0d 01 5e 37 79 25 3d  b9 3a 5f 25 3d 8e 28 24  |A..^7y%=.:_%=.($|
00000730  70 25 29 3a cf 23 5f 25  3d 26 34 43 43 3a e3 49  |p%):.#_%=&4CC:.I|
00000740  25 3d 30 b8 31 32 3a e7  9a 23 5f 25 3c 3e 6f 30  |%=0.12:..#_%<>o0|
00000750  25 3f 49 25 79 25 3d a3  0d 01 68 41 ed 49 25 3a  |%?I%y%=...hA.I%:|
00000760  d9 23 5f 25 3a 5f 25 3d  30 3a e7 79 25 f1 22 4e  |.#_%:_%=0:.y%."N|
00000770  6f 74 20 63 6f 70 79 69  6e 67 20 64 65 73 74 69  |ot copying desti|
00000780  6e 61 74 69 6f 6e 20 64  69 72 65 63 74 6f 72 79  |nation directory|
00000790  20 22 2b 24 70 25 3a 3d  a3 0d 01 72 0e e7 6c 25  | "+$p%:=...r..l%|
000007a0  3d 30 e5 8d 74 50 41 0d  01 7c 4f e3 71 30 25 3d  |=0..tPA..|O.q0%=|
000007b0  30 b8 6c 25 2d 31 3a e7  a4 40 28 c2 24 70 25 2c  |0.l%-1:..@(.$p%,|
000007c0  a9 28 49 24 28 71 30 25  29 29 29 29 3d 49 24 28  |.(I$(q0%))))=I$(|
000007d0  71 30 25 29 f1 22 4e 6f  74 20 63 6f 70 79 69 6e  |q0%)."Not copyin|
000007e0  67 20 64 69 72 65 63 74  6f 72 79 20 22 2b 24 70  |g directory "+$p|
000007f0  25 3a 79 25 3d b9 0d 01  86 05 ed 0d 01 90 0a e7  |%:y%=...........|
00000800  79 25 8c 3d a3 0d 01 9a  29 f2 31 3a f2 32 3a 21  |y%.=....).1:.2:!|
00000810  60 25 3d 74 25 3a f2 30  28 60 25 29 3a 41 25 3d  |`%=t%:.0(`%):A%=|
00000820  35 3a 6d 25 3d 28 ba 6f  25 29 80 26 46 46 0d 01  |5:m%=(.o%).&FF..|
00000830  a4 44 e7 6d 25 3d 30 f1  27 27 c4 33 39 2c 22 2a  |.D.m%=0.''.39,"*|
00000840  22 29 27 22 43 72 65 61  74 69 6e 67 20 22 2b 24  |")'"Creating "+$|
00000850  74 25 27 c4 33 39 2c 22  2a 22 29 27 3a f2 40 28  |t%'.39,"*")':.@(|
00000860  22 43 64 69 72 20 22 2b  24 61 25 29 3a e5 8d 74  |"Cdir "+$a%):..t|
00000870  78 41 0d 01 ae 60 e7 6d  25 3d 32 8b f1 27 22 43  |xA...`.m%=2..'"C|
00000880  61 6e 27 74 20 63 72 65  61 74 65 20 64 69 72 65  |an't create dire|
00000890  63 74 6f 72 79 20 22 2b  24 74 25 2b 22 20 2c 20  |ctory "+$t%+" , |
000008a0  66 69 6c 65 20 6f 66 20  74 68 69 73 20 6e 61 6d  |file of this nam|
000008b0  65 20 65 78 69 73 74 73  22 3a e7 a4 31 28 24 61  |e exists":..1($a|
000008c0  25 2c b9 29 8c 3d a3 8b  6d 25 3d 30 3a e5 8d 74  |%,.).=..m%=0:..t|
000008d0  64 41 0d 01 b8 1b 24 66  25 3d 24 70 25 3a 24 63  |dA....$f%=$p%:$c|
000008e0  25 3d 24 74 25 3a 6e 25  3d a3 3a 3d b9 0d 01 c2  |%=$t%:n%=.:=....|
000008f0  2f dd f2 44 3a f2 31 3a  f2 39 28 66 25 29 3a f2  |/..D:.1:.9(f%):.|
00000900  40 28 22 64 69 72 20 5e  22 29 3a f2 39 28 63 25  |@("dir ^"):.9(c%|
00000910  29 3a 24 61 25 3d 24 79  30 25 3a e1 0d 01 cc 13  |):$a%=$y0%:.....|
00000920  dd f2 31 3a e7 5f 30 25  3d 31 e5 8d 64 7e 41 0d  |..1:._0%=1..d~A.|
00000930  01 d6 0e e7 62 25 3d a3  e5 8d 64 74 41 0d 01 e0  |....b%=...dtA...|
00000940  15 e7 62 25 f2 40 28 22  44 49 53 4d 4f 55 4e 54  |..b%.@("DISMOUNT|
00000950  22 29 0d 01 ea 42 f1 27  22 50 6c 65 61 73 65 20  |")...B.'"Please |
00000960  70 75 74 20 73 6f 75 72  63 65 20 64 69 73 63 20  |put source disc |
00000970  69 6e 74 6f 20 64 72 69  76 65 20 22 2b 47 24 3a  |into drive "+G$:|
00000980  f2 33 3a e7 62 25 f2 40  28 22 4d 4f 55 4e 54 22  |.3:.b%.@("MOUNT"|
00000990  2b 47 24 29 0d 01 f4 0e  6e 25 3d a3 3a 5f 30 25  |+G$)....n%=.:_0%|
000009a0  3d 31 0d 01 fe 1b e7 6e  25 8b f2 40 28 22 44 49  |=1.....n%..@("DI|
000009b0  52 20 22 2b 24 66 25 29  3a 6e 25 3d b9 0d 02 08  |R "+$f%):n%=....|
000009c0  05 e1 0d 02 12 13 dd f2  32 3a e7 5f 30 25 3d 30  |........2:._0%=0|
000009d0  e5 8d 44 44 42 0d 02 1c  0e e7 62 25 3d a3 e5 8d  |..DDB.....b%=...|
000009e0  54 7a 42 0d 02 26 15 e7  62 25 f2 40 28 22 44 49  |TzB..&..b%.@("DI|
000009f0  53 4d 4f 55 4e 54 22 29  0d 02 30 47 f1 27 22 50  |SMOUNT")..0G.'"P|
00000a00  6c 65 61 73 65 20 70 75  74 20 64 65 73 74 69 6e  |lease put destin|
00000a10  61 74 69 6f 6e 20 64 69  73 63 20 69 6e 74 6f 20  |ation disc into |
00000a20  64 72 69 76 65 20 22 2b  48 24 3a f2 33 3a e7 62  |drive "+H$:.3:.b|
00000a30  25 f2 40 28 22 4d 4f 55  4e 54 22 2b 48 24 29 0d  |%.@("MOUNT"+H$).|
00000a40  02 3a 0e 6e 25 3d a3 3a  5f 30 25 3d 30 0d 02 44  |.:.n%=.:_0%=0..D|
00000a50  1b e7 6e 25 8b f2 40 28  22 44 49 52 20 22 2b 24  |..n%..@("DIR "+$|
00000a60  63 25 29 3a 6e 25 3d b9  0d 02 4e 05 e1 0d 02 58  |c%):n%=...N....X|
00000a70  0f dd f2 33 3a 2a 66 78  31 35 2c 31 0d 02 62 2a  |...3:*fx15,1..b*|
00000a80  f1 22 50 72 65 73 73 20  52 45 54 55 52 4e 20 77  |."Press RETURN w|
00000a90  68 65 6e 20 72 65 61 64  79 22 3b 3a f5 fd a5 3d  |hen ready";:...=|
00000aa0  31 33 3a f1 3a e1 0d 02  6c 73 dd a4 32 28 4b 24  |13:.:...ls..2(K$|
00000ab0  29 3a 63 30 25 3d a3 3a  e7 97 28 4b 24 29 3c 3e  |):c0%=.:..(K$)<>|
00000ac0  2d 31 8b e7 76 25 f1 27  22 44 72 69 76 65 73 20  |-1..v%.'"Drives |
00000ad0  63 61 6e 20 62 65 20 6e  75 6d 62 65 72 65 64 20  |can be numbered |
00000ae0  30 2c 20 31 2c 20 34 20  6f 72 20 35 22 3a 3d 63  |0, 1, 4 or 5":=c|
00000af0  30 25 8b f1 27 22 44 72  69 76 65 73 20 63 61 6e  |0%..'"Drives can|
00000b00  20 62 65 20 6e 75 6d 62  65 72 65 64 20 30 20 6f  | be numbered 0 o|
00000b10  72 20 31 22 3a 3d 63 30  25 0d 02 76 15 e7 c0 4b  |r 1":=c0%..v...K|
00000b20  24 2c 31 29 3d 22 2a 22  f2 40 28 4b 24 29 0d 02  |$,1)="*".@(K$)..|
00000b30  80 1f e7 a9 28 4b 24 29  3d 31 e7 a7 22 51 71 30  |....(K$)=1.."Qq0|
00000b40  31 34 35 22 2c 4b 24 29  63 30 25 3d b9 0d 02 8a  |145",K$)c0%=....|
00000b50  08 3d 63 30 25 0d 02 94  2e dd f2 43 3a 54 25 3d  |.=c0%......C:T%=|
00000b60  31 30 3a f5 3a e7 28 6b  25 3f 54 25 29 3c 3e 26  |10:.:.(k%?T%)<>&|
00000b70  32 30 6b 25 3f 28 54 25  2b 31 29 3d 26 44 3a 54  |20k%?(T%+1)=&D:T|
00000b80  25 3d 31 0d 02 9e 13 54  25 3d 54 25 2d 31 3a fd  |%=1....T%=T%-1:.|
00000b90  54 25 3d 30 3a e1 0d 02  a8 46 dd f2 39 28 64 30  |T%=0:....F..9(d0|
00000ba0  25 29 3a 49 25 3d a9 28  24 64 30 25 29 3a f5 49  |%):I%=.($d0%):.I|
00000bb0  25 3d 49 25 2d 31 3a fd  64 30 25 3f 49 25 3d 97  |%=I%-1:.d0%?I%=.|
00000bc0  22 2e 22 3a 64 30 25 3f  49 25 3d 26 44 3a 79 30  |".":d0%?I%=&D:y0|
00000bd0  25 3d 64 30 25 2b 49 25  2b 31 3a e1 0d 02 b2 40  |%=d0%+I%+1:....@|
00000be0  dd f2 41 3a f1 27 22 50  6c 65 61 73 65 20 69 6e  |..A:.'"Please in|
00000bf0  70 75 74 20 73 75 62 2d  64 69 72 65 63 74 6f 72  |put sub-director|
00000c00  69 65 73 22 27 22 6e 6f  74 20 74 6f 20 62 65 20  |ies"'"not to be |
00000c10  63 6f 70 69 65 64 22 3a  6c 25 3d 30 0d 02 bc 3c  |copied":l%=0...<|
00000c20  e8 49 24 28 6c 25 29 3a  49 24 28 6c 25 29 3d 22  |.I$(l%):I$(l%)="|
00000c30  2e 22 2b a4 40 28 49 24  28 6c 25 29 29 3a e7 28  |."+.@(I$(l%)):.(|
00000c40  49 24 28 6c 25 29 3d 22  2e 22 84 49 24 28 6c 25  |I$(l%)=".".I$(l%|
00000c50  29 3d 22 2e 2e 22 29 e1  0d 02 c6 17 6c 25 3d 6c  |)="..").....l%=l|
00000c60  25 2b 31 3a e7 6c 25 3c  31 30 e5 8d 74 7c 42 0d  |%+1:.l%<10..t|B.|
00000c70  02 d0 05 e1 0d 02 da 4a  dd a4 40 28 24 64 25 29  |.......J..@($d%)|
00000c80  3a e3 72 30 25 3d 30 b8  a9 28 24 64 25 29 2d 31  |:.r0%=0..($d%)-1|
00000c90  3a 69 30 25 3d 64 25 3f  72 30 25 80 26 44 46 3a  |:i0%=d%?r0%.&DF:|
00000ca0  e7 69 30 25 3e 3d 97 22  41 22 e7 69 30 25 3c 3d  |.i0%>=."A".i0%<=|
00000cb0  97 22 5a 22 64 25 3f 72  30 25 3d 69 30 25 0d 02  |."Z"d%?r0%=i0%..|
00000cc0  e4 0a ed 3a 3d 24 64 25  0d 02 ee 0c dd f2 35 28  |...:=$d%......5(|
00000cd0  7a 30 25 29 0d 02 f8 0c  e7 7a 30 25 f2 36 3a e1  |z0%).....z0%.6:.|
00000ce0  0d 03 02 11 e7 68 25 3d  39 f2 36 3a e5 8d 64 78  |.....h%=9.6:..dx|
00000cf0  42 0d 03 0c 17 e7 69 25  3e 77 25 f2 36 3a e7 69  |B.....i%>w%.6:.i|
00000d00  25 3e 77 25 f2 45 3a e1  0d 03 16 08 f2 46 3a e1  |%>w%.E:......F:.|
00000d10  0d 03 20 16 dd f2 45 3a  f2 32 3a e7 a4 31 28 24  |.. ...E:.2:..1($|
00000d20  61 25 2c a3 29 e1 0d 03  2a 6b f1 22 43 6f 70 79  |a%,.)...*k."Copy|
00000d30  69 6e 67 20 22 2b 24 66  25 2b 22 2e 22 2b 24 61  |ing "+$f%+"."+$a|
00000d40  25 2b 22 20 61 73 20 22  2b 24 63 25 2b 22 2e 22  |%+" as "+$c%+"."|
00000d50  2b 24 61 25 3a 72 25 3d  30 3a 6a 30 25 3d 30 3a  |+$a%:r%=0:j0%=0:|
00000d60  f5 3a e7 69 25 3c 67 25  f2 34 28 24 61 25 2c 33  |.:.i%<g%.4($a%,3|
00000d70  2c 69 25 2c 28 72 25 2a  67 25 29 29 8b f2 34 28  |,i%,(r%*g%))..4(|
00000d80  24 61 25 2c 33 2c 67 25  2c 28 72 25 2a 67 25 29  |$a%,3,g%,(r%*g%)|
00000d90  29 0d 03 34 33 e7 69 25  3c 67 25 f2 34 28 24 61  |)..43.i%<g%.4($a|
00000da0  25 2c 31 2c 69 25 2c 28  72 25 2a 67 25 29 29 8b  |%,1,i%,(r%*g%)).|
00000db0  f2 34 28 24 61 25 2c 31  2c 67 25 2c 28 72 25 2a  |.4($a%,1,g%,(r%*|
00000dc0  67 25 29 29 0d 03 3e 3e  72 25 3d 72 25 2b 31 3a  |g%))..>>r%=r%+1:|
00000dd0  69 25 3d 69 25 2d 67 25  3a 6a 30 25 3d 31 3a fd  |i%=i%-g%:j0%=1:.|
00000de0  69 25 3c 30 3a e7 62 25  8b f2 31 3a d9 23 6a 25  |i%<0:.b%..1:.#j%|
00000df0  3a 6a 25 3d 30 3a f2 32  3a d9 23 5f 25 3a 5f 25  |:j%=0:.2:.#_%:_%|
00000e00  3d 30 0d 03 48 39 24 6b  25 3d 24 63 25 2b 22 2e  |=0..H9$k%=$c%+".|
00000e10  22 2b 24 61 25 3a 3f 60  25 3d 6b 25 3a 60 25 3f  |"+$a%:?`%=k%:`%?|
00000e20  31 3d 6b 25 81 26 31 30  30 3a f2 30 28 60 25 29  |1=k%.&100:.0(`%)|
00000e30  3a 41 25 3d 31 3a d6 6f  25 3a e1 0d 03 52 21 dd  |:A%=1:.o%:...R!.|
00000e40  f2 34 28 4c 24 2c 73 25  2c 5f 31 25 2c 60 31 25  |.4(L$,s%,_1%,`1%|
00000e50  29 3a e7 73 25 3e 32 f2  31 8b f2 32 0d 03 5c 1e  |):.s%>2.1..2..\.|
00000e60  e7 6a 30 25 8b e7 73 25  3e 32 6a 25 3d a4 33 28  |.j0%..s%>2j%=.3(|
00000e70  4c 24 29 8b 5f 25 3d ae  4c 24 0d 03 66 26 e7 6a  |L$)._%=.L$..f&.j|
00000e80  30 25 3d 30 8b e7 62 25  3d a3 8b e7 73 25 3e 32  |0%=0..b%=...s%>2|
00000e90  6a 25 3d a4 33 28 4c 24  29 8b 5f 25 3d ad 4c 24  |j%=.3(L$)._%=.L$|
00000ea0  0d 03 70 17 e7 73 25 3e  32 20 3f 65 25 3d 6a 25  |..p..s%>2 ?e%=j%|
00000eb0  8b 3f 65 25 3d 5f 25 0d  03 7a 4e 65 25 21 31 3d  |.?e%=_%..zNe%!1=|
00000ec0  75 25 3a 65 25 21 35 3d  5f 31 25 3a 65 25 21 39  |u%:e%!5=_1%:e%!9|
00000ed0  3d 60 31 25 3a f2 30 28  65 25 29 3a 41 25 3d 73  |=`1%:.0(e%):A%=s|
00000ee0  25 3a d6 65 30 25 3a e7  62 25 3d a3 8b e7 73 25  |%:.e0%:.b%=...s%|
00000ef0  3e 32 d9 23 6a 25 3a 6a  25 3d 30 8b d9 23 5f 25  |>2.#j%:j%=0..#_%|
00000f00  3a 5f 25 3d 30 0d 03 84  05 e1 0d 03 8e 9e dd f2  |:_%=0...........|
00000f10  46 3a f2 31 3a 68 25 3d  68 25 2b 31 3a 4a 24 28  |F:.1:h%=h%+1:J$(|
00000f20  68 25 29 3d 24 61 25 3a  6e 30 25 28 68 25 29 3d  |h%)=$a%:n0%(h%)=|
00000f30  77 30 25 3a 6d 30 25 28  68 25 29 3d 78 30 25 3a  |w0%:m0%(h%)=x0%:|
00000f40  6c 30 25 28 68 25 29 3d  69 25 3a 66 30 25 28 68  |l0%(h%)=i%:f0%(h|
00000f50  25 29 3d 70 30 25 3a 6b  30 25 28 68 25 29 3d 78  |%)=p0%:k0%(h%)=x|
00000f60  25 3a f1 22 52 65 61 64  69 6e 67 20 22 2b 24 66  |%:."Reading "+$f|
00000f70  25 2b 22 2e 22 2b 24 61  25 3a f2 40 28 22 4c 4f  |%+"."+$a%:.@("LO|
00000f80  41 44 20 22 2b 24 61 25  2b 22 20 22 2b c3 7e 28  |AD "+$a%+" "+.~(|
00000f90  78 25 29 29 3a 78 25 3d  78 25 2b 69 25 3a 77 25  |x%)):x%=x%+i%:w%|
00000fa0  3d 77 25 2d 69 25 3a e1  0d 03 98 0f dd f2 36 3a  |=w%-i%:.......6:|
00000fb0  e7 68 25 3d 2d 31 e1 0d  03 a2 22 f2 32 3a e3 49  |.h%=-1....".2:.I|
00000fc0  25 3d 30 b8 68 25 3a e7  a4 31 28 4a 24 28 49 25  |%=0.h%:..1(J$(I%|
00000fd0  29 2c a3 29 e5 8d 64 40  43 0d 03 ac 84 f1 22 57  |),.)..d@C....."W|
00000fe0  72 69 74 69 6e 67 20 22  2b 24 63 25 2b 22 2e 22  |riting "+$c%+"."|
00000ff0  2b 4a 24 28 49 25 29 3a  f2 40 28 22 53 41 56 45  |+J$(I%):.@("SAVE|
00001000  20 22 2b 4a 24 28 49 25  29 2b 22 20 22 2b c3 7e  | "+J$(I%)+" "+.~|
00001010  28 6b 30 25 28 49 25 29  29 2b 22 2b 22 2b c3 7e  |(k0%(I%))+"+"+.~|
00001020  28 6c 30 25 28 49 25 29  29 2b 22 20 22 2b c3 7e  |(l0%(I%))+" "+.~|
00001030  28 6d 30 25 28 49 25 29  29 2b 22 20 22 2b c3 7e  |(m0%(I%))+" "+.~|
00001040  28 6e 30 25 28 49 25 29  29 29 3a e7 66 30 25 28  |(n0%(I%))):.f0%(|
00001050  49 25 29 80 26 42 3d 33  e5 8d 64 40 43 0d 03 b6  |I%).&B=3..d@C...|
00001060  33 24 6b 25 3d 4a 24 28  49 25 29 3a 21 65 25 3d  |3$k%=J$(I%):!e%=|
00001070  6b 25 3a 65 25 21 26 45  3d 66 30 25 28 49 25 29  |k%:e%!&E=f0%(I%)|
00001080  3a f2 30 28 65 25 29 3a  41 25 3d 34 3a d6 6f 25  |:.0(e%):A%=4:.o%|
00001090  0d 03 c0 1b ed 49 25 3a  78 25 3d 75 25 3a 77 25  |.....I%:x%=u%:w%|
000010a0  3d 67 25 3a 68 25 3d 2d  31 3a e1 0d 03 ca 16 dd  |=g%:h%=-1:......|
000010b0  a4 31 28 24 71 25 2c 48  29 3a e7 48 e5 8d 64 72  |.1($q%,H):.H..dr|
000010c0  43 0d 03 d4 4a 41 25 3d  35 3a f2 30 28 65 25 29  |C...JA%=5:.0(e%)|
000010d0  3a 21 65 25 3d 71 25 3a  41 25 3d 28 ba 6f 25 29  |:!e%=q%:A%=(.o%)|
000010e0  80 26 46 46 3a 61 31 25  3d 28 65 25 3f 31 34 80  |.&FF:a1%=(e%?14.|
000010f0  31 30 29 3a e7 28 41 25  3d 30 29 84 28 41 25 3d  |10):.(A%=0).(A%=|
00001100  31 80 61 31 25 3d 32 29  8c 3d a3 0d 03 de 6d e7  |1.a1%=2).=....m.|
00001110  41 25 3d 32 f1 3b 22 43  61 6e 27 74 20 77 72 69  |A%=2.;"Can't wri|
00001120  74 65 20 66 69 6c 65 20  22 3b 24 71 25 3b 22 20  |te file ";$q%;" |
00001130  2c 20 64 69 72 65 63 74  6f 72 79 20 6f 66 20 74  |, directory of t|
00001140  68 69 73 20 6e 61 6d 65  20 65 78 69 73 74 73 22  |his name exists"|
00001150  27 22 50 52 45 53 53 20  53 50 41 43 45 20 42 41  |'"PRESS SPACE BA|
00001160  52 20 54 4f 20 43 4f 4e  54 49 4e 55 45 22 3a f5  |R TO CONTINUE":.|
00001170  fd a6 2d 39 39 3a 3d b9  0d 03 e8 2a f1 22 44 65  |..-99:=....*."De|
00001180  73 74 69 6e 61 74 69 6f  6e 20 22 3b 24 71 25 3b  |stination ";$q%;|
00001190  22 20 77 72 69 74 65 20  70 72 6f 74 65 63 74 65  |" write protecte|
000011a0  64 22 0d 03 f2 20 f1 22  4f 56 45 52 57 52 49 54  |d"... ."OVERWRIT|
000011b0  45 20 28 59 2f 4e 29 20  3f 22 3b 3a e7 a4 30 8b  |E (Y/N) ?";:..0.|
000011c0  3d b9 0d 03 fc 26 f1 22  41 52 45 20 59 4f 55 20  |=....&."ARE YOU |
000011d0  43 45 52 54 41 49 4e 20  28 59 2f 4e 29 20 3f 22  |CERTAIN (Y/N) ?"|
000011e0  3b 3a e7 a4 30 8b 3d b9  0d 04 06 2a f2 40 28 22  |;:..0.=....*.@("|
000011f0  41 43 43 45 53 53 20 22  2b 24 71 25 29 3a f2 40  |ACCESS "+$q%):.@|
00001200  28 22 44 45 4c 45 54 45  20 22 2b 24 71 25 29 3a  |("DELETE "+$q%):|
00001210  3d a3 0d 04 10 0f dd a4  30 3a 2a 46 58 31 35 2c  |=.......0:*FX15,|
00001220  31 0d 04 1a 26 f5 51 24  3d be 3a 47 3d a7 22 2a  |1...&.Q$=.:G=."*|
00001230  4e 6e 59 79 22 2c 51 24  29 3a fd 47 3e 31 3a f1  |NnYy",Q$):.G>1:.|
00001240  51 24 3a 3d 47 3e 33 0d  04 24 20 dd f2 30 28 62  |Q$:=G>3..$ ..0(b|
00001250  31 25 29 3a 58 25 3d 62  31 25 3a 59 25 3d 58 25  |1%):X%=b1%:Y%=X%|
00001260  81 26 31 30 30 3a e1 0d  04 2e 1a dd f2 40 28 24  |.&100:.......@($|
00001270  64 25 29 3a f2 30 28 64  25 29 3a d6 74 30 25 3a  |d%):.0(d%):.t0%:|
00001280  e1 0d 04 38 35 dd a4 33  28 52 24 29 3a 24 64 25  |...85..3(R$):$d%|
00001290  3d 4c 24 3a 41 25 3d 26  34 30 3a 58 25 3d 64 25  |=L$:A%=&40:X%=d%|
000012a0  3a 59 25 3d 64 25 81 32  35 36 3a 3d ba 28 75 30  |:Y%=d%.256:=.(u0|
000012b0  25 29 80 26 46 46 0d 04  42 21 dd f2 37 3a f6 3a  |%).&FF..B!..7:.:|
000012c0  f1 3a e7 5f 25 3a 63 31  25 3d 5f 25 3a 5f 25 3d  |.:._%:c1%=_%:_%=|
000012d0  30 3a d9 23 63 31 25 0d  04 4c 19 e7 6a 25 3a 64  |0:.#c1%..L..j%:d|
000012e0  31 25 3d 6a 25 3a 6a 25  3d 30 3a d9 23 64 31 25  |1%=j%:j%=0:.#d1%|
000012f0  0d 04 56 14 e7 9f 3d 31  37 84 9f 3d 26 43 36 e5  |..V...=17..=&C6.|
00001300  8d 64 70 40 0d 04 60 05  e1 0d 04 6a 28 dd f2 42  |.dp@..`....j(..B|
00001310  3a f1 22 50 72 65 73 73  20 53 50 41 43 45 20 74  |:."Press SPACE t|
00001320  6f 20 72 65 74 75 72 6e  20 74 6f 20 6d 65 6e 75  |o return to menu|
00001330  22 0d 04 74 10 e7 a5 3c  3e 26 32 30 8c 8d 44 74  |"..t...<>&20..Dt|
00001340  44 0d 04 7e 07 ee 85 87  0d 04 88 0c 2a 46 58 32  |D..~........*FX2|
00001350  30 30 2c 31 0d 04 92 26  ff 28 22 64 69 72 20 3a  |00,1...&.("dir :|
00001360  22 2b 4f 24 2b 22 2e 41  44 46 53 55 54 49 4c 53  |"+O$+".ADFSUTILS|
00001370  22 29 3a d7 22 4d 45 4e  55 22 0d ff              |"):."MENU"..|
0000137c
Library/BASIC/Dircopy.m0
Library/BASIC/Dircopy.m1
Library/BASIC/Dircopy.m2
Library/BASIC/Dircopy.m4
Library/BASIC/Dircopy.m5