Errata: Code Missing from “Improving a Sector_COPYing Program”

Publication: ZXir QLive Alive!
Pub Details: ZXir QLive Alive! v6 n2 (Volume 6, Issue 2)
Date: Summer 1996
Pages: 11-12

Part of the program listing of “Improving a Sector_COPYing Program” in the last issue – Vol. 6 No.1 was inadvertently left out. Here is the missing part:

420 =2: LET Density=2: message$="HD/1.44": SCOPY
430 =3: LET Density=3: message$="ED/3.2M": AT#0,8,7:
PRINT#0, "not yet supported": PAUSE 60:
AT#0,8,10: PRINT#0,Blank$: MAIN
440 =0: GO TO 1240
450 =4: Fmat
460 END SELect
470 END DEFine MAIN
480 :
490 DEFine PROCedure DD
500 OPEN#3, 'flp'&Aa$&'_*d2d'
510 OPEN#4, 'flp'&Ab$&'_*d2d'
520 END DEFine DD
530 :
540 DEFine PROCedure HD
550 OPEN#3, 'flp'&Aa$&'_*d2h'
560 OPEN#4, 'flp'&Ab$&'_*d2h'
570 END DEFine HD
580 :
590 DEFine PROCedure ExD
600 OPEN#3, 'flp'&Aa$&'_*d4e'
610 OPEN#4, 'flp'&Ab$&'_*d4e'
620 END DEFine ExD
630 :
640 DEFine PROCedure SCOPY
650 CLS#2: PAPER 0: INK 7
660 AT 2,41: PRINT " _";: INK 5: PRINT Press$: INK 2
670 AT 2,19: PRINT "SCOPY ";: INK 5: PRINT "from ";:
INK 7: PRINT message$;: INPUT" flp";a
680 Aa$=a
690 AT 2,43: PRINT Blank$: INK 7
700 AT 4,41: PRINT " _";: INK 5: PRINT Press$: INK 5
710 AT 4,24: PRINT " to ";: INK 7: PRINT message$;:
INPUT" flp";b
720 IF b=a THEN BEEP 2000,20: GO TO 700
730 Ab$=b
740 AT 4,43: PRINT Blank$: INK 7
750 IF Density=1 THEN DD
760 IF Density=2 THEN HD
770 IF Density=3 THEN ExD
780 tracks = 80
790 sides = 2
800 FOR track = 0 TO tracks - 1
810 x = 65536 * track
820 getrack
830 putrack
840 WINDOW#0,190,50,166,130: BORDER#0,1,2:
INK#0,7
850 AT#0,2,10: PRINT#0,(1.25*(track+1)) DIV 1.25;" %";:
INK#0,2: PRINT#0," COPied"
860 NEXT track
870 END FOR track
880 CLOSE#3
890 CLOSE#4
900 PAPER 0: INK 7: CLS: PAPER#2,0: CLS#2
910 BEEP 2000,20: PAUSE 14: BEEP 1000,14: PAUSE 10:
BEEP 2000,20
920 INK 7: PRINT\,
"Disk in flp"&a&"_ CLONEd TO Disk in
flp"&b&"_" \\\," - PRESS <ANY KEY> to
Continue -" :
PAUSE: CLS#2: MAIN
930 END DEFine SCOPY
940 :
950 DEFine PROCedure getrack
960 GET #3x+1,a$:
GET #3x+4,b$:
GET #3x+7,c$:
GET #3x+2,d$:
GET #3x+5,e$:
GET #3x+8,f$:
GET #3x+3,g$:
GET #3x+6,h$:
GET #3x+9,i$
970 IF Density=2 OR Density=3 THEN
GET #3x+1+9,ha$:
GET #3x+4+9,hb$:
GET #3x+7+9,hc$:
GET #3x+2+9,hd$:
GET #3x+5+9,he$:
GET #3x+8+9,hf$:
GET #3x+3+9,hg$:
GET #3x+6+9,hh$:
GET #3x+9+9,hi$
980 REMark IF Density=3 THEN REMark
990 IF sides = 2 THEN
1000 GET #3x+257,j$:
GET #3x+260,k$:
GET #3x+263,l$:
GET #3x+258,m$:
GET #3x+261,n$:
GET #3x+264,o$:
GET #3x+259,p$:
GET #3x+262,q$:
GET #3x+265,r$
1010 IF Density=2 OR Density=3 THEN GET
#3x+257+9,hj$:
GET #3x+260+9,hk$:
GET #3x+263+9,hl$:
GET #3x+258+9,hm$:
GET #3x+261+9,hn$:
GET #3x+264+9,ho$:
GET #3x+259+9,hp$:
GET #3x+262+9,hq$:
GET #3x+265+9,hr$
1020 REMark IF Density=3 THEN REMark 1030 END IF
1040 END DEFine getrack
1050 :
1060 DEFine PROCedure putrack
1070 PUT #4x+1,a$:
PUT #4x+4,b$:
PUT #4x+7,c$:
PUT #4x+2,d$:
PUT #4x+5,e$:
PUT #4x+8,f$:
PUT #4x+3,g$:
PUT #4x+6,h$:
PUT #4x+9,i$
1080 IF Density=2 OR Density=3 THEN PUT
#4x+1+9,ha$:
PUT #4x+4+9,hb$:
PUT #4x+7+9,hc$:
PUT #4x+2+9,hd$:
PUT #4x+5+9,he$:
PUT #4x+8+9,hf$:
PUT #4x+3+9,hg$:
PUT #4x+6+9,hh$:
PUT #4x+9+9,hi$
1090 REMark IF Density =3 THEN REMark

Tags