1 REM Ins{nd av Bengt Holgersson <559> 1986-01-27 21.47.22 10 F%=1% : REM Filnummer f|r utfil (0=Bildsk{rm) 20 REM Bengt Holgersson 850717 30 REM Fungerar p} 40-sp}rs drivar 40 REM t.ex. ABC830, FD2, FD2D och dyl. 50 ; 'CPMABC' 60 ; 'Detta program kopierar textfiler fr}n' 70 ; 'CP/M-skiva i DR1: till ABC-skiva i DR0:' 80 ; 'Alla filnamn p} CP/M skivan kommer' 90 ; 'att r{knas upp. Skriv J efter de filer' 100 ; 'som ska kopieras.' : ; 110 REM  H[MTA DIR  120 FOR S1%=32% TO 39% 130 POKE 64769%,1% : REM DRIVE 1 140 POKE 64786%,0%,249% : REM DOSBUF 4 150 Z%=CALL(24678%,32%*S1%) 160 POKE 64786%,0%,245% : REM DOSBUF 0 170 IF PEEK(64789%) ; 'ABT CODE'PEEK(64789%) : GOTO 810 180 FOR P1%=63744% TO 63968% STEP 32% 190 P4%(N2%)=P1% : P5%(N2%)=S1% : IF N2% GOTO 210 200 E%=0% : N2%=0% 210 IF PEEK(P1%) GOTO 310 220 IF PEEK(P1%+12%)<>N2% GOTO 310 230 IF PEEK(P1%+1%)<33% GOTO 310 240 F$='' : FOR I%=1% TO 11% : P6%=PEEK(P1%+I%) 250 IF P6%>31% AND P6%<96% F$=F$+CHR$(P6%) ELSE GOTO 310 260 IF I%=8% F$=F$+'.' 270 NEXT I% 280 IF N2% GOSUB 390 : P1%=P4%(N2%) : S1%=P5%(N2%) : GOTO 310 290 ; CHR$(13%)'CP/M fil 'F$' ?'; : POKE 65013%,0% 300 INPUTLINE T$ : IF (ASC(T$) AND 95%)=74% GOSUB 330 : GOSUB 390 310 NEXT P1% : NEXT S1% 320 GOTO 810 330 REM  PREPARE UTFIL  340 ; CHR$(13%)'CP/M fil 'F$' -> ABC fil ('F$') ?'; : POKE 65013%,0% 350 INPUTLINE F2$ : F2$=LEFT$(F2$,LEN(F2$)-2%) : IF F2$='' OR (ASC(F2$) AND 95%)=74% F2$=F$ 360 IF INSTR(1%,F2$,':')=0% F2$='DR0:'+F2$ 370 ; : PREPARE F2$ ASFILE F% 380 RETURN 390 REM  KOPIERA EXTENT  400 FOR P2%=P1%+16% TO P1%+31% 410 IF PEEK(P2%)=0% GOTO 500 420 S2%=PEEK(P2%)*4%+32% 430 FOR S3%=S2% TO S2%+3% 440 GOSUB 600 : IF E% GOTO 500 450 NEXT S3% 460 NEXT P2% 470 REM  FILEN HAR FLER EXTENT  480 F1$=F$ : N2%=N2%+1% 490 RETURN 500 REM  FILEN SLUT  510 CLOSE F% : IF N2%=0% RETURN 520 REM  ]TERST[LL DIR  530 N2%=0% 540 POKE 64769%,1% : REM DRIVE 1 550 POKE 64786%,0%,249% : REM DOSBUF 4 560 Z%=CALL(24678%,32%*P5%(0%)) 570 POKE 64786%,0%,245% : REM DOSBUF 0 580 IF PEEK(64789%) ; 'ABT CODE'PEEK(64789%) : GOTO 810 590 RETURN 600 REM  KOPIERA BLOCK  610 POKE 64769%,1% : REM DRIVE 1 620 POKE 64786%,0%,247% : REM DOSBUF 2 630 Z%=CALL(24678%,32%*S3%) 640 POKE 64786%,0%,245% : REM DOSBUF 0 650 IF PEEK(64789%) ; 'ABT CODE'PEEK(64789%) : GOTO 810 660 FOR P3%=63232% TO 63487% : D3%=PEEK(P3%) 670 IF D3%=26% ; #F% : GOTO 790 680 IF D3%=9% GOSUB 750 : GOTO 730 690 IF D3%=13% ; #F% : N%=0% : GOTO 730 700 IF D3%=10% GOTO 730 710 IF D3%<32% OR D3%>127% ; : ; CHR$(7%)'EJ TEXTFIL !!' : GOTO 790 720 ; #F%,CHR$(D3%); : N%=N%+1% 730 IF F%=0% AND INP(56%)>127% 730 740 NEXT P3% : RETURN 750 REM  EXPANDERA TAB  760 N1%=(N% AND -8%)+8%-N% 770 FOR I%=1% TO N1% : ; #F%,' '; : N%=N%+1% : NEXT I% 780 RETURN 790 REM  SLUT P] FIL  800 E%=-1% : RETURN 810 REM  SLUT P] PROGRAMMET  820 POKE 64786%,0%,245% : REM DOSBUF 0