1 / RK05 SURFACE SCAN 2 / Do a destructive write/read check on all sectors. Header words should be 3 / checked in all sectors except 0. 0 probably missed since won't be first 4 / after seek. 5 / Four different patterns are used. 6 / To run start at 0200 with drive # in bits 9-11. 7 / It will print drive being tested to console 8 / and then halt. Set SR = 0 for continuous testing or 1 to halt after 1 pass. 9 DSKP=6741 10 DCLR=6742 11 DLAG=6743 12 DLCA=6744 13 DRST=6745 14 DLDC=6746 15 16 *10 17 000010 0000 FILLOC, 0 18 *20 19 000020 0002 DRIVE, 2 20 000021 0200 K0200, 0200 21 000022 4000 K4000, 4000 22 000023 0000 TRACK, 0 23 000024 4537 MAXTRK, 4537 24 000025 0000 EXBIT, 0 25 000026 1000 REDDAT, 1000 26 000027 5000 WRTDAT, 5000 27 000030 3000 WRTLOC, 3000 28 000031 4000 RDLOC, 4000 29 000032 0017 K17, 17 30 000033 0006 K6, 6 31 000034 0007 K0007, 0007 32 000035 0215 K215, 0215 33 000036 0212 K212, 0212 34 000037 7774 M4, -4 35 000040 0000 LOOP, 0 36 000041 0000 CURPAT, 0 37 000042 0000 PATCNT, 0 38 000043 0000 FILCNT, 0 39 000044 7400 FILLEN, -400 40 000045 0600 INCF, INCTRK 41 000046 1133 CRLFF, CRLF 42 000047 0077 K0077, 0077 43 000050 7700 K7700, 7700 44 000051 3740 K3740, 3740 45 000052 4100 K4100, 4100 46 000053 0240 K0240, 0240 47 000054 0377 K0377, 0377 48 000055 0001 K0001, 0001 49 000056 7757 SIDEM, 7757 50 000057 0020 SIDE1, 0020 51 000060 1000 PRTXTF, PRTXT 52 000061 1041 FROCTF, FROCT 53 000062 1073 PRADF, PRAD 54 000063 0400 WRITEF, WRITE 55 000064 0065 PATLOC, PATS 56 000065 7777 PATS, 7777 / Test patterns to use 57 000066 0000 0000 58 000067 5252 5252 59 000070 2525 2525 60 000071 0004 NUMPAT, 4 61 62 *200 63 000200 7704 CLA CLL OSR 64 000201 7004 RAL 65 000202 0033 AND K6 / Clear out high bits such as 0200 start address 66 000203 3020 DCA DRIVE 67 000204 1020 TAD DRIVE 68 000205 7010 RAR 69 000206 4461 JMS I FROCTF 70 000207 4460 JMS I PRTXTF 71 000210 0664 DTXT 72 000211 4446 JMS I CRLFF 73 000212 7402 HLT 74 000213 7200 CLA 75 000214 3040 DCA LOOP 76 000215 7301 RESTRT, CLA CLL IAC 77 000216 6742 DCLR 78 000217 1020 TAD DRIVE 79 000220 6746 DLDC 80 000221 7326 CLA CLL CML RTL 81 000222 6742 DCLR 82 000223 6741 DSKP 83 000224 5223 JMP .-1 84 000225 1021 TAD K0200 85 000226 1020 TAD DRIVE 86 000227 6746 DLDC 87 000230 6741 DSKP 88 000231 5230 JMP .-1 89 000232 6745 DRST 90 000233 7041 CIA 91 000234 1022 TAD K4000 92 000235 7640 SZA CLA 93 000236 5311 JMP BADSTA 94 000237 7200 CLA 95 000240 1071 TAD NUMPAT 96 000241 7041 CMA IAC 97 000242 3042 DCA PATCNT 98 000243 1064 TAD PATLOC 99 000244 3041 DCA CURPAT 100 000245 7200 FILP, CLA 101 000246 1044 TAD FILLEN 102 000247 3043 DCA FILCNT 103 000250 7040 CMA 104 000251 1030 TAD WRTLOC 105 000252 3010 DCA FILLOC 106 000253 1441 LP, TAD I CURPAT 107 000254 3410 DCA I FILLOC 108 000255 2043 ISZ FILCNT 109 000256 5253 JMP LP 110 000257 7300 CLA CLL 111 000260 3023 DCA TRACK 112 000261 3025 DCA EXBIT 113 000262 4463 WRTPAT, JMS I WRITEF 114 000263 4445 JMS I INCF 115 000264 5262 JMP WRTPAT 116 000265 7300 CLA CLL 117 000266 3023 DCA TRACK 118 000267 3025 DCA EXBIT 119 000270 4312 RDPAT, JMS READ 120 000271 4445 JMS I INCF 121 000272 5270 JMP RDPAT 122 000273 2041 ISZ CURPAT 123 000274 2042 ISZ PATCNT 124 000275 5245 JMP FILP 125 000276 4460 DONE, JMS I PRTXTF 126 000277 0640 PSTXT 127 000300 1040 TAD LOOP 128 000301 4461 JMS I FROCTF 129 000302 4446 JMS I CRLFF 130 000303 2040 ISZ LOOP 131 000304 7000 NOP 132 000305 7604 CLA OSR 133 000306 7440 SZA 134 000307 7402 HLT 135 000310 5215 JMP RESTRT 136 137 000311 7402 BADSTA, HLT 138 139 000312 0000 READ, 0 140 000313 7301 CLA CLL IAC 141 000314 6742 DCLR 142 000315 1031 TAD RDLOC 143 000316 6744 DLCA 144 000317 1020 TAD DRIVE 145 000320 1026 TAD REDDAT 146 000321 1025 TAD EXBIT 147 000322 6746 DLDC 148 000323 1023 TAD TRACK 149 000324 0056 AND SIDEM 150 000325 1057 TAD SIDE1 151 000326 6743 DLAG 152 000327 1025 TAD EXBIT 153 000330 7010 RAR 154 000331 1023 TAD TRACK 155 000332 7010 RAR 156 000333 6741 DSKP 157 000334 5333 JMP .-1 158 000335 6745 DRST 159 000336 7041 CIA 160 000337 1022 TAD K4000 161 000340 7640 SZA CLA 162 000341 5343 JMP ERROR 163 000342 5712 JMP I READ 164 000343 4460 ERROR, JMS I PRTXTF 165 000344 0625 RERRT 166 000345 4462 JMS I PRADF 167 000346 5712 JMP I READ 168 169 PAGE 170 000400 0000 WRITE, 0 171 000401 7301 CLA CLL IAC / We have one waiting, write it 172 000402 6742 DCLR 173 000403 1030 TAD WRTLOC 174 000404 6744 DLCA 175 000405 1020 TAD DRIVE 176 000406 1027 TAD WRTDAT 177 000407 1025 TAD EXBIT 178 000410 6746 DLDC 179 000411 1023 TAD TRACK 180 000412 0056 AND SIDEM 181 000413 1057 TAD SIDE1 182 000414 6743 DLAG 183 000415 1025 TAD EXBIT 184 000416 7010 RAR 185 000417 1023 TAD TRACK 186 000420 7010 RAR 187 000421 6741 DSKP 188 000422 5221 JMP .-1 189 000423 6745 DRST 190 000424 7041 CIA 191 000425 1022 TAD K4000 192 000426 7640 SZA CLA 193 000427 5231 JMP ERROR2 194 000430 5600 JMP I WRITE 195 000431 4460 ERROR2, JMS I PRTXTF 196 000432 0632 WERRT 197 000433 4462 JMS I PRADF 198 000434 5600 JMP I WRITE 199 200 201 202 PAGE 203 000600 0000 INCTRK, 0 / Increment track and exbit value for next sector 204 000601 7300 CLA CLL / AC non zero on return if done 205 000602 1025 TAD EXBIT 206 000603 7440 SZA 207 000604 5212 JMP CHKCYL 208 000605 2023 INC2, ISZ TRACK 209 000606 5600 JMP I INCTRK 210 000607 2025 ISZ EXBIT 211 000610 5600 JMP I INCTRK 212 000611 7402 HLT 213 000612 7200 CHKCYL, CLA 214 000613 1023 TAD TRACK 215 000614 7041 CIA 216 000615 1024 TAD MAXTRK 217 000616 7450 SNA 218 000617 5222 JMP FIN 219 000620 7200 CLA 220 000621 5205 JMP INC2 221 000622 7201 FIN, CLA IAC 222 000623 2200 ISZ INCTRK 223 000624 5600 JMP I INCTRK 224 225 000625 2205 RERRT, TEXT "READ ERR " 000626 0104 000627 4005 000630 2222 000631 4000 226 000632 2722 WERRT, TEXT "WRITE ERR " 000633 1124 000634 0540 000635 0522 000636 2240 000637 0000 227 000640 2001 PSTXT, TEXT "PASS " 000641 2323 000642 4000 228 000643 0331 CTXT, TEXT "CYL " 000644 1440 000645 0000 229 000646 2305 STXT, TEXT "SECTOR " 000647 0324 000650 1722 000651 4000 230 000652 2325 SUTXT, TEXT "SURFACE " 000653 2206 000654 0103 000655 0540 000656 0000 231 000657 2001 PTXT, TEXT "PATTERN " 000660 2424 000661 0522 000662 1640 000663 0000 232 000664 0422 DTXT, TEXT "DRIVE WILL BE R/W TESTED, SET SR" 000665 1126 000666 0540 000667 2711 000670 1414 000671 4002 000672 0540 000673 2257 000674 2740 000675 2405 000676 2324 000677 0504 000700 5440 000701 2305 000702 2440 000703 2322 000704 0000 233 234 PAGE 235 001000 0000 PRTXT, 0 236 001001 7300 CLA CLL 237 001002 1600 TAD I PRTXT 238 001003 2200 ISZ PRTXT 239 001004 3241 DCA FROCT 240 001005 1641 TAD I FROCT 241 001006 0050 AND K7700 242 001007 7450 SNA 243 001010 5234 JMP PREX 244 001011 7500 SMA 245 001012 7020 CML 246 001013 7001 IAC 247 001014 7012 RTR 248 001015 7012 RTR 249 001016 7012 RTR 250 001017 4264 JMS PRINT 251 001020 1641 TAD I FROCT 252 001021 0047 AND K0077 253 001022 7450 SNA 254 001023 5234 JMP PREX 255 001024 1051 TAD K3740 256 001025 7500 SMA 257 001026 1052 TAD K4100 258 001027 1053 TAD K0240 259 001030 4264 JMS PRINT 260 001031 2241 ISZ FROCT 261 001032 7300 CLA CLL 262 001033 5205 JMP PRTXT+5 263 001034 7300 PREX, CLA CLL 264 001035 5600 JMP I PRTXT 265 266 001036 0000 TOCT, 0 267 001037 0000 UPONE, 0 268 001040 0260 K0260, 0260 269 001041 0000 FROCT, 0 / DUMP OCTAL 270 001042 7006 RTL 271 001043 7006 RTL 272 001044 3237 DCA UPONE 273 001045 1037 TAD M4 274 001046 3236 DCA TOCT 275 001047 1237 TAD UPONE 276 001050 0034 AND K0007 277 001051 1240 TAD K0260 278 001052 4264 JMS PRINT 279 001053 1237 TAD UPONE 280 001054 7006 RTL 281 001055 7004 RAL 282 001056 3237 DCA UPONE 283 001057 2236 ISZ TOCT 284 001060 5247 JMP .-11 285 001061 1053 TAD K0240 286 001062 4264 JMS PRINT 287 001063 5641 JMP I FROCT 288 289 001064 0000 PRINT, 0 290 001065 6046 TLS 291 001066 6041 TSF 292 001067 5266 JMP .-1 293 001070 6042 TCF 294 001071 7200 CLA 295 001072 5664 JMP I PRINT 296 297 001073 0000 PRAD, 0 298 001074 7200 CLA 299 001075 6745 DRST 300 001076 4241 JMS FROCT 301 001077 4200 JMS PRTXT 302 001100 0643 CTXT 303 001101 1025 TAD EXBIT 304 001102 7010 RAR 305 001103 1023 TAD TRACK 306 001104 7010 RAR 307 001105 7012 RTR 308 001106 7012 RTR 309 001107 0054 AND K0377 310 001110 4241 JMS FROCT 311 001111 4200 JMS PRTXT 312 001112 0652 SUTXT 313 001113 1023 TAD TRACK 314 001114 7012 RTR 315 001115 7012 RTR 316 001116 0055 AND K0001 317 001117 4241 JMS FROCT 318 001120 4200 JMS PRTXT 319 001121 0646 STXT 320 001122 1023 TAD TRACK 321 001123 0032 AND K17 322 001124 4241 JMS FROCT 323 001125 4200 JMS PRTXT 324 001126 0657 PTXT 325 001127 1430 TAD I WRTLOC 326 001130 4241 JMS FROCT 327 001131 4333 JMS CRLF 328 001132 5673 JMP I PRAD 329 330 001133 0000 CRLF, 0 331 001134 1035 TAD K215 332 001135 4264 JMS PRINT 333 001136 1036 TAD K212 334 001137 4264 JMS PRINT 335 001140 5733 JMP I CRLF 336 $ BADSTA 0311 CHKCYL 0612 CRLF 1133 CRLFF 0046 CTXT 0643 CURPAT 0041 DCLR 6742 DLAG 6743 DLCA 6744 DLDC 6746 DONE 0276 unreferenced DRIVE 0020 DRST 6745 DSKP 6741 DTXT 0664 ERROR 0343 ERROR2 0431 EXBIT 0025 FILCNT 0043 FILLEN 0044 FILLOC 0010 FILP 0245 FIN 0622 FROCT 1041 FROCTF 0061 INC2 0605 INCF 0045 INCTRK 0600 K0001 0055 K0007 0034 K0077 0047 K0200 0021 K0240 0053 K0260 1040 K0377 0054 K17 0032 K212 0036 K215 0035 K3740 0051 K4000 0022 K4100 0052 K6 0033 K7700 0050 LOOP 0040 LP 0253 M4 0037 MAXTRK 0024 NUMPAT 0071 PATCNT 0042 PATLOC 0064 PATS 0065 PRAD 1073 PRADF 0062 PREX 1034 PRINT 1064 PRTXT 1000 PRTXTF 0060 PSTXT 0640 PTXT 0657 RDLOC 0031 RDPAT 0270 READ 0312 REDDAT 0026 RERRT 0625 RESTRT 0215 SIDE1 0057 SIDEM 0056 STXT 0646 SUTXT 0652 TOCT 1036 TRACK 0023 UPONE 1037 WERRT 0632 WRITE 0400 WRITEF 0063 WRTDAT 0027 WRTLOC 0030 WRTPAT 0262