L0€‚SELCOPY(C)A&T-SOFT Щ№`hЊhЈh`H˜HŠHБђЩSаяШБђЩCашШБђЩCасШБђЩ акЅ…qЉ‚…sЉ…p…r џЅsЩ”№ШБr‘pРџаёцqцsъШР№Бr‘pєЂЉŠ O єџ L єџ D єџ  єџ R єџ U єџ N єџ  єџhЊhЈhЉ` 22ы7:ёŠ5,2)Н129"S e l e c t i v e C o p i e r"' <ёН130"Source drive (0_3) "; F'SD%=Ѕ-48:чSD%<0„SD%>3ŒDF@‹ёУ(SD%)' P$ёН130"Destination drive (0_3) "; Z(DD%=Ѕ-48:чDD%<0„DD%>3ŒDZ@ ‹ёУ(DD%)' dёН130"Is this OK ? (Y/N) "; n A$=О:чA$="N"Œљ‹чA$<>"Y"ŒDn@ x ёA$'' ‚‚чSD%=DD%ё"Insert source disk in drive ";SD%'"& push"Н131"RETURN";:‹ё"Insert source and destination disks"'"&push"Н131"RETURN"; Œ ѕ§Ѕ=13:ё –ђassemble_read_cat   жreadcat Њ-чblk?10<>0Œя7:л:ёŠ5,5)"Disk Read Error":њ Дђdecode_cat Ођassemble_sort_code Шжsort,E%,NAME$(0) вђdisplay_cat м ђmark_cat цђsetup_copy №ђassemble_mccopy њ5чN%=0ŒёŠ5,2)Н129"No Files Selected for Copying":р %ёŠ5,2)Н129"Commencing Copying..." " *FX15 ,*FX138,0,67 6*FX138,0,65 @*FX138,0,76 J*FX138,0,76 T*FX138,0,38 ^*FX138,0,49 h*FX138,0,52 r*FX138,0,48 |*FX138,0,48 †*FX138,0,13 я21 šр шнђassemble_read_cat ђ оBUF%&200,readcat&50,sort&D0 ќosword=&FFF1  уZ%=0И3ˆ2 P%=readcat  [OPTZ% $*LDA #&7F:LDX# blk ƒ 256:LDY #blk  256 .JMP osword 8 .blk:] LD?P%=SD%:P%!1=BUF%:P%?5=3:P%?6=&53:P%?7=0:P%?8=0:P%?9=&22:P%?10=0 Vэ `с анђdecode_cat кE%=(BUF%?&105)/8 фоNAME$(E%-1),C(E%-1) юуZ%=0ИE%-1 ј уY%=0И6 -NAME$(Z%)=NAME$(Z%)+Н(BUF%?(Y%+8*(Z%+1)))  э *7D%=BUF%?(Y%+8*(Z%+1)):чD%=0ŒD%=32‹чD%=&80ŒD%=&80+32 >WчD%<128ŒNAME$(Z%)=Н(D%)+"."+NAME$(Z%):‹D%=D%€&7F:NAME$(Z%)=Н(D%)+"."+NAME$(Z%)+" L" Hэ Rс Инђdisplay_cat Т,л:ёŠ5,1)Н129"F i l e S e l e c t i o n" Ь ёŠ0,4); жуZ%=0ИE%-1ˆ2 рLёŠ1)NAME$(Z%)Š12)Н131" "Н135;:чZ%<=E%-2ŒёŠ20);NAME$(Z%+1)Š31)Н131" "Н135 ъэ єё ўс  нђmark_cat Дя23,1,0;0;0;0; ОШёŠ0,21)Н130"Select file with"Н131"["Н130"using cursor keys"'Н131"SPACEBAR"Н130"marks file for copying"'Н130"Use"Н131"DELETE"Н130"for corrections"'Н131"@"Н130"ends selection and initiates copying"; в *FX4,1 ц *FX12,20 № *FX11,20 њ X=13:Y=4  ёŠX,Y)"[" ѕ "Z=Ѕ TXчZ=138€Ќ((Y=3+(E%+1)2-1)€(X=32)€(E%ƒ2=1))€Ќ(Y>2+(E%+1)2)ŒёŠX,Y)" ":Y=Y+1:ёŠX,Y)"[" h(чZ=139€Y>4ŒёŠX,Y)" ":Y=Y-1:ёŠX,Y)"[" |<чZ=137€Ќ((Y=3+(E%+1)2)€E%ƒ2=1)ŒёŠX,Y)" ":X=32:ёŠX,Y)"[" #чZ=136ŒёŠX,Y)" ":X=13:ёŠX,Y)"[" Є-чZ=32ŒёŠX-13,Y)Н130:C(2*(Y-4)+1+(X=13))=1 И-чZ=127ŒёŠX-13,Y)" ":C(2*(Y-4)+1+(X=13))=0 Ь §Z=64 р *FX12 ъё ў*FX4 я23,1,1;0;0;0; с ˆнђsetup_copy Іл АK%=&1200:N%=0 КуZ%=0ИE%-1 ФчC(Z%)=0ŒdbS Ю$K%=РNAME$(Z%),9) иK%=K%+10:N%=N%+1 тэ ьс pнђassemble_sort_code Ќ~LOOPCOUNTH=&70:FIRST=&71:SECOND=&73:TEMP=&75:ADDRESS=&76:NUMBER=&78:STORE1=&7A:STORE2=&7C:LGTH1=&7E:LGTH2=&7F:OSWRCH=&FFEE ЖуI%=0И2ˆ2:P%=sort Р [OPTI% Ъ LDA&600 д CMP#2 оBNE MISTAKE ш LDA&603 ђ CMP#4 ќBNE MISTAKE  LDA&606  CMP#&81  BEQ OK $ .MISTAKE .LDA#—("?") 8JSR OSWRCH BRTS L.OK V LDA&601 ` STA FIRST j LDA&602 tSTA FIRST+1 ~ LDY#0 ˆLDA(FIRST),Y ’SEC œ SBC#1 ІSTA NUMBER АINY КLDA(FIRST),Y Ф SBC#0 ЮSTA NUMBER+1 и .LOOP3 т LDA&604 ьSTA STORE2 і LDA&605 STA STORE2+1  LDX#0 STX LOOPCOUNTH  .LOOP4 ( LDY#0 2LDA STORE2+1 <STA STORE1+1 FLDA STORE2 PSTA STORE1 ZCLC d ADC#4 nSTA STORE2 xBCC NOCARRY3 ‚INC STORE2+1 Œ .NOCARRY3 –LDA(STORE1),Y   STA FIRST ЊLDA(STORE2),Y ДSTA SECOND ОINY ШLDA(STORE1),Y вSTA FIRST+1 мLDA(STORE2),Y цSTA SECOND+1 № LDY#3 њLDA(STORE1),Y  STA LGTH1 LDA(STORE2),Y  STA LGTH2 " LDY#0 , .LOOP5 6?LDA(SECOND),Y:CMP#97:BCC normal:SEC:SBC#32:.normal STA TEMP @.LDA(FIRST),Y:CMP#97:BCC normal2:SEC:SBC#32 J.normal2 CMP TEMP TBCC NEWRECORD ^ BNE SWAP hINY r CPY LGTH1 |BEQ NEWRECORD † CPY LGTH2  BEQ SWAP š BNE LOOP5 Є .PIVOT1 Ў BPL LOOP3 И .PIVOT2 Т BNE LOOP3 Ь .SWAP ж LDY#3 р .LOOP6 ъLDA(STORE1),Y є STA TEMP ўLDA(STORE2),Y STA(STORE1),Y  LDA TEMP STA(STORE2),Y &DEY 0 BPL LOOP6 :.NEWRECORD DINX NBNE NTZERO XINC LOOPCOUNTH b .NTZERO lCPX NUMBER v BNE LOOP4 €LDA LOOPCOUNTH ŠCMP NUMBER+1 ” BNE LOOP4 žDEC NUMBER ЈBEQ LOWZERO ВLDA NUMBER М CMP#&FF ЦBNE PIVOT2 аDEC NUMBER+1 кBPL PIVOT1 ф .LOWZERO юLDA NUMBER+1 јBNE PIVOT2 RTS  ]эI% с @нђassemble_mccopy Joscli=&FFF7 T уZ%=0И3ˆ2 r&P%=&1400:copylist=&70:numfiles=&72 | [OPT Z% †LDA#6:JSR&FFEE LDA #N%:BNE ok:RTS š@.ok STA numfiles:LDA #0:STA copylist:LDA #&12:STA copylist+1 Є3LDA #SD%+&30:STA dinfo:LDA #DD%+&30:STA dinfo+1 Ў.nxfile LDY #9 И7.nxfile2 LDA (copylist),Y:STA buf,Y:DEY:BPL nxfile2 Т)LDX #osc ƒ256:LDY #osc 256:JSR oscli ЬNLDA #10:CLC:ADC copylist:STA copylist:LDA #0:ADC copylist+1:STA copylist+1 жDEC numfiles:BNE nxfile рRTS ъ .osc:] 4$P%="COPY":P%=P%+4:dinfo=P%:?P%=0:P%?1=0:P%?2=32 P%=P%+3:buf=P% э &с џџD%џџїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџїџџџџџџџџџџџџџџџџџїџџџџџџџџџЗџџџџ?џџџџџџџџџџџџџџџџџpџџPџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџѓџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџѓћџџџџџџџџџџџџџџџџѓџџџћџџџџџsџџџџџџџџџџџџџџџџџџџџџPћџџћџџџџџџћџџџџџџџџџџџџџџџџџџџџ§џџџџџџџџџџџџџџџџџџџџ§џџџџџџџџџџџџџ§џџџџџџџџџџџџџџџџџџџџџџџџџџџџџяџџџџ§џџџџџџџџџџџџџџџџџџџџџџџџяџџџџџџџџџџџџџџяџџџџџџџџџџџџџџџџџџџџџџџ§џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ§џџџџџџџџџџџџџџџџџџџџџџџџџџџџџяџџџџ§џˆџџџџџ@џџџџџџџџџџџџџџџџџџЏџџџџџџџџџџџџџџяџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџћџџџџџџџџџџџџџџџџџџџџџџћџџџџџџџћћџџџџџџџџџџџџџџџџћџџџPћџџџџџћџџџџПџџџџџџџџџџџџџџџџџpћџPџћџџ"Pџџџџћџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ0џџџџџџџџџџџџџџџџПџџџџџџџџџџџџџџџџџpџџPџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ§џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ§џџџџџџџџџџџџџџџџџџџџџџџџџџџ§џџџџџџ§џџџџџџџџџџџџџџџџџџџџџџџџЏџџџџџџџџ§џџџџџџџџџџџџџџџџџџџџџџџџџџџџџќџџџџџџџџџџџџџџџџџџџџќџџџџџџџџџџџџџќџџџџџџџџџџџџџџџџџџџџџџџџџџџќџяџџџџќџˆџџџџџ@џџџџџџџџџџџџџџџџќ§яџџџ§џџџќќџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџћџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџћџџџџџџџџџџџџџџџџџћџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpџџPџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџћџџџџџџџџџџџџџџџџџџџџџћћџџџџџџџћћџџџџџџџџџџџџџџџџћџџџћџџџџџ;џџџџџџџџџџџџџџџџџџџџџћџџћџџџџџџћџџџџџџџџџџџџџџџџџџџџќџџџџџџџџџџџџџџџџџџџџќџџџџџџџџџџџџџ§џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџќџˆџџџџџ@џџџџџџџџџџџџџџџџќџЯџџџџџџџўџџџџџџяџџџџџџџџџџџџџџџџџџџџџџџќџџџџџџџџџџџџџџџџџџџџќџџџџџџџџџџџџџќџџџџџџџџџџџџџџџџџџџџџџџџџџџќџя џџџџќџˆџџџџџџџџџџџџџџџџџџџџџќџЯџџџџџџџўќџџџџџпџџџџџџџџџџџџџџџџџџџ