10 REM ***************************************************
20 REM * * 30 REM * RECUPERATION DE FICHIERS SUPPRIMES * 40 REM * * 50 REM * SUR UNE DISQUETTE * 60 REM * * 70 REM * * 80 REM * Auteur : R.P SPIEGEL - septembre 1985 * 90 REM *************************************************** 100 MEMORY &7FFF:INK 0,0:MODE 2:INK 1,19 110 DATA &21,&37,&80,&cd,&d4,&bc,&22,&34,&80,&79,&32,&36,&80,&1e,&00,&16,&00,&0e,&00,&21,&39,&80,&df,&34,&80,&c9 120 DATA &21,&38,&80,&cd,&d4,&bc,&22,&34,&80,&79,&32,&36,&80,&1e,&00,&16,&00,&0e,&00,&21,&39,&80,&df,&34,&80,&c9 130 DATA &00,&00,&00,&84,&85 140 FOR i=&8000 TO &8038:READ a:POKE i,a:NEXT 150 FOR i=&8039 TO &8239:POKE i,&0:NEXT 160 nt=1:INPUT "NOM DU FICHIER ? ",nm$:l=LEN(nm$):IF l>8 THEN GOTO 160 ELSE IF l=0 THEN END ELSE nm$=UPPER$(nm$) 170 IF l<8 THEN nm$=nm$+" ":l=l+1:GOTO 170 180 INPUT "TYPE DU FICHIER ? ",ty$:l=LEN(ty$):IF l<>3 AND l<>0 THEN GOTO 180 190 IF l=0 THEN nc=8 ELSE nc=11:nm$=nm$+UPPER$(ty$) 200 INPUT "NUMERO DU DRIVE (A ou B) ? ",e$:e$=UPPER$(e$):IF e$<>"A" AND e$<>"B" THEN GOTO 200 210 IF e$="A" THEN POKE &800E,&0:POKE &8028,&0 ELSE POKE &800E,1:POKE &8028,1 220 INPUT "FORMAT DE LA DISKETTE (S=Systeme, D=Data, I=IBM) ? ",e$:e$=UPPER$(e$):IF e$<>"S" AND e$<>"D" AND e$<>"I" THEN GOTO 220 230 IF e$="S" THEN POKE &8010,&2:POKE &802A,&2:POKE &8012,&41:smax=&45:GOTO 260 240 IF e$="D" THEN POKE &8010,&0:POKE &802A,&0:POKE &8012,&C1:smax=&C5:GOTO 260 250 POKE &8010,&1:POKE &802A,&1:POKE &8012,&1:smax=&5 260 CALL &8000 270 ad=&8039 280 nsec=PEEK(&8012) 290 FOR i=1 TO 16:nf$="" 300 FOR j=0 TO nc-1:nf$=nf$+CHR$(PEEK(ad+j+1)):NEXT 310 IF nm$=nf$ AND PEEK(ad)=&E5 THEN nt=0:POKE ad,&0 320 ad=ad+32 330 NEXT i 340 POKE &802C,PEEK(&8012):CALL &801A 350 nsec=nsec+1:IF nsec<=smax THEN POKE &8012,nsec:POKE &802C,nsec:GOTO 260 360 IF nt=1 THEN PRINT "FICHIER NON TROUVE":GOTO 160 370 INPUT "AUTRE FICHIER (O/N) ? ",e$:e$=UPPER$(e$):IF e$<>"O" AND e$<>"N" THEN GOTO 370 380 IF e$="O" THEN GOTO 160 390 END |