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