10 REM BASTOCAS 15 REM Program av Gunnar Tidner, 1980-10-20 20 DIM B$=119 30 B0%=-2816% 40 ; CHR$(12)CUR(2,0)"Detta program kopierar alla filer med" 50 ; "samma extension fr}n disk till kassett" 60 ; CUR(6,0)"Enter Extension /BAS/:"; : K1$=' ' : K2$=' ' : K3$=' ' 70 GET K1$ : ; K1$; : IF K1$=CHR$(13%) K1$='BAS' : GOTO 110 ELSE IF K1$>'^' K1$=CHR$(ASC(K1$)-32%) 80 GET K2$ : ; K2$; : IF K2$=CHR$(13%) K2$=' ' : GOTO 100 ELSE IF K2$>'^' K2$=CHR$(ASC(K2$)-32%) 90 GET K3$ : ; K3$; : IF K3$=CHR$(13%) K3$=' ' ELSE IF K3$>'^' K3$=CHR$(ASC(K3$)-32%) 100 K1$=K1$+K2$+K3$ 110 ; CHR$(12);"Alla filer med ext.=";K1$;" kopieras" 120 ; "till kassett fr}n drive?" 130 ; : ; "0 Drive 0" 140 ; : ; "1 Drive 1" 150 ; : ; "2 B}da" 160 ; : ; "V{lj:"; : GET \$ 170 IF \$<'0' OR \$>'2' THEN 110 180 IF \$='0' THEN D0%=0 : D1%=0 190 IF \$='1' THEN D0%=1 : D1%=1 200 IF \$='2' THEN D0%=0 : D1%=1 210 ; "[r bandspelaren klar? (J/N):"; : GET \$ : ; \$ 220 IF (ASC(\$) AND 223%)=74 THEN ; CHR$(12) ELSE 210 230 FOR D%=D0% TO D1% : ; "Fr}n drive";D%;':' : POKE -767%,D% 240 GOSUB 490 : IF S1%<>0% THEN 400 250 R%=1% : T%=2% : FOR S%=0% TO 7% 260 IF M%(S%)<2% 360 ELSE GOSUB 440 270 IF S1%<>0% 520 ELSE B%=-2816+1024% 280 FOR N%=1% TO 16% : GOSUB 410 290 IF (ASC(N$)=255%) OR (ASC(N$)=0%) 350 300 K2$=MID$(N$,5%,8%) 310 IF RIGHT$(K2$,LEN(K2$))=' ' K2$=LEFT$(K2$,LEN(K2$)-1%) : GOTO 310 320 K2$=K2$+'.'+MID$(N$,13%,3%) 330 IF MID$(N$,13%,3%)<>K1$ 350 340 GOSUB 530 350 NEXT N% 360 NEXT S% 370 NEXT D% 380 OUT 58,32 : OUT 6,7 : FOR T=1 TO 3000 : NEXT T : OUT 6,0 : OUT 58,0 390 END 400 REM SUB 410 N$="" : FOR I%=0% TO 15% 420 N$=N$+CHR$(PEEK(B%+I%)) : NEXT I% 430 B%=B%+16% : RETURN 440 S1%=CALL(24678%,SWAP%(T%)+S%*32%) 450 FOR J%=B0% TO B0%+255% 460 POKE J%+1024%,PEEK(J%) 470 NEXT J% 480 S1%=PEEK(-747%) : RETURN 490 T%=0% : S%=6% : GOSUB 440 500 B%=-2577%+1024% : FOR I%=0% TO 7% 510 M%(I%)=PEEK(B%+I%) : NEXT I% : RETURN 520 ; "Diskfel Drive:"D%,S1% : STOP 530 REM SUB kopiera K2$ till CAS : 540 ; K2$;" start" 550 OPEN 'DR'+CHR$(D%+48%)+':'+K2$ ASFILE 1 560 PREPARE "CAS:"+K2$ ASFILE 2 : L%=2 570 FOR Z=1 TO 3000 : NEXT Z 580 ONERRORGOTO 630 590 FOR J%=1 TO 10000 600 INPUTLINE #1,B$ : B$=LEFT$(B$,LEN(B$)-2%) 610 ; #L%,B$ 620 NEXT J% 630 IF ERRCODE=34 THEN CLOSE 2 : CLOSE 1 ELSE ; "Fel nr";ERRCODE : STOP 640 REM POKE -456%,0 : rem Nollst{ll ERRCODE 650 ; CHR$(7);K2$;" kopierad!" 660 RETURN