10 REM  COPYPR.BAS  Fr}n COPYLIB.BAC  20 REM Bo Engborg <2369> 860105 16.50 30 REM Skriver ut .BAC och ASCII-filer fr}n LIB till Epsonskrivare 31 REM Hoppar |ver .ABS-filer om valda 40 T%=100% : DIM G$(T%)=14%,H$(T%)=14%,H%(T%),P$=20% 41 P$='PR:VSA30D72.6' : REM Printerparametrar 50 ; CHR$(12%) 60 ; ' COPYPR ' 70 ; : ; 80 ONERRORGOTO 80 90 ; 'Fr}n drive '; : GET D$ : ; D$ 100 ; : ; 'Y Ja Kopiera denna fil' : ; 'Y=n Ja n=antal (till Pr:)' 110 ; 'Y=ANNAN.FIL Nytt filnamn' : ; 'X uthopp g|r ingenting' 120 ; 'A Resten av skivan Copy' : ; 'I Ignore resten av Skivan' 130 REM 140 D1%=VAL(D$) 150 D2%=D1% 160 D%=D1% 170 POKE -767%,D% 180 Z%=CALL(24678%,224%) 190 IF PEEK(-747%) AND 128% THEN 730 200 PRINT #P% 210 PRINT #P%'Drive: 'CHR$(D%+48%) 220 IF PEEK(-747%) THEN 760 230 S%=0% 240 FOR I%=-2816% TO I%+160% 250 IF PEEK(I%)=0% THEN S%=S%+8% 260 NEXT I% 270 Z%=CALL(24678%,192%) 280 IF PEEK(-747%) THEN 760 290 FOR I%=0% TO 7% 300 A%(I%)=PEEK(-2577%+I%) 310 NEXT I% 320 S1%=0% 330 FOR I%=-2816% TO I%+160% 340 IF PEEK(I%)=255% THEN 380 350 FOR J%=0% TO 7% 360 S1%=S1%-((PEEK(I%) AND (2%^J%))=0%) 370 NEXT J% 380 NEXT I% 390 Z%=CALL(24678%,0%) 400 IF PEEK(-747%) THEN 760 410 N$='' 420 FOR I%=-2681% TO -2561% 430 IF PEEK(I%)=13% AND PEEK(I%+1%)=10% THEN 480 440 IF PEEK(I%)<32% OR PEEK(I%)>127% THEN N$='' : GOTO 480 450 N$=N$+CHR$(PEEK(I%)) 460 NEXT I% 470 N$='' 480 REM 490 IF LEN(N$)>1% THEN PRINT #P%'Volym: 'N$ 500 PRINT #P%S1%' av'S%' sektorer lediga' 510 FOR I%=0% TO 7% 520 IF A%(I%)<2% THEN 710 530 Z%=CALL(24678%,512%+I%*32%) 540 IF PEEK(-747%) THEN 760 550 FOR J%=-2800% TO -2576% STEP 16% 560 IF PEEK(J%)=0% OR PEEK(J%)=255% THEN 700 570 R%=PEEK(J%)*256%+PEEK(J%+1%) 580 F$='' 590 FOR K%=4% TO 14% 600 IF K%=12% THEN F$=F$+'.' 610 F$=F$+CHR$(PEEK(J%+K%)) 620 NEXT K% 630 IF B9%=1% THEN ; #P%F$' Y' : GOSUB 780 : GOTO 700 640 ; #P%F$;' '; : INPUT W$ 650 IF W$='' 700 660 W1$=LEFT$(W$,1%) : IF W1$='y' OR W1$='Y' THEN GOSUB 780 670 IF W1$='x' OR W1$='X' THEN END 680 IF W1$='i' OR W1$='I' THEN 720 690 IF W1$='a' OR W1$='A' THEN B9%=1% ELSE B9%=0% 700 NEXT J% 710 NEXT I% 720 GOTO 880 : REM Slut annan rutin x%=antal,h$()=filnamn,g$()annat filnamn 730 REM  felrutiner  740 IF F%=1% THEN PRINT : PRINT 'S = Skrivskyddad R = Raderskyddad' 750 END 760 IF PEEK(-747%)=16% PRINT 'Skivan verkar d}ligt formaterad' ELSE PRINT 'Diskfel' 770 END 780 REM  fil att kopiera bac-bas  790 X%=X%+1% : H%(X%)=1% 800 H$(X%)=F$ 810 IF ASC(RIGHT$(W$,2%))=61% THEN GOSUB 840 : REM annan fil 820 G$(X%)=F$ : H$(X%)=F$ 830 RETURN 840 REM  annan fil  850 IF ASC(RIGHT$(W$,3%))-48%<58% THEN H%(X%)=ASC(RIGHT$(W$,3%))-48% : RETURN 860 H$(X%)=RIGHT$(W$,3%) 870 RETURN 880 REM ************************* 890 REM * Visar txtfil p} sk{rm * 900 REM * eller printer * 910 REM * Namn -visa.lop- * 920 REM * Bos Engborg 851224 15.35 (Kalle Anka p} TV) 930 REM ************************* 940 ; CHR$(12%) 950 DIM R$=40%,D$=65%,B$=200%,Q0$=253%,B1$=253% 960 IF PEEK(28677%)<>113% THEN ; : ; 'Datum '; : INPUT N1$ 970 GOSUB 1690 : REM L{gg in maskinkod f|r }terlistad rad 980 FOR C%=1% TO X% 990 ONERRORGOTO 1390 1000 FOR J%=1% TO H%(C%) 1010 REM 1020 ; "VISA filnamn:";G$(C%) : Y%=PEEK(65011%) : REM Rad f|r Info 1030 D$=G$(C%)+' .....' 1040 G%=0% 1050 REM 1060 P9%=4% : P%=33% : REM P9%=V{nstermarginal 1070 OPEN 'DR'+RIGHT$(NUM$(10%+D%),3%)+':'+G$(C%) ASFILE 1 1080 A%=62722% : A1%=0% : G%=0% : L%=0% : F5%=0% 1090 A%=A%+2% 1100 IF (PEEK(A%) AND PEEK(A%+1%))=255% THEN 1110 ELSE A1%=A1%+(PEEK(A%+1%) AND 31%) : GOTO 1090 1110 A1%=A1%+1% : REM Antal sektorer storlek 1120 Z%=CALL(28666%,1%)+CALL(28668%,0%) : REM L{s in f|rsta sektorn 1130 IF (ASC(Q0$) OR 1%)=131% THEN F1%=1% 1140 IF ASC(Q0$)=0% F1%=0% 1150 IF ASC(Q0$)<>0% AND ASC(Q0$)<128% F1%=2% 1160 REM f1%=0, .ABS-fil.. f1%=1%, .BAC-fil.. f1%=2%, .TXT-fil 1170 IF F1%=0% THEN CLOSE 1 : ; 'OBS .ABS-fil n{sta fil'; : GOTO 1390 1180 OPEN P$ ASFILE P% 1190 GOSUB 1470 : REM Huvud 1200 FOR I%=1 TO 10000 1210 IF P%=0% AND INT(E%/21%)=E%/21% GET C$ 1220 ONERRORGOTO 1330 1230 IF P%<>0% ; CUR(Y%,1%)'Sida-'G%'- Rader 'RIGHT$(NUM$(10000%+I%),3%)' R{kn.'E% 1240 E%=E%+1% : REM Radr{knare 1250 IF F1%=1% GOSUB 1530 : IF F5%=2% 1350 ELSE 1270 : REM .BAC-fil 1260 INPUTLINE #1,B$ : B$=LEFT$(B$,LEN(B$)-2%) 1270 IF LEN(B$)>80-P9% E%=E%+1% 1280 IF LEN(B$)>80-P9% C$=RIGHT$(B$,80-P9%) : B$=LEFT$(B$,79-P9%) : ; #P%TAB(P9%)B$ : ; #P%TAB(P9%)C$ : GOTO 1300 1290 ; #P%TAB(P9%)B$ 1300 IF E%>65% GOSUB 1450 1310 IF F5% THEN 1350 : REM flagga slut p} fil 1320 NEXT I% 1330 IF ERRCODE=34% THEN 1350 ELSE ; "Fel nr:"ERRCODE 1340 GOTO 1360 1350 ; "Antal=";I%-1 : ; #P% : ; #P%TAB(P9%)'Antal rader'I%-1% 1360 CLOSE 1 : ; #P%CHR$(12%); : CLOSE P% 1370 ONERRORGOTO 0 1380 NEXT J% 1390 NEXT C% 1400 END 1410 REM  Eventuell klocka i Eprom  1420 IF PEEK(28677%)<>113% ; #P%N1$ : RETURN 1430 Z%=CALL(29608%)+CALL(29914%) 1440 RETURN 1450 REM  Ny sida  1460 ; #P%CHR$(12%); 1470 REM  Huvud  1480 E%=3% : G%=G%+1% 1490 ; #P%TAB(P9%)D$; : GOSUB 1410 : ; #P%TAB(66%)'Sida -'G%'-' 1500 ; #P%TAB(P9%)'Filens storlek'A1%' sektorer' 1510 ; #P% 1520 RETURN 1530 REM  .BAC-fil  1540 IF L%=0% Q0$='' : GOSUB 1620 : Q0$=RIGHT$(Q0$,2%) : REM L{st post 1550 L1%=ASC(Q0$) : IF F5%=2% RETURN 1570 B1$=LEFT$(Q0$,L1%) : Q0$=RIGHT$(Q0$,L1%+1%) 1580 IF L1%=1% THEN F5%=2% : RETURN 1590 IF L1%=0% GOSUB 1620 : GOTO 1550 1600 Z%=CALL(64512%) : REM L{gg }terlistad rad fr}n b1$ i b$ 1610 RETURN 1620 REM  L{s post i .BAC-fil  1630 ONERRORGOTO 1650 1640 GOTO 1660 1650 F5%=2% : ONERRORGOTO 0 : GOTO 1680 1660 REM 1670 Z%=CALL(28666%,1%)+CALL(28668%,L%) : L%=L%+1% 1680 RETURN 1690 REM  Maskinkod }terlistad rad  9000 POKE -1024%,221%,229%,205%,32%,252%,221%,229%,235%,213%,205%,42%,252%,205%,149%,17% 9001 POKE -1009%,235%,209%,237%,82%,77%,68%,221%,225%,221%,113%,8%,221%,112%,9% 9002 POKE -995%,221%,225%,201%,6%,66%,14%,242%,205%,52%,252%,208%,215%,129% 9003 POKE -982%,6%,66%,14%,18%,205%,52%,252%,208%,215%,129%,42%,41%,254% 9004 POKE -969%,124%,181%,55%,200%,221%,42%,41%,254%,221%,110%,2%,221%,102%,3% 9005 POKE -955%,221%,126%,1%,184%,32%,20%,221%,126%,0%,185%,32%,14%,221%,78%,8% 9006 POKE -940%,221%,70%,9%,221%,110%,6%,221%,102%,7%,24%,10%,229%,221%,225% 9007 POKE -926%,125%,180%,55%,40%,3%,24%,214%,167%,0%,201% 9008 RETURN