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 / For different patterns are used. 6 / To run start at 0200. It will print drive being tested to console 7 / and then halt. Set SR = 0 for continuous testing or 1 to halt after 1 pass. 8 DSKP=6741 9 DCLR=6742 10 DLAG=6743 11 DLCA=6744 12 DRST=6745 13 DLDC=6746 14 15 *10 16 000010 0000 FILLOC, 0 17 *20 18 000020 0002 DRIVE, 2 19 000021 0200 K0200, 0200 20 000022 4000 K4000, 4000 21 000023 0000 TRACK, 0 22 000024 4537 MAXTRK, 4537 23 000025 0000 EXBIT, 0 24 000026 1000 REDDAT, 1000 25 000027 5000 WRTDAT, 5000 26 000030 3000 WRTLOC, 3000 27 000031 4000 RDLOC, 4000 28 000032 0017 K17, 17 29 000033 0006 K6, 6 30 000034 0007 K0007, 0007 31 000035 0215 K215, 0215 32 000036 0212 K212, 0212 33 000037 7774 M4, -4 34 000040 0000 LOOP, 0 35 000041 0000 CURPAT, 0 36 000042 0000 PATCNT, 0 37 000043 0000 FILCNT, 0 38 000044 7400 FILLEN, -400 39 000045 0400 INCF, INCTRK 40 000046 0733 CRLFF, CRLF 41 000047 0077 K0077, 0077 42 000050 7700 K7700, 7700 43 000051 3740 K3740, 3740 44 000052 4100 K4100, 4100 45 000053 0240 K0240, 0240 46 000054 0377 K0377, 0377 47 000055 0001 K0001, 0001 48 000056 0600 PRTXTF, PRTXT 49 000057 0641 FROCTF, FROCT 50 000060 0673 PRADF, PRAD 51 000061 0062 PATLOC, PATS 52 000062 7777 PATS, 7777 / Test patterns to use 53 000063 0000 0000 54 000064 5252 5252 55 000065 2525 2525 56 000066 0004 NUMPAT, 4 57 58 *200 59 000200 7704 CLA CLL OSR 60 000201 7004 RAL 61 000202 0033 AND K6 / Clear out high bits such as 0200 start address 62 000203 3020 DCA DRIVE 63 000204 1020 TAD DRIVE 64 000205 7010 RAR 65 000206 4457 JMS I FROCTF 66 000207 4456 JMS I PRTXTF 67 000210 0464 DTXT 68 000211 4446 JMS I CRLFF 69 000212 7402 HLT 70 000213 7200 CLA 71 000214 3040 DCA LOOP 72 000215 7301 RESTRT, CLA CLL IAC 73 000216 6742 DCLR 74 000217 1020 TAD DRIVE 75 000220 6746 DLDC 76 000221 7326 CLA CLL CML RTL 77 000222 6742 DCLR 78 000223 6741 DSKP 79 000224 5223 JMP .-1 80 000225 1021 TAD K0200 81 000226 1020 TAD DRIVE 82 000227 6746 DLDC 83 000230 6741 DSKP 84 000231 5230 JMP .-1 85 000232 6745 DRST 86 000233 7041 CIA 87 000234 1022 TAD K4000 88 000235 7640 SZA CLA 89 000236 5311 JMP BADSTA 90 000237 7200 CLA 91 000240 1066 TAD NUMPAT 92 000241 7041 CMA IAC 93 000242 3042 DCA PATCNT 94 000243 1061 TAD PATLOC 95 000244 3041 DCA CURPAT 96 000245 7200 FILP, CLA 97 000246 1044 TAD FILLEN 98 000247 3043 DCA FILCNT 99 000250 7040 CMA 100 000251 1030 TAD WRTLOC 101 000252 3010 DCA FILLOC 102 000253 1441 LP, TAD I CURPAT 103 000254 3410 DCA I FILLOC 104 000255 2043 ISZ FILCNT 105 000256 5253 JMP LP 106 000257 7300 CLA CLL 107 000260 3023 DCA TRACK 108 000261 3025 DCA EXBIT 109 000262 4345 WRTPAT, JMS WRITE 110 000263 4445 JMS I INCF 111 000264 5262 JMP WRTPAT 112 000265 7300 CLA CLL 113 000266 3023 DCA TRACK 114 000267 3025 DCA EXBIT 115 000270 4312 RDPAT, JMS READ 116 000271 4445 JMS I INCF 117 000272 5270 JMP RDPAT 118 000273 2041 ISZ CURPAT 119 000274 2042 ISZ PATCNT 120 000275 5245 JMP FILP 121 000276 4456 DONE, JMS I PRTXTF 122 000277 0440 PSTXT 123 000300 1040 TAD LOOP 124 000301 4457 JMS I FROCTF 125 000302 4446 JMS I CRLFF 126 000303 2040 ISZ LOOP 127 000304 7000 NOP 128 000305 7604 CLA OSR 129 000306 7440 SZA 130 000307 7402 HLT 131 000310 5215 JMP RESTRT 132 133 000311 7402 BADSTA, HLT 134 135 000312 0000 READ, 0 136 000313 7301 CLA CLL IAC 137 000314 6742 DCLR 138 000315 1031 TAD RDLOC 139 000316 6744 DLCA 140 000317 1020 TAD DRIVE 141 000320 1026 TAD REDDAT 142 000321 1025 TAD EXBIT 143 000322 6746 DLDC 144 000323 1023 TAD TRACK 145 000324 6743 DLAG 146 000325 1025 TAD EXBIT 147 000326 7010 RAR 148 000327 1023 TAD TRACK 149 000330 7010 RAR 150 000331 6741 DSKP 151 000332 5331 JMP .-1 152 000333 6745 DRST 153 000334 7041 CIA 154 000335 1022 TAD K4000 155 000336 7640 SZA CLA 156 000337 5341 JMP ERROR 157 000340 5712 JMP I READ 158 000341 4456 ERROR, JMS I PRTXTF 159 000342 0425 RERRT 160 000343 4460 JMS I PRADF 161 000344 5712 JMP I READ 162 163 000345 0000 WRITE, 0 164 000346 7301 CLA CLL IAC / We have one waiting, write it 165 000347 6742 DCLR 166 000350 1030 TAD WRTLOC 167 000351 6744 DLCA 168 000352 1020 TAD DRIVE 169 000353 1027 TAD WRTDAT 170 000354 1025 TAD EXBIT 171 000355 6746 DLDC 172 000356 1023 TAD TRACK 173 000357 6743 DLAG 174 000360 1025 TAD EXBIT 175 000361 7010 RAR 176 000362 1023 TAD TRACK 177 000363 7010 RAR 178 000364 6741 DSKP 179 000365 5364 JMP .-1 180 000366 6745 DRST 181 000367 7041 CIA 182 000370 1022 TAD K4000 183 000371 7640 SZA CLA 184 000372 5374 JMP ERROR2 185 000373 5745 JMP I WRITE 186 000374 4456 ERROR2, JMS I PRTXTF 187 000375 0432 WERRT 188 000376 4460 JMS I PRADF 189 000377 5745 JMP I WRITE 190 191 192 193 PAGE 194 000400 0000 INCTRK, 0 / Increment track and exbit value for next sector 195 000401 7300 CLA CLL / AC non zero on return if done 196 000402 1025 TAD EXBIT 197 000403 7440 SZA 198 000404 5212 JMP CHKCYL 199 000405 2023 INC2, ISZ TRACK 200 000406 5600 JMP I INCTRK 201 000407 2025 ISZ EXBIT 202 000410 5600 JMP I INCTRK 203 000411 7402 HLT 204 000412 7200 CHKCYL, CLA 205 000413 1023 TAD TRACK 206 000414 7041 CIA 207 000415 1024 TAD MAXTRK 208 000416 7450 SNA 209 000417 5222 JMP FIN 210 000420 7200 CLA 211 000421 5205 JMP INC2 212 000422 7201 FIN, CLA IAC 213 000423 2200 ISZ INCTRK 214 000424 5600 JMP I INCTRK 215 216 000425 2205 RERRT, TEXT "READ ERR " 000426 0104 000427 4005 000430 2222 000431 4000 217 000432 2722 WERRT, TEXT "WRITE ERR " 000433 1124 000434 0540 000435 0522 000436 2240 000437 0000 218 000440 2001 PSTXT, TEXT "PASS " 000441 2323 000442 4000 219 000443 0331 CTXT, TEXT "CYL " 000444 1440 000445 0000 220 000446 2305 STXT, TEXT "SECTOR " 000447 0324 000450 1722 000451 4000 221 000452 2325 SUTXT, TEXT "SURFACE " 000453 2206 000454 0103 000455 0540 000456 0000 222 000457 2001 PTXT, TEXT "PATTERN " 000460 2424 000461 0522 000462 1640 000463 0000 223 000464 0422 DTXT, TEXT "DRIVE WILL BE R/W TESTED, SET SR" 000465 1126 000466 0540 000467 2711 000470 1414 000471 4002 000472 0540 000473 2257 000474 2740 000475 2405 000476 2324 000477 0504 000500 5440 000501 2305 000502 2440 000503 2322 000504 0000 224 225 PAGE 226 000600 0000 PRTXT, 0 227 000601 7300 CLA CLL 228 000602 1600 TAD I PRTXT 229 000603 2200 ISZ PRTXT 230 000604 3241 DCA FROCT 231 000605 1641 TAD I FROCT 232 000606 0050 AND K7700 233 000607 7450 SNA 234 000610 5234 JMP PREX 235 000611 7500 SMA 236 000612 7020 CML 237 000613 7001 IAC 238 000614 7012 RTR 239 000615 7012 RTR 240 000616 7012 RTR 241 000617 4264 JMS PRINT 242 000620 1641 TAD I FROCT 243 000621 0047 AND K0077 244 000622 7450 SNA 245 000623 5234 JMP PREX 246 000624 1051 TAD K3740 247 000625 7500 SMA 248 000626 1052 TAD K4100 249 000627 1053 TAD K0240 250 000630 4264 JMS PRINT 251 000631 2241 ISZ FROCT 252 000632 7300 CLA CLL 253 000633 5205 JMP PRTXT+5 254 000634 7300 PREX, CLA CLL 255 000635 5600 JMP I PRTXT 256 257 000636 0000 TOCT, 0 258 000637 0000 UPONE, 0 259 000640 0260 K0260, 0260 260 000641 0000 FROCT, 0 / DUMP OCTAL 261 000642 7006 RTL 262 000643 7006 RTL 263 000644 3237 DCA UPONE 264 000645 1037 TAD M4 265 000646 3236 DCA TOCT 266 000647 1237 TAD UPONE 267 000650 0034 AND K0007 268 000651 1240 TAD K0260 269 000652 4264 JMS PRINT 270 000653 1237 TAD UPONE 271 000654 7006 RTL 272 000655 7004 RAL 273 000656 3237 DCA UPONE 274 000657 2236 ISZ TOCT 275 000660 5247 JMP .-11 276 000661 1053 TAD K0240 277 000662 4264 JMS PRINT 278 000663 5641 JMP I FROCT 279 280 000664 0000 PRINT, 0 281 000665 6046 TLS 282 000666 6041 TSF 283 000667 5266 JMP .-1 284 000670 6042 TCF 285 000671 7200 CLA 286 000672 5664 JMP I PRINT 287 288 000673 0000 PRAD, 0 289 000674 7200 CLA 290 000675 6745 DRST 291 000676 4241 JMS FROCT 292 000677 4200 JMS PRTXT 293 000700 0443 CTXT 294 000701 1025 TAD EXBIT 295 000702 7010 RAR 296 000703 1023 TAD TRACK 297 000704 7010 RAR 298 000705 7012 RTR 299 000706 7012 RTR 300 000707 0054 AND K0377 301 000710 4241 JMS FROCT 302 000711 4200 JMS PRTXT 303 000712 0452 SUTXT 304 000713 1023 TAD TRACK 305 000714 7012 RTR 306 000715 7012 RTR 307 000716 0055 AND K0001 308 000717 4241 JMS FROCT 309 000720 4200 JMS PRTXT 310 000721 0446 STXT 311 000722 1023 TAD TRACK 312 000723 0032 AND K17 313 000724 4241 JMS FROCT 314 000725 4200 JMS PRTXT 315 000726 0457 PTXT 316 000727 1430 TAD I WRTLOC 317 000730 4241 JMS FROCT 318 000731 4333 JMS CRLF 319 000732 5673 JMP I PRAD 320 321 000733 0000 CRLF, 0 322 000734 1035 TAD K215 323 000735 4264 JMS PRINT 324 000736 1036 TAD K212 325 000737 4264 JMS PRINT 326 000740 5733 JMP I CRLF 327 $ BADSTA 0311 CHKCYL 0412 CRLF 0733 CRLFF 0046 CTXT 0443 CURPAT 0041 DCLR 6742 DLAG 6743 DLCA 6744 DLDC 6746 DONE 0276 unreferenced DRIVE 0020 DRST 6745 DSKP 6741 DTXT 0464 ERROR 0341 ERROR2 0374 EXBIT 0025 FILCNT 0043 FILLEN 0044 FILLOC 0010 FILP 0245 FIN 0422 FROCT 0641 FROCTF 0057 INC2 0405 INCF 0045 INCTRK 0400 K0001 0055 K0007 0034 K0077 0047 K0200 0021 K0240 0053 K0260 0640 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 0066 PATCNT 0042 PATLOC 0061 PATS 0062 PRAD 0673 PRADF 0060 PREX 0634 PRINT 0664 PRTXT 0600 PRTXTF 0056 PSTXT 0440 PTXT 0457 RDLOC 0031 RDPAT 0270 READ 0312 REDDAT 0026 RERRT 0425 RESTRT 0215 STXT 0446 SUTXT 0452 TOCT 0636 TRACK 0023 UPONE 0637 WERRT 0432 WRITE 0345 WRTDAT 0027 WRTLOC 0030 WRTPAT 0262