A large commit.
[pdp8.git] / sw / rescue / muenchen2013 / files / krause_soft / tdchk.pa
1 /TDCHK DECTAPE READ CHECK
2
3 /------------------------------------------------------
4 / BY ROBERT KRAUSE, MAY 1983
5 /
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 /------------------------------------------------------
18
19 *200
20
21 TDCHK, LAS /SW0 = 1 ?
22 SMA CLA
23 JMP .-2
24
25 TAD (-103 /SET COUNT TO # OF CLUSTERS
26 DCA CNT
27 DCA BLKN /SET BLOCK # TO 0
28 MQL /CLEAR MQ
29
30 NEXT, KRS /CTRL/C TYPED ?
31 TAD (-203
32 SNA
33 JMP I (7600 /YES, RETURN TO MONITOR
34
35 LAS /SW0 = 1 ?
36 SMA CLA
37 JMP REWIND /NO, REWIND TAPE
38
39 JMS I (7614 /READ 11. BLOCKS FROM UNIT 1
40 1310 /INTO FIELD 1
41 0000 /BEGINNING AT 0000
42 BLKN, 0000 /BLOCK #
43
44 JMP ERROR /ERROR RETURN
45
46 CLA /BLKN:=BLKN+11.
47 TAD BLKN
48 TAD (13
49 DCA BLKN
50 TAD BLKN /DISPLAY IN MQ (JUST FOR FUN)
51 MQL
52 ISZ CNT /INCREMENT CLUSTER COUNT
53
54 JMP NEXT /CONTINUE
55
56 STA /CNT = 0, DISPLAY -1 IN MQ
57 MQL
58
59 REWIND, CLA
60 JMS I (7614 /READ BLOCK #0 TO REWIND TAPE
61 0110
62 0000
63 0000
64 NOP
65
66 LAS /SW0 = 0 ?
67 SPA
68 JMP .-2
69
70 JMP TDCHK /RESTART
71
72 ERROR, CLA /SET ERROR COUNT
73 TAD (-13
74 DCA CNT
75 TAD BLKN /ERRBLK:=BLKN
76 DCA ERRBLK
77
78 ERR1, JMS I (7614 /READ 1 BLOCK
79 0110
80 0000
81 ERRBLK, 0000
82
83 JMP ERR2 /ERROR RETURN
84
85 ISZ ERRBLK /INCREMENT BLOCK #
86 CLA /DISPLAY BLOCK # IN MQ
87 TAD ERRBLK
88 MQL
89 ISZ CNT /INCREMENT COUNT
90
91 JMP ERR1 /CHECK NEXT BLOCK
92
93 ERR2, CLA /RING TERMINAL BELL
94 TAD (207
95 TLS
96
97 LAS /SW0 = 0 ?
98 SPA
99 JMP .-2
100
101 JMP REWIND /REWIND TAPE AND RESTART
102
103 /-------
104
105 CNT, 0
106
107 $