Compucolor.org – Virtual Media

Listing of file='DUPDSK.BAS;01' on disk='vmedia/chip_22-sector.ccvf'

90 PLOT 15,12
100 REM DUP A COMPLETE DISK USING A SINGLE DRIVE - J.J
110 F= INT (FRE (9)/ 128/ 10):S= 0:IF F> = 4THEN S= 40
120 IF F> = 10THEN S= 100
130 IF F> = 20THEN S= 200
140 IF S= 0THEN PRINT "NOT ENOUGH SPACE FREE.":END
150 GOSUB 290:E= E- S* 128- 2:POKE E+ 1,S:GOSUB 300:CLEAR 25:GOSUB 290
160 X= E+ 1:S= PEEK (X):GOSUB 390:E$= H$:X= S* 128:GOSUB 390:S$= H$
170 PLOT 12:PRINT "DUPLICATE COMPLETE DISK IN";400/ S;" PASSES.
180 M$= "MOUNT ":FOR I= 0TO 360STEP S:X= I:GOSUB 390
190 PLOT 6,2,3,0,5:PRINT M$"SOURCE";:A$= "READ ":GOSUB 310
200 PLOT 6,6,3,0,5:PRINT M$"DESTINATION";:A$= "WRITE "
210 GOSUB 310:NEXT I:PRINT
220 PRINT :INPUT "DUPLICATE ANOTHER DISK (Y OR N) ? ";A$
230 IF LEFT$ (A$,1)= "Y"GOTO 170
240 E= E+ 2+ S* 128:GOSUB 300:CLEAR 25
250 PLOT 10,19:PRINT "MOUNT PROGRAM DISK (HIT RETURN ";
260 PLOT 19:INPUT "WHEN READY)";Z$:PLOT 1
270 REM MOVE MEMORY
280 H= 32941:L= 32940:RETURN
290 GOSUB 280:E= PEEK (H)* 256+ PEEK (L):RETURN
300 POKE H,INT (E/ 256):POKE L,E- INT (E/ 256)* 256:RETURN
310 REM INPUT
320 PRINT " DISK  (HIT ";:PLOT 6,71:PRINT "RETURN ";
330 PLOT 6,7:PRINT "WHEN READY)"SPC( 6):PLOT 3,64,5:INPUT "";Z$
340 PLOT 28,11,19,3,0,9
350 PRINT A$"- START=$"H$" OR "X"  -  END=$";
360 T$= H$:X= I+ S- 1:GOSUB 390:PRINT ""H$" OR "X""SPC( 6)
370 PRINT :PLOT 3,64,9:H$= T$:X= I
380 PLOT 27,4:PRINT A$H$" "E$" "S$:PLOT 27,27:RETURN
390 REM X = VALUE TO BE HEXED
400 H$= "":XX= X:FOR II= 3TO 0STEP - 1
410 IF II= 0THEN X1= XX:GOTO 430
420 X1= INT (XX/ 16^ II):XX= XX- X1* 16^ II
430 IF X1< 10THEN X1= X1+ 48:GOTO 450
440 X1= X1+ 55
450 H$= H$+ CHR$ (X1):NEXT II:RETURN