>> Comunque no, il fatto è che non sono più in grado di programmare sullo >> Spectrum, purtroppo. :-( > >Ma dai, possibile che ti sia scordato tutto? > >Carlo Credo si tratti solo di un po' di ruggine, programmare è come andare in bicicletta: una volta imparato non te lo dimentichi :) La mia idea è più o meno questa.. e' volutamente primitivo per essere leggibile (FATE ATTENZIONE A NON CANCELLARE DISCHETTI PER SBAGLIO !), in questa forma dovrebbe funzionare con i dischi disciple da 80 tracce, 10 settori, 2 facce, 512 byte x settore. Non dovrebbe essere difficile adattarlo a Opus o altri formati (il Microdrive richiede un approccio differente ma se ci sono volontari x i test ci si può provare). Ora l'unica cosa che dovete mettere in conto è il fattore tempo; in questa forma il loop salva 1600 blocchi da 512 byte ! Buon divertimento :P 5 CLEAR 40000: FOR x=0 TO 13: READ a: POKE 50000+x,a: NEXT x 10 PRINT "-r- restore" 20 PRINT "-b- backup" 25 LET k$=INKEY$ 30 IF k$<>"r" AND k$<>"b" THEN GO TO 25 40 IF k$="r" THEN GO TO 2000 50 POKE 50011,194: POKE 50012,4 70 FOR s=1 TO 10 80 FOR t=0 TO 79 100 LOAD @1,t,s,59904 110 PRINT "."; 120 RANDOMIZE USR 50000 130 LOAD @1,t+128,s,59904 140 PRINT "."; 150 RANDOMIZE USR 50000 160 NEXT t 170 NEXT s 1999 STOP 2000 FOR s=1 TO 10 2010 FOR t=0 TO 79 2020 RANDOMIZE USR 50000 2030 PRINT "."; 2040 SAVE @1,t,s,59904 2050 RANDOMIZE USR 50000 2060 PRINT "."; 2070 SAVE @1,t+128,s,59904 2080 NEXT t 2090 NEXT s 9000 DATA 221,33,0,234,17,0,2,62,0,55,205,86,5,201