Compucolor.org – Virtual Media

Listing of file='DUPSCN.BAS;02' on disk='vmedia/ncc_5-sector.ccvf'

5 CLEAR 100
10 T= PEEK (32940)+ 256* PEEK (32941)
30 P= PEEK (32984)+ 256* PEEK (32985)
40 PLOT 12,3,0,13,27,11,14
50 A= INT ((P+ 200)/ 256):B= (P+ 200)- A* 256
70 C= INT (T/ 256):D= T- 256* C
100 A= A+ 1:B= 0
102 C= C- 2:D= 255
105 P= A* 256+ 23:REM  P NOW POINTS TO FIRST ATTRIBUTE BYTE
110 X= A:GOSUB 900:A$= H$
120 X= B:GOSUB 900:A$= A$+ H$
125 A$= A$+ "-"
130 X= C:GOSUB 900:A$= A$+ H$
140 X= D:GOSUB 900:A$= A$+ H$
160 I= 0
163 PLOT 6,2
165 INPUT "INSERT SOURCE DISK THEN HIT RETURN";Z:PLOT 27,4
166 X= I:GOSUB 900
170 PRINT "READ ";H$;" ";A$
172 PLOT 27,27:IF I= 0THEN GOSUB 800
173 PLOT 6,1
174 INPUT "INSERT DESTINATION DISK THEN HIT RETURN";Z:PLOT 27,4
175 PRINT "WRITE ";H$;" ";A$
180 PLOT 27,27
190 I= I+ 100
194 IF I= > QTHEN 1000
195 IF I+ INT ((T- P)/ 128)> 400THEN I= 400- INT ((T- P)/ 128)
200 GOTO 163
800 PLOT 6,4
810 INPUT "ARE THERE ANY ITEMS TO BE COPIED NOT SHOWN IN THE DIRECTORY? ";Q$
815 PLOT 11
820 IF LEFT$ (Q$,1)= "Y"THEN Q= 400:RETURN
830 Q= PEEK (P+ 11)+ 256* PEEK (P+ 12)
850 IF PEEK (P)= 1THEN P= A* 256:RETURN
860 P= P+ 21
870 IF INT (P/ 128)= P/ 128THEN P= P+ 2
880 GOTO 830
890 RETURN
900 REM  X=VALUE TO BE HEXXED
905 H$= ""
910 X1= INT (X/ 16):X2= X- 16* X1
920 IF X2< 10THEN X2= X2+ 48:GOTO 940
930 X2= X2+ 55
940 IF X1< 10THEN X1= X1+ 48:GOTO 960
950 X1= X1+ 55
960 H$= H$+ CHR$ (X1)+ CHR$ (X2)
965 IF X1< 71THEN RETURN
970 X1= X1- 71
980 H$= "1"
990 GOTO 940
1000 REM  **** SCAN PORTION OF PROGRAM
1010 PLOT 12,6,2,27,4
1020 PRINT "READ 0 7000-7FFF":REM  LOAD DISPLAY
1030 PRINT "READ 20 7000-7FFF"
1040 PRINT "READ 40 7000-7FFF"
1050 PRINT "READ 60 7000-7FFF"
1060 PRINT "READ 80 7000-7FFF"
1070 PRINT "READ A0 7000-7FFF"
1080 PRINT "READ C0 7000-7FFF"
1090 PRINT "READ E0 7000-7FFF"
1100 PRINT "READ 100 7000-7FFF"
1110 PRINT "READ 120 7000-7FFF"
1120 PRINT "READ 140 7000-7FFF"
1130 PRINT "READ 160 7000-7FFF"
1140 PRINT "READ 180 7000-77FF"
1150 PLOT 255,12,3,0,15
1160 PRINT "SCAN WAS SUCCESSFUL":PRINT
1170 INPUT "HIT ENTER TO SCAN AGAIN, OR D TO DUP > ";R$
1180 IF LEFT$ (R$,1)= "D"GOTO 5
1190 GOTO 1000