Compucolor.org – Virtual Media

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

8 REM  MODIFIED J NEWMAN 8 AUG 81

9 REM  CUWEST LIB. P. DAVIDSON

10 REM  PROGRAM TO READ CONTENTS OF DISK TO MEMORY
11 REM  AN FCS ERROR WILL OCCUR IF BLOCK CANNOT BE READ
13 CLEAR
15 DIM N(2)
16 PLOT 12,3,20,10:PRINT "DISK TRACK CHECK (0 TO 39)"
20 SB$= "0"
30 EB$= "18F"
33 LL= 1
35 PRINT :INPUT "ENTER DRIVE NUMBER: (0 OR 1) ";DN
36 IF DN< 0OR DDN> 1THEN 35
37 PRINT :INPUT "FIRST TRACK TO START CHECK (0-39):";FB
38 IF FB< 0OR FB> 39THEN 37
39 PRINT :INPUT "LAST TRACK TO CHECK(0-39):";LB
40 IF LB< 0OR LB> 39THEN 39
41 PRINT :INPUT "HOW MANY CYCLES? <DEFAULT IS 1> :";CY
42 IF CY= 0THEN CY= 1
45 J= 1:D$= SB$:GOSUB 1000
50 J= 2:D$= EB$:GOSUB 1000
60 NB= N(2)- N(1)+ 1:REM  NO. OF BLOCKS TO PRINT
62 PLOT 12
65 FOR RE= 1TO CY
66 PLOT 3,25,2:PRINT "TRACK : ";FB
70 FOR K= FB* 10TO LB* 10+ 9
80 CB= N(1)+ K:REM  CURRENT BLOCK IN DECIMAL
82 CB$= ""
84 BL= CB
90 GOSUB 200:REM  CONVERT TO HEX STRING
95 PRINT "READING BLOCK ";BL;
100 PLOT 27,4:PRINT "READ ";DN;":";CB$;" 7000-707F":PLOT 27,27
110 PRINT "  READ  CD";DN;":";CB$
115 PRINT
175 LL= LL+ 1:IF LL= 11THEN LL= 1:FB= FB+ 1:PLOT 12,3,25,2:PRINT "TRACK : ";FB
180 NEXT K
183 FB= FB- CY
185 NEXT RE
190 GOTO 2000
200 REM  CONVERT DECIMAL NUMBER TO HEX STRING
210 V= INT (CB/ 4096):CB= CB- V* 4096:GOSUB 250
220 V= INT (CB/ 256):CB= CB- V* 256:GOSUB 250
230 V= INT (CB/ 16):CB= CB- V* 16:GOSUB 250
240 V= INT (CB):CB= CB- V:GOSUB 250:RETURN
250 IF V< 10THEN CB$= CB$+ CHR$ (V+ 48):RETURN
260 CB$= CB$+ CHR$ (V+ 55):RETURN
1000 REM  CONVERT HEX CHARACTER STRING TO DECIMAL NUMBER
1005 L= LEN (D$)
1010 N(J)= 0
1020 FOR I= 1TO L
1030 CH$= MID$ (D$,I,1)
1040 CH= ASC (CH$)
1050 IF CH< = 57THEN CH= CH- 48
1060 IF CH> = 65THEN CH= CH- 55
1070 N(J)= N(J)+ CH* 16^ (L- I)
1080 NEXT I
1090 RETURN
2000 GOTO 13