home *** CD-ROM | disk | FTP | other *** search
Wrap
10 DEFINT a-z:MODE 2:TRACK=&A000+10:SECT=&A000+12:ADR=&A000+6 20 PRINT"CPC2PC (restore part) v1.0 (c)1997 Stra 30 INPUT"Disk number ";discnumber 40 PRINT"Data or Vendor format ? "; 50 a$=UPPER$(INKEY$) 60 IF a$="D"THEN format=&C0:PRINT"DATA":GOTO 90 70 IF a$="V"THEN format=&40:PRINT"VENDOR":GOTO 90 80 GOTO 50 90 INPUT"INSERT !BLANK! DESTINATION DISK...THEN PRESS [RETURN]",a$ 100 |TAPE.IN:MEMORY &1FFF:a=&A000 110 READ d$:IF d$<>"fin"THEN POKE a,VAL("&"+d$):a=a+1:GOTO 110 120 DATA 0e,07,cd,0f,b9,21,00,40,11,00,00,0e,00,cd,4e,c6,0e,00,c3,0f,b9,01,FF,00,2a,00,7a,c5,1a,2f,4f,13,1a,2f,47,13,09,c1,0b,78,fe,ff,20,ef,22,00,7a,c9,fin 130 FOR pt=0 TO 39 STEP 5 140 file$="DISK"+HEX$(discnumber,2)+HEX$(pt,2)+".TRK" 150 PRINT"Reading file : "file$ 160 LOAD file$,&2000 170 ch0a=PEEK(&7A01):ch0b=PEEK(&7A00) 180 POKE &7A00,0 190 POKE &7A01,0 200 adresse=&2000 210 FOR p=pt TO pt+4 220 PRINT"Writing track :"p"/"; 230 FOR s=format+1 TO format+9 240 POKE TRACK,p 250 POKE SECT,s 260 POKE ADR,adresse MOD 256 270 POKE ADR+1,adresse/256 280 PRINT" "HEX$(s); 290 CALL &A015,adresse 'calcul du checksum 300 CALL &A000 'ecrire secteur 310 adresse=adresse+512 320 NEXT s 330 PRINT 340 NEXT p 350 ch1a=(NOT PEEK(&7A01))AND 255:ch1b=(NOT PEEK(&7A00))AND 255 360 IF ch0a<>ch1a OR ch0b<>ch1b THEN PRINT"! Checksum Error ! "HEX$(ch0a,2)+HEX$(ch0b,2)"<>"HEX$(ch1a,2)+HEX$(ch1b,2) ELSE PRINT"* CERTIFIED * Checksum OK..."HEX$(ch0a,2)+HEX$(ch0b,2) 370 NEXT pt