1 /TDCHK DECTAPE READ CHECK
3 /------------------------------------------------------
4 / BY ROBERT KRAUSE, MAY 1983
6 /READ CHECK IS STARTED BY SETTING SW0 TO 1
7 /IF THE TAPE HAS NO ERRORS IT IS REWOUND AND
8 /ALL MQ BITS ARE SET. LOWER AND RAISE SW0 TO
9 /RESTART CHECK. AFTER AN ERROR THE ROUTINE
10 /TRIES TO FIND THE EXACT BLOCK # OF THE ERROR.
11 /IF THE ERROR DISAPPEARED THE CHECK IS RESTARTED,
12 /OTHERWISE THE BLOCK # OF THE ERROR IS DISPLAYED
13 /IN THE MQ REGISTER AND THE TERMINAL BELL RINGS.
14 /SETTING SW0 TO 0 ABORTS THE CURRENT OPERATION
15 /AND THE TAPE IS REWOUND.
16 /CTRL/C RETURNS TO THE KEYBOARD MONITOR.
17 /------------------------------------------------------
25 TAD (-103 /SET COUNT TO # OF CLUSTERS
27 DCA BLKN /SET BLOCK # TO 0
30 NEXT, KRS /CTRL/C TYPED ?
33 JMP I (7600 /YES, RETURN TO MONITOR
37 JMP REWIND /NO, REWIND TAPE
39 JMS I (7614 /READ 11. BLOCKS FROM UNIT 1
41 0000 /BEGINNING AT 0000
44 JMP ERROR /ERROR RETURN
50 TAD BLKN /DISPLAY IN MQ (JUST FOR FUN)
52 ISZ CNT /INCREMENT CLUSTER COUNT
56 STA /CNT = 0, DISPLAY -1 IN MQ
60 JMS I (7614 /READ BLOCK #0 TO REWIND TAPE
72 ERROR, CLA /SET ERROR COUNT
75 TAD BLKN /ERRBLK:=BLKN
78 ERR1, JMS I (7614 /READ 1 BLOCK
83 JMP ERR2 /ERROR RETURN
85 ISZ ERRBLK /INCREMENT BLOCK #
86 CLA /DISPLAY BLOCK # IN MQ
89 ISZ CNT /INCREMENT COUNT
91 JMP ERR1 /CHECK NEXT BLOCK
93 ERR2, CLA /RING TERMINAL BELL
101 JMP REWIND /REWIND TAPE AND RESTART