1 REM ++++++++++++++++++++++++++++++++ 2 REM ! Program .... ERR3940 3 REM ! Utg}va 1.0 81-09-17 4 REM ! av (c) JAN K[RRB[CK 7 REM ! Minne 16 Kbytes f|r flexskiva 8 REM ! Ins{nt av 765 9 REM ++++++++++++++++++++++++++++++++ 10 REM Programmet skriv och rader-skyddar filer p} flexskiva. 11 REM 12 REM Screened by C R LERIN. 13 REM 40 DEFFNT%(X$,Y$)=INSTR(1%,T$(A%),X$)+INSTR(1%,T$(A%),Y$) 50 DIM A%(120%),T$(120%)=2% : Z%=CALL(24678%,512%) 60 GOSUB 430 : ONERRORGOTO 280 : ; : ; TAB(10%)CHR$(13%)'Drive '; : INPUT D% : IF (D% AND 254%) GOTO 60 70 ; : ; 'Fas 1, filnamn.' 80 ; : POKE -767%,D% 90 A%=0% : FOR J%=0% TO 7% 100 Z%=CALL(24678%,512%+J%*32%) 110 IF PEEK(-747%) GOTO 420 120 FOR K%=62736% TO 62960% STEP 16 130 IF PEEK(K%)=255% GOTO 260 140 Q$='' : FOR I%=4% TO 14% 150 Q$=Q$+CHR$(PEEK(K%+I%)) 160 NEXT I% : A%=A%+1% 170 Q$=LEFT$(Q$,8%)+'.'+RIGHT$(Q$,9%) 180 IF (T1% OR T2% OR T3% OR T4%) AND S%=0% ; Q$' ?' : GOTO 220 190 IF S%=0% ; Q$' '; : INPUT T$(A%) ELSE IF T$(A%)<>'' GOSUB 290 : GOSUB 370 200 IF FNT%('X','x') GOTO 280 210 IF FNT%('I','i') T$(A%)='' : GOTO 270 220 IF T1% OR FNT%('DA','da') T1%=1% : T$(A%)='D' 230 IF T2% OR FNT%('SA','sa') T2%=1% : T$(A%)='S' 240 IF T3% OR FNT%('RA','ra') T3%=1% : T$(A%)='R' 250 IF T4% OR FNT%('CA','ca') T4%=1% : T$(A%)='C' 260 NEXT K% : NEXT J% 270 IF S%=0% ; : ; 'Fas 2, status.' : ; : S%=1% : T%=0% : GOTO 90 280 END 290 IF INSTR(1%,'acdsrACDSR',T$(A%))=0% GOTO 360 300 IF FNT%('C','c') GOTO 360 310 IF FNT%('D','d') POKE K%+1%,(PEEK(K%+1%) AND 252%) 320 IF FNT%('S','s') POKE K%+1%,(PEEK(K%+1%) OR 1%) 330 IF FNT%('R','r') POKE K%+1%,(PEEK(K%+1%) OR 2%) 340 Z%=CALL(24675%,256%+J%*32%)+CALL(24675%,512%+J%*32%) 350 IF PEEK(-747%) GOTO 420 360 RETURN 370 ; Q$' '; 380 IF PEEK(K%+1%) AND 1% ; 'skrivskyddad.' : GOTO 410 390 IF PEEK(K%+1%) AND 2% ; 'raderskyddad.' 400 IF (PEEK(K%+1%) AND 3%)=0% ; 'oskyddad.' 410 RETURN 420 ; 'Diskfel drive';D%' !!!' : GOTO 280 430 ; CHR$(12%)'* ABC80 ERR3940 Vers 1.0 *' 440 ; : ; 'Till}tna kommandon:' 450 ; : ; 'C = Check, status p} skydd.' 460 ; 'D = Delete, ta bort skydd.' 470 ; 'S = Skrivskydda filen.' 480 ; 'R = Raderskydda filen.' 490 ; 'I = Ignorera efterf|ljande filer.' 500 ; 'X = Exit, ingen }tg{rd.' 510 ; 'A Efter option = ALLA.' 520 ; 'Return, ingen }tg{rd p} filen.' 530 RETURN