HDNG ROUTINE TO FORMAT GA 3330 TYPE DISK 11/16/78 ABS FMTR0002 * FMTR0003 * SYSTEM EQUATES FOR DRIVE FMTR0004 * FMTR0005 GA EQU 1 SET TO 1 FOR GA FMTR0006 ACDE EQU /6000 CONTROLLER AREA CODE FMTR0007 #ILSW EQU /8000 OP/COP ILSW BIT FMTR0008 * FMTR0009 ORG 0 FMTR0010 MDX START GO START UTILITY FMTR0011 * FMTR0012 ORG /0008 SET UP INTERRUPT ITVS FMTR0013 DC EAC FMTR0014 DC TRACE FMTR0015 DC 0 FMTR0016 DC LEV0 FMTR0017 DC LEV1 FMTR0018 DC LEV2 FMTR0019 DC LEV3 FMTR0020 * FMTR0021 ORG /8008 SET UP INT ITVS FMTR0022 DC EAC FMTR0023 DC TRACE FMTR0024 DC 0 FMTR0025 DC LEV0 FMTR0026 DC LEV1 FMTR0027 DC LEV2 FMTR0028 DC LEV3 FMTR0029 * FMTR0030 * REQUEST SPINDEL AND CONFIGURATION FMTR0031 * FMTR0032 ORG /0020 FMTR0033 START LDX L2 X XR2 TO CONSTANTS FMTR0034 XIO 2 $MASK-X MASK ALL FMTR0035 BSI L TYPER DESCRIBE UTILITY FMTR0036 DC MM1 FMTR0037 WAIT FMTR0038 BSI L GETSW FMTR0039 STO 2 UFUN-X SAVE FUNCTION FMTR0040 BSC L FORMT,Z+ FMTR0041 SLA 1 FMTR0042 BSC L START,- FMTR0043 * FMTR0044 * TAPE TO DISK OPTION FMTR0045 * FMTR0046 BSI L TYPER FMTR0047 DC MM3 FMTR0048 WAIT FMTR0049 * FMTR0050 * FORMAT DISK OPTION FMTR0051 * FMTR0052 FORMT BSI L TYPER DESCRIBE SWITCH OPTIONS FMTR0053 DC MM2 FMTR0054 DC /3000 FMTR0055 BSI L GETSW GET SWITCHES FMTR0056 STO 2 KIND-X SAVE TYPE OF DRIVE FMTR0057 AND 2 H0007-X SAVE DRIVE FMTR0058 STO 2 SPIN-X SET FOR DISK FMTR0059 LD 2 KIND-X GET DRIVE TYPE FMTR0060 SRA 16-2-1 0,2,4,6 FMTR0061 STO *+1 TO XR1 FMTR0062 LDX L1 *-* XR1 = DRIVE CONFG POINTER FMTR0063 LDD L1 TAB GET DRIVE PARAMETERS FMTR0064 STD 2 HEADS-X SAVE FOR LATER FMTR0065 LD 2 UFUN-X GET FUNCTION FMTR0066 BSC L HEXEN,- BRANCH NOT FORMAT FMTR0067 RREAD BSI L TYPER FMTR0068 DC MM4 FMTR0069 WAIT FMTR0070 BSI L GETSW FMTR0071 STO 2 CTIDI-X SAVE CART ID FMTR0072 SLA 1 EDIT FOR VALID ID BSC L IDIOK,Z BRANCH IF ID IS OK BSI L TYPER LOG INVALID ID DC IVIDE MDX RREAD IDIOK LD 2 CTIDI-X GET BACK CART ID BSC L HEX,- BRANCH IF HEX INCREMENT FMTR0073 SLA 1 DUMP SIGN BIT FMTR0074 SRA 1 REPOSITION FMTR0075 STO 2 CTIDI-X RESTORE FMTR0076 LDX L1 /7001 FMTR0077 STX L1 GARY3 SET FOR DECIMAL FMTR0078 MDX HEXEN FMTR0079 HEX LDX L1 /4C00 FMTR0080 STX L1 GARY3 SET FOR HEX FMTR0081 HEXEN LDX 3 0 FMTR0082 STX L3 ISW SET FOR NO INTS FMTR0083 XIO 2 $UNMK-X UNMASK FMTR0084 * FMTR0085 * RESERVE DRIVE FMTR0086 * FMTR0087 XIO L DSELC DESELECT DRIVE FMTR0088 LD 2 SPIN-X GET SPINDEL FMTR0089 STO *+1 FMTR0090 LDX L1 *-* TO XR1 FMTR0091 LD 2 G0001-X GENERATE RESERVE BIT FMTR0092 SLA 1 0 POSITION FMTR0093 OR 2 H4100-X GEN RESERVE IOCC1 FMTR0094 STO 2 RESRV-X SET FOR XIO FMTR0095 XIO 2 RESRV-X DO RESERVE XIO FMTR0096 XIO 2 SENRV-X GET RESERVE STATUS FMTR0097 EOR 2 RESRV-X BY RESERV FMTR0098 SLA 8 GET RESERVE STATUS FMTR0099 LDX 3 0 CAN RESERVE DIRVE ERROR FMTR0100 BSC L ERROR,Z BRANCH IF ERROR FMTR0101 * FMTR0102 * NOW SELECT DRIVE FMTR0103 * FMTR0104 LD 2 SPIN-X GET SPINDEL FMTR0105 OR 2 HF020-X ADD SELECT IOCC1 FMTR0106 STO 2 SEL-X SET FOR SELECT FMTR0107 XIO 2 SEL-X SELECT SPINDEL FMTR0108 XIO 2 SUBST-X GET SUBSTATUS FMTR0109 LDX 3 1 CAN'T SELECT DRIVE FMTR0110 EOR 2 HA400-X SEL,READY,ONLIN BITS ON FMTR0111 BSC L ERROR,Z BRANCH IF NO SELECT FMTR0112 * FMTR0113 * NOW RESTORE DISK SPINDEL FMTR0114 * FMTR0115 LDX 3 1 SET TO EXPECT RESTORE INT FMTR0116 STX L3 ISW FMTR0117 XIO 2 RESTO-X DO RESTORE FMTR0118 LD 2 ISW-X WAIT ON OP/COP OR ERROR FMTR0119 BSC Z- FMTR0120 MDX *-3 FMTR0121 LDX 3 2 SET FOR ERROR ON RESTORE FMTR0122 BSC L ERROR,Z BRANCH IF ERROR FMTR0123 LD 2 UFUN-X GET FUNCTION FMTR0124 BSC L NTDSK,+ BRANCH IF FORMAT FMTR0125 XIO 2 $MASK-X MASK ALL FMTR0126 BY3 BSI L TAPE REWIND TAPE UNIT FMTR0127 DC /4000 FMTR0128 DC IOB-2 FMTR0129 TC1 DC *-* FMTR0130 LD TC1 FMTR0131 SRA 1 FMTR0132 BSC L BY2,+ FMTR0133 BSI L TYPER FMTR0134 DC MM5 FMTR0135 WAIT FMTR0136 MDX BY3 FMTR0137 BY2 EQU * FMTR0138 LD 2 HD080-X HEAD 1 SECT 0 FMTR0139 STO 2 SETHD-X FMTR0140 XIO 2 $UNMK-X FMTR0141 LD 2 H0140-X FMTR0142 STO L IOB SET FOR READ FMTR0143 STO 2 TWORD-X FMTR0144 LD 2 H1000-X FMTR0145 STO 2 SEEK-X FMTR0146 LDX 3 2 SET FOR SEEK INT FMTR0147 STX L3 ISW FMTR0148 XIO 2 SEEK-X FMTR0149 LD 2 ISW-X FMTR0150 BSC Z- FMTR0151 MDX *-3 FMTR0152 LDX 3 3 FMTR0153 BSC L ERROR,Z FMTR0154 XIO 2 SETHD-X FMTR0155 XIO 2 TWORD-X FMTR0156 XIO 2 XWORD-X FMTR0157 LDX 3 6 FMTR0158 STX L3 ISW FMTR0159 XIO 2 READ-X FMTR0160 LD 2 ISW-X FMTR0161 BSC Z- FMTR0162 MDX *-3 FMTR0163 LDX 3 11 FMTR0164 BSC L ERROR,Z FMTR0165 XIO 2 $MASK-X MASK ALL FMTR0166 LD L BUFF+3 FMTR0167 STO 2 RIDIN-X FMTR0168 LD 2 HEADS-X GET NUM OF HEADS FMTR0169 M 2 D26+1-X COMP SECT/CYL FMTR0170 SLT 16 GET ANSWER FMTR0171 STO 2 SEPCY-X SAVE FOR LATER FMTR0172 TPRIN LDX 3 10 RETRY COUNT FMTR0173 TPRIZ BSI L TAPE READ FMTR0174 DC /1000 FMTR0175 DC IOB-2 FMTR0176 TC2 DC *-* FMTR0177 LD TC2 FMTR0178 SRA 1 FMTR0179 BSC L TAPE2,+ BRANCH IF OK FMTR0180 LD TC2 GET BACK CODE FMTR0181 EOR 2 D3-X CHECK IF EOT FMTR0182 BSC L TCKDN,+- BRANCH TO COMPARE FMTR0183 MDX 3 -1 TEN TRYS YET FMTR0184 MDX TRX NO FMTR0185 TRXQ LDX 3 8 TAPE ERRORS FMTR0186 BSC L ERROR ABORT FMTR0187 TRX BSI L TAPE BACK SPACE TAPE FMTR0188 DC /6000 FMTR0189 DC IOB-2 FMTR0190 TRX1 DC *-* FMTR0191 LD TRX1 FMTR0192 SRA 1 FMTR0193 BSC L TPRIZ,+- FMTR0194 MDX TRXQ ABORT FMTR0195 TAPE2 LD L IOB GET S/A FMTR0196 SLA 4 FMTR0197 SRA 4 FMTR0198 BSC L NZERO,Z BRANCH NOT SECTOR ZERO FMTR0199 LDX 1 -5 FMTR0200 TRYN LD L1 55+5+320+BUFF FMTR0201 EOR L BUFF+3 FMTR0202 BSC L MATCH,+- FMTR0203 MDX 1 1 FMTR0204 MDX TRYN FMTR0205 LDX 3 9 FMTR0206 BSC L ERROR FMTR0207 MATCH LD 2 RIDIN-X GET CART ID FMTR0208 STO L BUFF+3 FMTR0209 STO L1 55+5+320+BUFF FMTR0210 SRA 16 SECTOR 0 FMTR0211 NZERO A 2 D26+1-X NOT TRACK 0 FMTR0212 SRT 16 SET FOR DIVIDE FMTR0213 D 2 SEPCY-X FMTR0214 OR 2 H1000-X GEN SEEK IOCC FMTR0215 STO 2 SEEK-X SET FOR SEEK FMTR0216 SRA 16 GET RISIDUAL FMTR0217 D 2 D26+1-X COMP TRACK/HEAD FMTR0218 SLT 9 FMTR0219 SRA 9 FMTR0220 SLT 7 FMTR0221 OR 2 HD000-X FMTR0222 STO 2 SETHD-X SET FOR HEAD/SECT FMTR0223 LD L IOB-1 GET WDCT FMTR0224 STO L IOB SET FOR WRITE FMTR0225 XIO 2 $UNMK-X UNMASK FOR DISK OP FMTR0226 LDX 3 2 SET FOR SEEK INT FMTR0227 STX L3 ISW FMTR0228 XIO 2 SEEK-X DO SEEK FMTR0229 LD 2 ISW-X FMTR0230 BSC Z- FMTR0231 MDX *-3 FMTR0232 LDX 3 3 FMTR0233 BSC L ERROR,Z FMTR0234 XIO 2 SETHD-X SET HEAD/SECT FMTR0235 LDX 3 5 SET FOR WRITE INT FMTR0236 STX L3 ISW FMTR0237 XIO 2 WRITE-X DO WRITE FMTR0238 LD 2 ISW-X FMTR0239 BSC Z- FMTR0240 MDX *-3 FMTR0241 LDX 3 10 FMTR0242 BSC L ERROR,Z FMTR0243 XIO 2 $MASK-X MASK ALL FMTR0244 MDX TPRIN GET NEXT CYLINDER FMTR0245 TCKDN BSI L TAPE REWIND TAPE FMTR0246 DC /4000 FMTR0247 DC IOB-2 FMTR0248 ERRZ DC *-* FMTR0249 LD ERRZ FMTR0250 SRA 1 FMTR0251 BSC L NOTAP,+- FMTR0252 BSI L TYPER FMTR0253 DC MM5 FMTR0254 WAIT FMTR0255 MDX TCKDN TRAY AGAIN FMTR0256 NOTAP LD 2 D2560-X FMTR0257 STO 2 TWORD-X FMTR0258 STO L IOB FMTR0259 LD L IOB-2 FMTR0260 STO L BUFF+2560 FMTR0261 BY21 LDX 1 10 FMTR0262 BY22 BSI L TAPE FMTR0263 DC /1000 FMTR0264 DC BUFF+2560 FMTR0265 BY23 DC *-* FMTR0266 LD BY23 FMTR0267 SRA 1 FMTR0268 BSC L BY24,+- FMTR0269 LD BY23 FMTR0270 EOR 2 D3-X FMTR0271 LDX 3 12 FMTR0272 BSC L ERROR,+- FMTR0273 MDX 1 -1 FMTR0274 MDX BY25 FMTR0275 MDX TRXQ FMTR0276 BY25 BSI L TAPE FMTR0277 DC /6000 FMTR0278 DC BUFF+2560 FMTR0279 BY26 DC *-* FMTR0280 LD BY26 FMTR0281 SRA 1 FMTR0282 BSC L TRXQ,Z FMTR0283 MDX BY22 FMTR0284 BY24 LD L BUFF+2560+2 GET S/A FMTR0285 SLA 4 FMTR0286 SRA 4 FMTR0287 STO L BUFF+2560+2 FMTR0288 A 2 D26+1-X FMTR0289 SRT 16 FMTR0290 D 2 SEPCY-X FMTR0291 OR 2 H1000-X FMTR0292 STO 2 SEEK-X FMTR0293 SRA 16 FMTR0294 D 2 D26+1-X FMTR0295 SLT 9 FMTR0296 SRA 9 FMTR0297 SLT 7 FMTR0298 OR 2 HD000-X FMTR0299 STO 2 SETHD-X FMTR0300 XIO 2 $UNMK-X FMTR0301 LDX 3 2 FMTR0302 STX L3 ISW FMTR0303 XIO 2 SEEK-X FMTR0304 LD 2 ISW-X FMTR0305 BSC Z- FMTR0306 MDX *-3 FMTR0307 LDX 3 3 FMTR0308 BSC L ERROR,Z FMTR0309 XIO 2 SETHD-X SET HEAD/SECTOR FMTR0310 XIO 2 TWORD-X FMTR0311 XIO 2 XWORD-X FMTR0312 LDX 3 6 FMTR0313 STX L3 ISW FMTR0314 XIO 2 READ-X FMTR0315 LD 2 ISW-X FMTR0316 BSC Z- FMTR0317 MDX *-3 FMTR0318 LDX 3 11 FMTR0319 BSC L ERROR,Z FMTR0320 XIO 2 $MASK-X FMTR0321 LD L BUFF+2560+2 FMTR0322 BSC L KJH,Z BRANCH NOT SECT 0 FMTR0323 LDX 3 9 FMTR0324 LD L BUFF+3 FMTR0325 BSC L ERROR,+ BRANCH NOT PLUS FMTR0326 STO L BUFF+2560+3+3 FMTR0327 LDX 1 -5 FMTR0328 TCK3 LD L1 55+5+320+BUFF FMTR0329 EOR L BUFF+3 FMTR0330 BSC L MAC1,+- FMTR0331 MDX 1 1 FMTR0332 MDX TCK3 FMTR0333 LDX 3 9 FMTR0334 BSC L ERROR FMTR0335 MAC1 LD L BUFF+3 FMTR0336 STO L1 BUFF+2560+3+55+5+320 FMTR0337 KJH LDX 3 13 COMPARE ERROR FMTR0338 LDX L1 2560 FMTR0339 CPEE2 LD L1 BUFF-1 FMTR0340 EOR L1 BUFF+2560+3-1 FMTR0341 BSC L ERROR,Z FMTR0342 MDX 1 -1 FMTR0343 MDX CPEE2 FMTR0344 MDX BY21 FMTR0345 * FMTR0346 * NOW FORMAT DISK TO ALL ZEROS FMTR0347 * FMTR0348 NTDSK LDX L3 320*13 SET BUFFER WDCT FMTR0349 STX L3 IOB FMTR0350 STX L3 TWORD SET WDCT TRANS FMTR0351 LD 2 HEADS-X GET NUMBER OF HEADS FMTR0352 M 2 CYLS-X TIMES CYLINDERS FMTR0353 SLT 16 TOTAL TRACKS TO CLEAR FMTR0354 STO 2 TOTAL-X SET FOR COUNT DOWN FMTR0355 SRA 16 FMTR0356 STO 2 C-X SET CURRENT CYL POS FMTR0357 STO 2 HDCTN-X INITAL HEAD COUNTER FMTR0358 STO 2 CYCTN-X CYLINDER COUNTER FMTR0359 LD 2 H1000-X SET SEEK TO 0 FMTR0360 STO 2 SEEK-X FMTR0361 LOP02 LDX 1 -27*3 FILL IN HEADER FMTR0362 LD 2 DM1-X SET PAD SECOTR SA FMTR0363 STO 2 SECTN-X SET SECTOR COUNTER FMTR0364 LOP01 LD 2 H0140-X SET WORD COUNT FMTR0365 STO L1 HEADR+27*3 FMTR0366 LD 2 HDCTN-X GET HEAD NUMBER FMTR0367 SLA 7 POSITION FMTR0368 OR 2 SECTN-X ADD SECTOR FMTR0369 STO L1 HEADR+27*3+1 FMTR0370 MDX L SECTN,1 NEXT SECTOR FMTR0371 NOP FMTR0372 LD 2 CYCTN-X GET CYLINDER FMTR0373 STO L1 HEADR+27*3+2 FMTR0374 MDX 1 3 DONE FMTR0375 MDX LOP01 FMTR0376 LD 2 HDCTN-X GET HEAD NUMBER FMTR0377 SLA 7 POSITION FMTR0378 OR 2 H007F-X PAD SECTOR ID=127 FMTR0379 STO L HEADR+1 FMTR0380 LD 2 D10-X SET PAD WDCT FMTR0381 STO L HEADR TO 10 FMTR0382 LD L HEADR+27*3-3 GET LAST SECTOR IND FMTR0383 OR 2 H0800-X ADD LAST SECTOR BIT FMTR0384 STO L HEADR+27*3-3 RESTORE FMTR0385 MDX L HDCTN,1 BUMP HEAD COUNTER FMTR0386 LD 2 HDCTN-X GET HEAD CONTER FMTR0387 EOR 2 HEADS-X LAST HEAD FMTR0388 BSC L NTLSA,Z BRANCH NO FMTR0389 STO 2 HDCTN-X RESET HEAD COUNTER FMTR0390 LD L HEADR+27*3-3 ADD LAST FMTR0391 OR 2 H1000-X HEAD BIT FMTR0392 STO L HEADR+27*3-3 FMTR0393 MDX L CYCTN,1 BUMP CYLINDER ADDR FMTR0394 LD 2 CYCTN-X CHECK IF LAST CYLINDER FMTR0395 EOR 2 CYLS-X FMTR0396 BSC L NTLSA,Z BRANCH NOT LAST CYLINDER FMTR0397 LD L HEADR+27*3-3 FMTR0398 OR 2 H2000-X FMTR0399 STO L HEADR+27*3-3 FMTR0400 NTLSA LD L HEADR+2 GET CYLINDER FMTR0401 EOR 2 C-X IS SEEK REQUIRED FMTR0402 BSC L NSEEK,+ BRANCH NOT REQ FMTR0403 MDX L C,1 UPDATE CYLIN POS FMTR0404 LD 2 H1000-X FORM SEEK IOCC FMTR0405 OR 2 C-X ADD CYLINDER FMTR0406 STO 2 SEEK-X SET FOR XIO FMTR0407 LDX 3 2 SET INT SW FMTR0408 STX L3 ISW FMTR0409 XIO 2 SEEK-X FMTR0410 LD 2 ISW-X FMTR0411 BSC Z- FMTR0412 MDX *-3 FMTR0413 LDX 3 3 FMTR0414 BSC L ERROR,Z BRANCH IF ERROR FMTR0415 NSEEK LD L HEADR+1+3 GET HEAD SECTOR FMTR0416 OR 2 HD000-X FOR SET HEAD IOCC FMTR0417 STO 2 SETHD-X SET FOR XIO FMTR0418 XIO 2 SETHD-X SET HEAD FMTR0419 LDX 3 3 SET INT SW FMTR0420 STX L3 ISW FMTR0421 LDX L3 27*3 FMTR0422 STX L3 HEADW SET WRITE HEADER WDCT FMTR0423 LDX I3 HEADR+2 FMTR0424 LDX I1 HDCTN FMTR0425 XIO 2 FMT-X FORMAT TRACK FMTR0426 WAIT FMTR0427 LD 2 ISW-X FMTR0428 BSC Z- FMTR0429 MDX *-3 FMTR0430 LDX 3 4 FMTR0431 BSC L ERROR,Z BRANCH IF ERROR FMTR0432 XIO 2 SETHD-X SET SECTOR/HEAD FMTR0433 LDX 3 4 FMTR0434 STX L3 ISW FMTR0435 LDX L3 27*3 SET WORD COUNT FMTR0436 STX L3 HIOW FOR HEADER READ FMTR0437 LDX I3 HEADR+2 FMTR0438 LDX I1 HDCTN FMTR0439 XIO 2 RDHDR-X READ HEADER BACK FMTR0440 WAIT FMTR0441 LD 2 ISW-X FMTR0442 BSC Z- FMTR0443 MDX *-3 FMTR0444 BSC L ALT,Z BRANCH IF ALT REQUIRED FMTR0445 LDX 3 27*3 FMTR0446 MC1 LD L3 HEADR-1 COMPARE HEADER FMTR0447 EOR L3 HIO-1 FMTR0448 BSC L ALT,Z BRANCH IF ALT REQUIRED FMTR0449 MDX 3 -1 FMTR0450 MDX MC1 FMTR0451 LD 2 DM1-X SET FOR ONES PATTERN FMTR0452 CB1X LDX 3 2 SET LOOP CONTROL FMTR0453 STX L3 LCNTL COUNTER FMTR0454 LDX L3 320*13 CLEAR READ WRITE BUFFER FMTR0455 CB1 STO L3 BUFF-1 FMTR0456 MDX 3 -1 FMTR0457 MDX CB1 FMTR0458 CB1Z LDX 3 2 SET FOR SEEK INT FMTR0459 STX L3 ISW FMTR0460 XIO 2 SEEK-X SEEK TO CYL FMTR0461 LD 2 ISW-X WAIT FMTR0462 BSC Z- FMTR0463 MDX *-3 FMTR0464 LDX 3 3 FMTR0465 BSC L ERROR,Z BRANCH IF SEEK ERROR FMTR0466 XIO 2 SETHD-X SET HEAD FOR WRITE FMTR0467 LDX 3 5 SET FOR WRITE INT FMTR0468 STX L3 ISW FMTR0469 LDX I3 HEADR+2 FMTR0470 LDX I1 HDCTN FMTR0471 XIO 2 WRITE-X INITATE WRITE FMTR0472 WAIT FMTR0473 LD 2 ISW-X WAIT ON COMPLETION FMTR0474 BSC Z- SKIP IF DONE FMTR0475 MDX *-3 FMTR0476 BSC L ALT,Z BRANCH IF ERRRO FMTR0477 LDX 3 2 SET FOR SEEK INT FMTR0478 STX L3 ISW FMTR0479 XIO 2 SEEK-X SEEK TO CYL FMTR0480 LD 2 ISW-X WAIT FMTR0481 BSC Z- FMTR0482 MDX *-3 FMTR0483 LDX 3 3 FMTR0484 BSC L ERROR,Z BRANCH ERROR ON SEEK FMTR0485 XIO 2 SETHD-X SET HEAD FMTR0486 XIO 2 TWORD-X TO CONTROLLER FMTR0487 XIO 2 XWORD-X XEQ WORD COUNT INST FMTR0488 LDX 3 6 SET FOR INT FMTR0489 STX L3 ISW OM READ FMTR0490 LDX I3 HEADR+2 FMTR0491 LDX I1 HDCTN FMTR0492 XIO 2 READ-X INITIATE READ FMTR0493 WAIT FMTR0494 LD 2 ISW-X WAIT ON IO FMTR0495 BSC Z- FMTR0496 MDX *-3 FMTR0497 BSC L ALT,Z FMTR0498 MDX L SETHD,13 ADJUST SETHD FMTR0499 NOP FMTR0500 MDX L LCNTL,-1 DONE FMTR0501 MDX CB1Z NO FMTR0502 MDX L SETHD,-26 RESTORE SET HEAD FMTR0503 LD L BUFF GET LAST PATTERN FMTR0504 BSC L ALTOK,+- EXIT ON 0,FALL ON F,A,5 FMTR0505 BSC L T1,- BRANCH ON 5, FALL ON A,F FMTR0506 BSC L T9,E BRANCH ON F,FALL ON 5 FMTR0507 LD 2 H5555-X PATTERN = 5555 FMTR0508 MDX CB1X DO IT FMTR0509 T1 SRA 16 PATTERN = 0 FMTR0510 MDX CB1X DO IT FMTR0511 T9 LD 2 HAAAA-X MAKE IT AAAA FMTR0512 MDX CB1X FMTR0513 ALTOK MDX L TOTAL,-1 FMTR0514 MDX *+1 FMTR0515 MDX *+2 FMTR0516 BSC L LOP02 FMTR0517 * FMTR0518 * NOW WRITE TRACK 0 WITH DISK IPL PROGRAM FMTR0519 * FMTR0520 LD 2 HEADS-X GET NUM OF HEADS FMTR0521 M 2 D26+1-X COMP SECTERS/CYL FMTR0522 SLT 16 TO ACC FMTR0523 STO L SPC SET IN DISK IPL PROG FMTR0524 STO 2 SEPCY-X SAVE FOR LATTER FMTR0525 M 2 CYLS-X COMP TOTAL SECTORS FMTR0526 D 2 D1624-X+1 COMP LOGICAL SEGMENTS FMTR0527 STO 2 TOTAL-X SAVE FOR LATTER FMTR0528 STO L MAX SET IN DISK IPL PROG FMTR0529 LDD 2 D26-X INITIALIZE START SECTOR ADDRFMTR0530 STD 2 SECTS-X SKIPPING TRACK 0 FMTR0531 LDX L3 320 FMTR0532 STX L3 IOB SET WRITE WDCT FMTR0533 STX L3 TWORD SET FOR TRANSFER FMTR0534 SRA 16 FMTR0535 KPL STO L3 BUFF-1 CLEAR TO MOVE DIPL FMTR0536 MDX 3 -1 FMTR0537 MDX KPL FMTR0538 LDX L3 $END-ZERO LENGTH IF DIPL PROG FMTR0539 LMOV LD L3 ZERO-1 GET WORD FMTR0540 STO L3 BUFF-1 TO BUFFER FMTR0541 MDX 3 -1 FMTR0542 MDX LMOV FMTR0543 LDX 3 1 FMTR0544 STX L3 ISW SET FOR RESTORE INT FMTR0545 XIO 2 RESTO-X RESTORE DISK FMTR0546 LD 2 ISW-X FMTR0547 BSC Z- FMTR0548 MDX *-3 FMTR0549 LDX 3 2 FMTR0550 BSC L ERROR,Z BRANCH IF ERROR FMTR0551 LDX 3 5 SET FOR WRITE INT FMTR0552 STX L3 ISW FMTR0553 XIO 2 WRITE-X WRITE DISK IPL PROG FMTR0554 LD 2 ISW-X WAIT TILL DONE FMTR0555 BSC Z- FMTR0556 MDX *-3 FMTR0557 LDX 3 6 WRITE ID ERROR FMTR0558 BSC L ERROR,Z BRANCH IF ERROR FMTR0559 LD 2 HD000-X SET HEAD TO TRACK ZERO FMTR0560 STO 2 SETHD-X FMTR0561 XIO 2 SETHD-X SET HEAD FMTR0562 XIO 2 TWORD-X TRANS WDCT FMTR0563 XIO 2 XWORD-X LOAD REG FMTR0564 LDX 3 6 SET FOR READ INT FMTR0565 STX L3 ISW FMTR0566 XIO 2 READ-X READ IT BACK FMTR0567 LD 2 ISW-X FMTR0568 BSC Z- FMTR0569 MDX *-3 FMTR0570 LDX 3 6 WRITE ID ERROR FMTR0571 BSC L ERROR,Z BRANCH IF BAD FMTR0572 * FMTR0573 * NOW WRITE CART ID ON EACH SEGEMENT FMTR0574 * FMTR0575 LDX L3 320*3 FMTR0576 STX L3 IOB SET WORD COUNT FMTR0577 STX L3 TWORD SET FOR TRANSFER FMTR0578 SRA 16 CLEA BUFFER FOR DCIP FMTR0579 ASD STO L3 BUFF-1 FMTR0580 MDX 3 -1 FMTR0581 MDX ASD FMTR0582 LDX L1 PROGE-PROG NON SYSTEM CART ERR PROG FMTR0583 LOP1 LD L1 PROG-1 FMTR0584 STO L1 BUFF+/10E-1 FMTR0585 MDX 1 -1 FMTR0586 MDX LOP1 FMTR0587 LD 2 H658-X SET DEF CYLS FMTR0588 LDX L1 BUFF FMTR0589 STO 1 0 FMTR0590 STO 1 1 FMTR0591 STO 1 2 FMTR0592 LD 2 HFFFE-X SET TYPE CODE FMTR0593 STO 1 7 FMTR0594 LD 2 H0100-X SET TO CYTOS A A A FMTR0595 STO 1 /10 AUTHOR ONLY FMTR0596 STO 1 /12 FMTR0597 STO 1 /16 FMTR0598 LD 2 HF000-X FMTR0599 STO 1 /14 FMTR0600 LD 2 H7FF0-X FMTR0601 STO 1 /15 FMTR0602 LD 2 CTIDI-X GET CART ID FMTR0603 STO 1 3 FMTR0604 LDX L1 BUFF+320 FMTR0605 STO 1 /37 FMTR0606 LD 2 H0180-X FMTR0607 STO 1 /23 FMTR0608 STO 1 /28 FMTR0609 LD 2 H0002-X FMTR0610 STO 1 /50 FMTR0611 LD 2 H0008-X FMTR0612 STO 1 /3C FMTR0613 LD 2 H0018-X FMTR0614 STO 1 /2D FMTR0615 LDX L1 BUFF+320+320 FMTR0616 STO 1 /01 FMTR0617 LD 2 H0138-X FMTR0618 STO 1 /03 FMTR0619 LD 2 H7112-X FMTR0620 STO 1 /05 FMTR0621 LD 2 H4528-X FMTR0622 STO 1 /06 FMTR0623 LD 2 H6280-X FMTR0624 STO 1 /07 FMTR0625 BSC L RIDL FMTR0626 GOGO1 MDX L CTIDI,1 NEXT CART ID FMTR0627 NOP FMTR0628 LD 2 CTIDI-X FMTR0629 BSC L GARY3,Z- FMTR0630 GARY2 SRA 16 FMTR0631 STO 2 CTIDI-X FMTR0632 MDX GOGO1 FMTR0633 GARY3 BSC L GARY SWITCH FMTR0634 LD 2 CTIDI-X FMTR0635 AND 2 H000F-X FMTR0636 S 2 D9-X FMTR0637 BSC L GARY,+ FMTR0638 LD 2 CTIDI-X FMTR0639 SRA 4 FMTR0640 A 2 D1-X FMTR0641 SLA 4 FMTR0642 STO 2 CTIDI-X FMTR0643 SRA 4 FMTR0644 AND 2 H000F-X FMTR0645 S 2 D9-X FMTR0646 BSC L GARY,+ FMTR0647 LD 2 CTIDI-X FMTR0648 AND 2 HFF0F-X FMTR0649 A 2 H0100-X FMTR0650 STO 2 CTIDI-X FMTR0651 SRA 8 FMTR0652 AND 2 H000F-X FMTR0653 S 2 D9-X FMTR0654 BSC L GARY,+ FMTR0655 LD 2 CTIDI-X FMTR0656 AND 2 HF0FF-X FMTR0657 A 2 H1000-X FMTR0658 STO 2 CTIDI-X FMTR0659 BSC L GARY2,+ FMTR0660 GARY LD 2 CTIDI-X GET CART ID FMTR0661 STO L BUFF+3 TO SECT 0 FMTR0662 STO L BUFF+320+/37 TO DECOM FMTR0663 RIDL LDD 2 SECTS-X GET ABS SECTOR FMTR0664 D 2 SEPCY-X DIV BY SECT/CYL FMTR0665 OR 2 H1000-X GEN SEEK IOCC FMTR0666 STO 2 SEEK-X SET FOR SEEK FMTR0667 SRA 16 GET RESIDUAL FMTR0668 D 2 D26+1-X COMP TRACK FMTR0669 SLT 9 NOW FMTR0670 SRA 9 COMBINE HEAD/SECT FMTR0671 SLT 7 FMTR0672 OR 2 HD000-X FOR SET HEAD FMTR0673 STO 2 SETHD-X SET FOR XIO FMTR0674 LDX 3 2 SET FOR SEEK INT FMTR0675 STX L3 ISW FMTR0676 XIO 2 SEEK-X DO SEEK FMTR0677 LD 2 ISW-X WAIT TILL DONE FMTR0678 BSC Z- FMTR0679 MDX *-3 FMTR0680 LDX 3 3 SEEK ERROR FMTR0681 BSC L ERROR,Z FMTR0682 XIO 2 SETHD-X SET SECTOR HEAD FMTR0683 LDX 3 5 SET FOR WRITE INT FMTR0684 STX L3 ISW FMTR0685 XIO 2 WRITE-X WRITE THREE SECTORS FMTR0686 LD 2 ISW-X WAIT ON WRITE FMTR0687 BSC Z- FMTR0688 MDX *-3 FMTR0689 LDX 3 6 WRITE ID ERROR FMTR0690 BSC L ERROR,Z BRANCH IF ERROR FMTR0691 XIO 2 SETHD-X RESET HEAD FMTR0692 LDX 3 2 SET FOR SEEK INT FMTR0693 STX L3 ISW FMTR0694 XIO 2 SEEK-X SEEK DRIVE FMTR0695 LD 2 ISW-X FMTR0696 BSC Z- FMTR0697 MDX *-3 FMTR0698 LDX 3 3 FMTR0699 BSC L ERROR,Z BRANCH IF SEEK ERROR FMTR0700 LDX 3 6 SET FOR COMP/READ INT FMTR0701 STX L3 ISW FMTR0702 XIO 2 COMPR-X DO COMPARE FMTR0703 LD 2 ISW-X FMTR0704 BSC Z- FMTR0705 MDX *-3 FMTR0706 LDX 3 6 BAD ID WRITE FMTR0707 BSC L ERROR,Z BRANCH IF ERROR FMTR0708 LDD 2 SECTS-X GET ABS SECTOR FMTR0709 AD 2 D1624-X ADJUST TO NET SEG FMTR0710 STD 2 SECTS-X RESTORE FMTR0711 MDX L TOTAL,-1 FMTR0712 MDX *+1 FMTR0713 MDX *+2 FMTR0714 BSC L GOGO1 AGAIN FMTR0715 LDX 3 5 SET FOR LOGOF MESSAGE FMTR0716 ERX BSC L ERROR SIGN OFF FMTR0717 * FMTR0718 * DEFECTIVE TRACK PROCESSING FMTR0719 * FMTR0720 * * FMTR0721 * NOW WRITE ONE EXTRA SECTOR ON TRACK * FMTR0722 * AND USE THAT SECTOR AS AN ALTERNATE. * FMTR0723 * TO MAKE SURE WE HAVE 28 GOOD HEADERS, * FMTR0724 * (1ST CAN BE BAD) HEADER WRITES ARE * FMTR0725 * REPEATEDLY ATTEMPTED EXPANDING THE * FMTR0726 * WORD COUNT OF THE 1ST SECTOR (PAD SECT) * FMTR0727 * UNTIL ALL HEADERS ARE GOOD. * FMTR0728 * WE THEN END UP WITH 27 GOOD HEADERS * FMTR0729 * AND HOPEFULLY 26 GOOD SECTORS OUT OF * FMTR0730 * THE 27. * FMTR0731 * IF THERE AREN'T 26 GOOD SECTORS, THEN * FMTR0732 * THE PROCESS REPEATS WITH INCREASING THE * FMTR0733 * PAD SECOTR COUNT AND WRITING NEW HEADERS. * FMTR0734 * WHEN THE PAD SECTOR COUNT REACHES 160, * FMTR0735 * AND WE STILL CAN'T FIND 26 GOOD SECTORS OUT * FMTR0736 * OF THE 27, THE PACK IS CONSIDERED * FMTR0737 * DEFECTIVE. THE ROUTINE DOES NOT CURRENTLY * FMTR0738 * DO THIS NOW, BUT IS IS EXPECTED AT A LATER * FMTR0739 * TIME THAT THIS ROUTINE WILL MARK OUT ONLY * FMTR0740 * THE 1624 SECTOR SEGEMENT THAT HAS THE ERROR * FMTR0741 * AS PART IF THE WRITE ID PROCESSING. * FMTR0742 * * FMTR0743 ALT LD 2 D9-X SET INITAL PAD LENGTH FMTR0744 STO 2 SLID-X FMTR0745 LD L HEADR+27*3-3 GET LAST HEAD/SECTOR IND FMTR0746 STO 2 LH-X LAST SECT AND SAVE FMTR0747 SLIDE LD 2 SETHD-X GET CLEAR SELECT FMTR0748 SRA 7 CLEA IT FMTR0749 SLA 7 UP FMTR0750 STO 2 SETHD-X RESTORE IT FMTR0751 LD 2 SEEK-X GET SEEK IOCC FMTR0752 SLA 4 DUMP FUNCTION FMTR0753 SRA 4 POSITION TO CYLINDER FMTR0754 STO 2 OLDSK-X SAVE IT FMTR0755 BSI L CNVEB CONVERT FOR PRINT FMTR0756 DC DEFC FMTR0757 LD 2 SETHD-X GET HEAD FMTR0758 SLA 4 DUMP FUNCTION FMTR0759 SRA 11 GET JUST HEAD FMTR0760 STO 2 OLDSH-X SAVE IT FMTR0761 BSI L CNVEB CONVERT FOR PRINT FMTR0762 DC DEFT FMTR0763 LD 2 SLID-X INCREMENT PAD COUNT FMTR0764 A 2 D1-X BY ONE FMTR0765 STO 2 SLID-X RESTORE FMTR0766 BSI L CNVEB CONVERT FOR PRINT FMTR0767 DC SLIDP FMTR0768 XIO 2 $MASK-X MASK ALL FOR PRINT FMTR0769 BSI L TYPER PRINT ERROR FMTR0770 DC ALTM FMTR0771 XIO 2 $UNMK-X UNMASK ALL FMTR0772 LD 2 SLID-X GET SLIDE COUNT FMTR0773 EOR 2 D161-X AT MAX YET FMTR0774 LDX 3 7 DEFECTIVE PACK ERROR FMTR0775 BSC L ERROR,+- BRANCH IF BAD PACK FMTR0776 LDX L1 -28*3 LOAD HEADER WDCT FMTR0777 LD 2 DM1-X SET START SA FMTR0778 STO 2 SECTN-X FMTR0779 XOP01 LD 2 H0140-X SET WDCT IN HEADER FMTR0780 STO L1 HEADR+28*3 FMTR0781 LD 2 OLDSH-X GET HEAD FMTR0782 SLA 7 POSITION FMTR0783 OR 2 SECTN-X ADD SECTOR FMTR0784 STO L1 HEADR+28*3+1 FMTR0785 MDX L SECTN,1 NEXT SECTOR FMTR0786 NOP FMTR0787 LD 2 OLDSK-X GET CYLINDER FMTR0788 STO L1 HEADR+28*3+2 FMTR0789 MDX 1 3 NEXT SLOT FMTR0790 MDX XOP01 NOT DONE FMTR0791 LD 2 OLDSH-X GET HEAD FMTR0792 SLA 7 POSITION FMTR0793 OR 2 H007F-X PAD SECTOR ID FMTR0794 STO L HEADR+1 SET IN HEADERS FMTR0795 LD 2 SLID-X GET PAD WDCT FMTR0796 STO L HEADR SET IN HEADER FMTR0797 LDX 3 2 SEEK TO CYLINDER FMTR0798 STX L3 ISW INT FMTR0799 XIO 2 SEEK-X SEEK TO CYLINDER FMTR0800 LD 2 ISW-X WAIT FMTR0801 BSC Z- FMTR0802 MDX *-3 FMTR0803 LDX 3 3 SEEK ERROR FMTR0804 BSC L ERROR,Z FMTR0805 XIO 2 SETHD-X SET HEAD FMTR0806 LDX 3 3 SET FOR WRTIE FORMAT INT FMTR0807 STX L3 ISW FMTR0808 LDX L3 28*3 SET WRITE HDR WDCT FMTR0809 STX L3 HEADW FMTR0810 XIO 2 FMT-X FORMAT TRACK FMTR0811 LD 2 ISW-X WAIT FMTR0812 BSC Z- FMTR0813 MDX *-3 FMTR0814 LDX 3 4 WRITE FORMAT ERROR FMTR0815 BSC L ERROR,Z FMTR0816 XIO 2 SETHD-X SET HEAD FMTR0817 LDX 3 4 SET FFOR READ HDR INT FMTR0818 STX L3 ISW FMTR0819 LDX L3 28*3 SET READ HEADR WDCT FMTR0820 STX L3 HIOW FMTR0821 XIO 2 RDHDR-X READ HEADERS FMTR0822 LD 2 ISW-X WAIT FMTR0823 BSC Z- FMTR0824 MDX *-3 FMTR0825 LDX 3 27*3 SET TO COMPARE ALL BUT PAD FMTR0826 NC1 LD L3 HEADR-1+3 FMTR0827 EOR L3 HIO-1+3 FMTR0828 BSC L SLIDE,Z BRANCH IF ERROR FMTR0829 MDX 3 -1 ALL COMPARED FMTR0830 MDX NC1 FMTR0831 LD 2 DM1-X SET BAD SECT SW - FMTR0832 STO 2 BS-X FMTR0833 SRA 16 SET TO TEST SECTOR 0 FMTR0834 STO SAT FMTR0835 LDX 1 27 SET TO TEST 27 SECTORS FMTR0836 SATTY BSI L TPATT RUN SECTOR TEST FMTR0837 SAT DC *-* S/A FMTR0838 BSC L TPOKN,+- BRANCH IF OK FMTR0839 LD 2 BS-X GET BAD SECTOR SW FMTR0840 BSC L SLIDE,- BRANCH IF ONE PREV BAD FMTR0841 LD SAT GET SA FMTR0842 STO 2 BS-X SAVE BAD SECTOR FMTR0843 TPOKN MDX L SAT,1 NEXT SECTOR FMTR0844 MDX 1 -1 DONE FMTR0845 MDX SATTY NO FMTR0846 LD 2 BS-X GET BAD SECT SW FMTR0847 BSC L SUB,- BRANCH IF ONE BAD FMTR0848 LASTS LD 2 LH-X GET LAST SECT IND FMTR0849 STO L HEADR+28*3-6 TO SECT 26 FMTR0850 MDX TESTA GO TEST 26 SECTORS FMTR0851 SUB M 2 D28-X COMP ADDR OF FMTR0852 SLT 16 BAD HEADER FMTR0853 A 2 D3-X FMTR0854 STO MDX+1 FMTR0855 LDX L3 HEADR FMTR0856 MDX MDX L3 *-* XR3=BAD HEADER FMTR0857 LD 2 BS-X GET BAD SECTOR FMTR0858 EOR 2 H001A-X CHECK IF 27TH FMTR0859 BSC L LASTS,+- BRANCH IF 27TH IS BAD ONE FMTR0860 LD 2 H001A-X COMPUTE NO TO MOVE FMTR0861 S 2 BS-X FMTR0862 STO *+1 FMTR0863 LDX L1 *-* XR1=NO TO MOVE FMTR0864 LD 3 1 GET HEADR HEAD/SECOTR FMTR0865 SRA 7 DUMP SECTOR FMTR0866 SLA 7 REPOSITION FMTR0867 OR 2 H007E-X IDENTIFY AS DEF FMTR0868 STO 3 1 RESTORE FMTR0869 ADJ LD 3 1+3 GET NEXT HDR FMTR0870 S 2 D1-X ADJUST FOR BAD ONE FMTR0871 STO 3 1+3 RESTORE FMTR0872 MDX 3 3 NEXT HEADER FMTR0873 MDX 1 -1 DONE FMTR0874 MDX ADJ NO FMTR0875 LD 2 LH-X GET LAST HEAD/SECT IND FMTR0876 STO L HEADR+28*3-3 SET IN LAST SECT FMTR0877 TESTA LD 2 SETHD-X GET SET HEAD/SECT FMTR0878 SRA 7 DUMP FMTR0879 SLA 7 SECTOR FMTR0880 STO 2 SETHD-X RESTORE FMTR0881 LDX L3 320*13 SET R/W WDCT FMTR0882 STX L3 IOB IN BUFFER FMTR0883 STX L3 TWORD READ TRANS FMTR0884 LDX 3 2 SET INT SW FMTR0885 STX L3 ISW FMTR0886 XIO 2 SEEK-X FMTR0887 LD 2 ISW-X FMTR0888 BSC Z- FMTR0889 MDX *-3 FMTR0890 LDX 3 3 FMTR0891 BSC L ERROR,Z BRANCH IF ERROR FMTR0892 XIO 2 SETHD-X SET HEAD FMTR0893 LDX 3 3 SET INT SW FMTR0894 STX L3 ISW FMTR0895 XIO 2 FMT-X FORMAT TRACK FMTR0896 LD 2 ISW-X FMTR0897 BSC Z- FMTR0898 MDX *-3 FMTR0899 LDX 3 4 FMTR0900 BSC L ERROR,Z BRANCH IF ERROR FMTR0901 XIO 2 SETHD-X SET SECTOR/HEAD FMTR0902 LDX 3 4 FMTR0903 STX L3 ISW FMTR0904 XIO 2 RDHDR-X READ HEADER BACK FMTR0905 LD 2 ISW-X FMTR0906 BSC Z- FMTR0907 MDX *-3 FMTR0908 BSC L SLIDE,Z BRANCH IF ALT REQUIRED FMTR0909 LDX 3 27*3 FMTR0910 ZC1 LD L3 HEADR-1+3 COMPARE HEADER FMTR0911 EOR L3 HIO-1+3 FMTR0912 BSC L SLIDE,Z BRANCH IF ALT REQUIRED FMTR0913 MDX 3 -1 FMTR0914 MDX ZC1 FMTR0915 LD 2 DM1-X SET FOR ONES PATTERN FMTR0916 ZB1X LDX 3 2 SET LOOP CONTROL FMTR0917 STX L3 LCNTL COUNTER FMTR0918 LDX L3 320*13 CLEAR READ WRITE BUFFER FMTR0919 ZB1 STO L3 BUFF-1 FMTR0920 MDX 3 -1 FMTR0921 MDX ZB1 FMTR0922 ZB1Z LDX 3 2 SET FOR SEEK INT FMTR0923 STX L3 ISW FMTR0924 XIO 2 SEEK-X SEEK TO CYL FMTR0925 LD 2 ISW-X WAIT FMTR0926 BSC Z- FMTR0927 MDX *-3 FMTR0928 LDX 3 3 FMTR0929 BSC L ERROR,Z BRANCH IF SEEK ERROR FMTR0930 XIO 2 SETHD-X SET HEAD FOR WRITE FMTR0931 LDX 3 5 SET FOR WRITE INT FMTR0932 STX L3 ISW FMTR0933 XIO 2 WRITE-X INITATE WRITE FMTR0934 LD 2 ISW-X WAIT ON COMPLETION FMTR0935 BSC Z- SKIP IF DONE FMTR0936 MDX *-3 FMTR0937 BSC L SLIDE,Z BRANCH IF ERRRO FMTR0938 LDX 3 2 SET FOR SEEK INT FMTR0939 STX L3 ISW FMTR0940 XIO 2 SEEK-X SEEK TO CYL FMTR0941 LD 2 ISW-X WAIT FMTR0942 BSC Z- FMTR0943 MDX *-3 FMTR0944 LDX 3 3 FMTR0945 BSC L ERROR,Z BRANCH ERROR ON SEEK FMTR0946 XIO 2 SETHD-X SET HEAD FMTR0947 XIO 2 TWORD-X TO CONTROLLER FMTR0948 XIO 2 XWORD-X XEQ WORD COUNT INST FMTR0949 LDX 3 6 SET FOR INT FMTR0950 STX L3 ISW OM READ FMTR0951 XIO 2 READ-X INITIATE READ FMTR0952 LD 2 ISW-X WAIT ON IO FMTR0953 BSC Z- FMTR0954 MDX *-3 FMTR0955 BSC L SLIDE,Z FMTR0956 MDX L SETHD,13 ADJUST SETHD FMTR0957 NOP FMTR0958 MDX L LCNTL,-1 DONE FMTR0959 MDX ZB1Z NO FMTR0960 MDX L SETHD,-26 RESTORE SET HEAD FMTR0961 LD L BUFF GET LAST PATTERN FMTR0962 BSC L ALTOK,+- EXIT ON 0,FALL ON F,A,5 FMTR0963 BSC L Q1,- BRANCH ON 5, FALL ON A,F FMTR0964 BSC L Q9,E BRANCH ON F,FALL ON 5 FMTR0965 LD 2 H5555-X PATTERN = 5555 FMTR0966 MDX ZB1X DO IT FMTR0967 Q1 SRA 16 PATTERN = 0 FMTR0968 MDX ZB1X DO IT FMTR0969 Q9 LD 2 HAAAA-X MAKE IT AAAA FMTR0970 MDX ZB1X FMTR0971 TPATT DC *-* ENTRY FMTR0972 LD 2 SETHD-X GET HEAD/SECTOR FMTR0973 SRA 7 DUMP FMTR0974 SLA 7 SECTOR FMTR0975 OR I TPATT ADD SECTOR FMTR0976 STO 2 SETHD-X SET FOR XIO FMTR0977 MDX L TPATT,1 SET RTN ADDR FMTR0978 LDX L3 320 SET R/W WDCT FMTR0979 STX L3 IOB IN BUFFER FMTR0980 STX L3 TWORD READ TRANS FMTR0981 LD 2 DM1-X SET FOR ONES PATTERN FMTR0982 LDX 3 2 SET FOR SEEK INT FMTR0983 STX L3 ISW FMTR0984 XIO 2 SEEK-X SEEK TO CYL FMTR0985 LD 2 ISW-X WAIT FMTR0986 BSC Z- FMTR0987 MDX *-3 FMTR0988 LDX 3 3 FMTR0989 BSC L ERROR,Z BRANCH IF SEEK ERROR FMTR0990 K1 LDX L3 320 CLEAR READ WRITE BUFFER FMTR0991 K2 STO L3 BUFF-1 FMTR0992 MDX 3 -1 FMTR0993 MDX K2 FMTR0994 XIO 2 SETHD-X SET HEAD FOR WRITE FMTR0995 LDX 3 5 SET FOR WRITE INT FMTR0996 STX L3 ISW FMTR0997 XIO 2 WRITE-X INITATE WRITE FMTR0998 LD 2 ISW-X WAIT ON COMPLETION FMTR0999 BSC Z- SKIP IF DONE FMTR1000 MDX *-3 FMTR1001 BSC I TPATT,Z BRANCH IF ERRRO FMTR1002 XIO 2 SETHD-X SET HEAD FMTR1003 XIO 2 TWORD-X TO CONTROLLER FMTR1004 XIO 2 XWORD-X XEQ WORD COUNT INST FMTR1005 LDX 3 6 SET FOR INT FMTR1006 STX L3 ISW OM READ FMTR1007 XIO 2 READ-X INITIATE READ FMTR1008 LD 2 ISW-X WAIT ON IO FMTR1009 BSC Z- FMTR1010 MDX *-3 FMTR1011 BSC I TPATT,Z FMTR1012 LD L BUFF GET LAST PATTERN FMTR1013 BSC I TPATT,+- EXIT ON 0,FALL ON F,A,5 FMTR1014 BSC L P1,- BRANCH ON 5, FALL ON A,F FMTR1015 BSC L P9,E BRANCH ON F,FALL ON 5 FMTR1016 LD 2 H5555-X PATTERN = 5555 FMTR1017 MDX K1 DO IT FMTR1018 P1 SRA 16 PATTERN = 0 FMTR1019 MDX K1 DO IT FMTR1020 P9 LD 2 HAAAA-X MAKE IT AAAA FMTR1021 MDX K1 FMTR1022 * FMTR1023 * CONSTANTS, WORK AREA AND IOCC'S FMTR1024 * FMTR1025 HEADS DEC 0 FMTR1026 CYLS EQU *-1 FMTR1027 H0007 DC 7 FMTR1028 SPIN DC *-* SPINDEL FMTR1029 G0001 DC 0001 FMTR1030 KIND DC *-* FMTR1031 H4100 DC /4100 RESERVE SKELETON FMTR1032 HF020 DC /F020 SELECT SKEL FMTR1033 HA400 DC /A400 SEL,RDY,ONLIN IN SUB STAT FMTR1034 TOTAL DC *-* TOTAL TRACKS FMTR1035 HDCTN DC *-* HEAD COUNTER FMTR1036 HD080 DC /D080 FMTR1037 RIDIN DC *-* FMTR1038 D2560 DC 2560 FMTR1039 UFUN DC *-* FMTR1040 CYCTN DC *-* CYLINDER COUNTER FMTR1041 SECTN DC *-* SECTOR COUNTER FMTR1042 H0140 DC /0140 WORD PER SECOTR FMTR1043 H0800 DC /0800 LAST SECTOR BIT FMTR1044 H1000 DC /1000 LAST HEAD BIT FMTR1045 H2000 DC /2000 LAST CYLINDER BIT FMTR1046 HD000 DC /D000 CONSTANT FMTR1047 C DC *-* CURRENT CYL POS FMTR1048 DM1 DC -1 CONSTANT FMTR1049 H5555 DC /5555 FMTR1050 HAAAA DC /AAAA FMTR1051 H007F DC /007F PUSDO PAD SECT ID FMTR1052 D10 DC 10 PAD SECTOR WDCT FMTR1053 LCNTL DC *-* LOOP CONTROL COUNTER FMTR1054 D20 DC 20 FMTR1055 D28 DC 28 FMTR1056 D3 DC 3 FMTR1057 H001A DC /001A FMTR1058 H007E DC /007E FMTR1059 OLDSK DC *-* FMTR1060 OLDSH DC *-* FMTR1061 BS DC *-* BAD SECT SW FMTR1062 LH DC *-* LAST HEAD/SECT WORD FMTR1063 SLID DC *-* PAD COUNT FOR ERROR RECOV FMTR1064 D161 DC 161 MAX PAD COUNT FMTR1065 CTIDI DC *-* CART ID FMTR1066 SEPCY DC *-* SECT/CYLINDER FMTR1067 D26 DEC 26 FMTR1068 D1624 DEC 1624 FMTR1069 SECTS DEC 0 FMTR1070 H658 DC /658 FMTR1071 HFFFE DC /FFFE FMTR1072 H0100 DC /0100 FMTR1073 HF000 DC /F000 FMTR1074 H7FF0 DC /7FF0 FMTR1075 H0180 DC /0180 FMTR1076 H0002 DC /0002 FMTR1077 H0008 DC /0008 FMTR1078 H0018 DC /0018 FMTR1079 H0138 DC /0138 FMTR1080 H7112 DC /7112 FMTR1081 H4528 DC /4528 FMTR1082 H6280 DC /6280 FMTR1083 H000F DC /000F FMTR1084 D9 DC 9 FMTR1085 D1 DC 1 FMTR1086 HFF0F DC /FF0F FMTR1087 HF0FF DC /F0FF FMTR1088 X BSS E 0 FMTR1089 COMPR DC IOB COMPARE IOCC FMTR1090 DC /0500+ACDE FMTR1091 $MASK DC /FFFF MASK ALL IOCC FMTR1092 DC /0480 FMTR1093 $UNMK DC /0000 UNMASK ALL IOCC FMTR1094 DC /0480 FMTR1095 RESRV DC *-* RESERV IOCC1 FMTR1096 DC /0400+ACDE FMTR1097 SENRV DC 0 FMTR1098 DC /0724+ACDE FMTR1099 SEL DC *-* SELECT IOCC 1 FMTR1100 DC /0400+ACDE FMTR1101 SUBST DC 0 FMTR1102 DC /0722+ACDE FMTR1103 RESTO DC /0050 RESTORE IOCC FMTR1104 DC /0400+ACDE FMTR1105 SUBIL DC 0 SENSE SUB ILSW FMTR1106 DC /0720+ACDE FMTR1107 RSSUB DC *-* RESET SUB ILSW STAT FMTR1108 DC /0400+ACDE FMTR1109 RSSUT DC /5000 RESET SUB STATUS FMTR1110 DC /0400+ACDE FMTR1111 DSWRS DC 0 SENSE AND RESET DSW FMTR1112 DC /072D+ACDE FMTR1113 SEEK DC *-* SEEK IOCC FMTR1114 DC /0400+ACDE FMTR1115 SETHD DC *-* SET HEAD/SECTOR IOCC FMTR1116 DC /0400+ACDE FMTR1117 FMT DC HEADW WRITE FORMAT IOCC FMTR1118 DC /0520+ACDE FMTR1119 RDHDR DC HIOW READ HEADERS IOCC FMTR1120 DC /06C0+ACDE FMTR1121 TWORD DC 13*320 TRANS READ WDCT FMTR1122 DC /0442+ACDE FMTR1123 XWORD DC /0BAF XEQ WDCT TRANS FMTR1124 DC /0441+ACDE FMTR1125 WRITE DC IOB INITIATE WRITE IOCC FMTR1126 DC /0560+ACDE FMTR1127 READ DC IOB INITIATE READ IOCC FMTR1128 DC /06E0+ACDE FMTR1129 BSS E 0 FMTR1130 TAB DC 19 250 PLATTERS FMTR1131 DC 822 FMTR1132 DC 19 125 PLATTERS FMTR1133 DC 411 FMTR1134 DC 5 65 PLATTERS FMTR1135 DC 822 FMTR1136 DC 5 32 PLATTERS FMTR1137 DC 411 FMTR1138 * FMTR1139 ISW DC *-* INTERRUPT SW FMTR1140 * FMTR1141 ERROR XIO 2 $MASK-X MASK ALL FMTR1142 XIO DSELC DESLECT FORMATTER FMTR1143 XIO RELES RELEASE DISK FMTR1144 LD L3 ERCOD GET ERROR MESSAGE FMTR1145 STO PRINT FMTR1146 BSI L TYPER FMTR1147 PRINT DC *-* FMTR1148 LDX 0 RESTART FMTR1149 * FMTR1150 BSS E 0 FMTR1151 DSELC DC /F028 DESELECT IOCC1 FMTR1152 DC /0400+ACDE FMTR1153 RELES DC /4100 RELEASE IOCC 1 FMTR1154 DC /0400+ACDE FMTR1155 * FMTR1156 ERCOD DC EM0 FMTR1157 DC EM1 FMTR1158 DC EM2 FMTR1159 DC EM3 FMTR1160 DC EM4 FMTR1161 DC EM5 FMTR1162 DC EM6 FMTR1163 DC EM7 FMTR1164 DC EM8 FMTR1165 DC EM9 FMTR1166 DC EM10 FMTR1167 DC EM11 FMTR1168 DC EM12 FMTR1169 DC EM13 FMTR1170 * FMTR1171 EM0 DC EM0E-* FMTR1172 DMES 2 CAN''T RESERVE SPINDEL'E FMTR1173 EM0E EQU * FMTR1174 EM1 DC EM1E-* FMTR1175 DMES 2 CAN''T SELECT,NOT READY, NOT ONLIN'E FMTR1176 EM1E EQU * FMTR1177 EM2 DC EM2E-* FMTR1178 DMES 2 ERROR OCCURED WHEN RESTORING DRIVE'E FMTR1179 EM2E EQU * FMTR1180 EM3 DC EM3E-* FMTR1181 DMES 2 SEEK ERROR ON FORMAT WRITE'E FMTR1182 EM3E EQU * FMTR1183 EM4 DC EM4E-* FMTR1184 DMES 2 WRITE ERROR ON FORMAT WRITE'E FMTR1185 EM4E EQU * FMTR1186 EM5 DC EM5E-* FMTR1187 DMES 2 INITALIZATION COMPLETE'E FMTR1188 EM5E EQU * FMTR1189 EM6 DC EM6E-* FMTR1190 DMES 2 WRITE SEGEMENT ID ERROR'E FMTR1191 EM6E EQU * FMTR1192 EM7 DC EM7E-* FMTR1193 DMES 2 DEFECTIVE DISK PACK'E FMTR1194 EM7E EQU * FMTR1195 EM8 DC EM8E-* FMTR1196 DMES 2 EXCESSIVE TAPE ERRORS'E FMTR1197 EM8E EQU * FMTR1198 EM9 DC EM9E-* FMTR1199 DMES 2 INVALID DCOM ON TAPE/DISK'E FMT EM9E EQU * FMTR1201 EM10 DC EM10E-* FMTR1202 DMES 2 DISK WRITE ERROR'E FMTR1203 EM10E EQU * FMTR1204 EM11 DC EM11E-* FMTR1205 DMES 2 DISK READ ERROR'E FMTR1206 EM11E EQU * FMTR1207 EM12 DC EM12E-* FMTR1208 DMES 2 TAPE LOAD COMPLETE'E FMTR1209 EM12E EQU * FMTR1210 EM13 DC EM13E-* FMTR1211 DMES 2 TAPE/DISK COMPARE ERROR'E FMTR1212 EM13E EQU * FMTR1213 MM1 DC MM1E-* FMTR1214 DC /1525 FMTR1215 DMES 2 TSO 18/30 3330 TYPE DISK FORMATTER'E FMTR1216 DMES 2 /TAPE TO DISK UTILITY'E FMTR1217 DC /1525 FMTR1218 DMES 2 SWITCH 0 ON TO FORMAT'E FMTR1219 DC /1525 FMTR1220 DMES 2 SWITCH 1 ON FOR TAPE TO DISK'E FMTR1221 DC /1525 FMTR1222 MM1E EQU * FMTR1223 MM2 DC MM2E-* FMTR1224 DC /1525 FMTR1225 DMES 2 40 MEGABYTE 5 HEADS, 400 CYLS'E FMTR1226 DC /1525 FMTR1227 DMES 2 80 MEGABYTE 5 HEADS, 800 CYLS'E FMTR1228 DC /1525 FMTR1229 DMES 2 150 MEGABYTE 19 HEADS, 400 CYLS'E FMTR1230 DC /1525 FMTR1231 DMES 2 300 MEGABYTE 19 HEADS, 800 CYLS'E FMTR1232 DC /1525 FMTR1233 DMES 2 SW 0 ON FOR 5 HEADS'E FMTR1234 DC /1525 FMTR1235 DMES 2 SW 0 OFF FOR 19 HEADS'E FMTR1236 DC /1525 FMTR1237 DMES 2 SW 1 ON FOR 400 CYLINDERS'E FMTR1238 DC /1525 FMTR1239 DMES 2 SW 1 OFF FOR 800 CYLINDERS'E FMTR1240 DC /1525 FMTR1241 DMES 2 SWITCHES 13 THRU 15 FOR SPINDLE, 'E FMTR1242 DMES 2 /0 TO /7'E FMTR1243 MM2E EQU * FMTR1244 MM3 DC MM3E-* FMTR1245 DMES 2 TAPE TO DISK UTILITY'E FMTR1246 DC /1525 FMTR1247 DMES 2 MOUNT TAPE AND READY TAPE UNIT 0'E FMTR1248 DC /1525 FMTR1249 DMES 2 TAPE WILL BE LOADED ON'E FMTR1250 DC /1525 FMTR1251 DMES 2 LOGICAL PLATTER 0'E FMTR1252 DMES 2 PRESS STEP'E FMTR1253 MM3E EQU * FMTR1254 MM4 DC MM4E-* FMTR1255 DMES 2 SET STARTING CART ID IN 'E FMTR1256 DMES 2 DATA SWITCHES 1 THRU 15'E FMTR1257 DC /1525 FMTR1258 DMES 2 DATA SW 0 ON WILL CAUSE THE 'E FMTR1259 DC /1525 FMTR1260 DMES 2 CART ID''S TO BE INCREMENTED 'E FMTR1261 DC /1525 FMTR1262 DMES 2 DECIMALLY INSTEAD OF HEXADECIMALLY'E FMTR1263 MM4E EQU * FMTR1264 IVIDE DC INIDF-* DMES 2 INVALID CART ID ENTERED'E INIDF EQU * MM5 DC MM5E-* FMTR1265 DMES 2 TAPE UNIT NOT READY'E FMTR1266 MM5E EQU * FMTR1267 ALTM DC ALTME-* FMTR1268 DMES 2 DATA ERROR 'E FMTR1269 DMES 2 HEAD 'E FMTR1270 DEFT DMES 2 XXXX CYLIN 'E FMTR1271 DEFC DMES 2 XXXX'E FMTR1272 DMES 2 PAD LENGTH 'E FMTR1273 SLIDP DMES 2 XXXX'E FMTR1274 ALTME EQU * FMTR1275 * FMTR1276 * INTERRUPT PROCESSING FMTR1277 * FMTR1278 DKINT DC *-* ENTRY FMTR1279 LDX L2 X XR2 TO CONSTANTS FMTR1280 LDX I3 ISW XR3 TO OPCOP REASON FMTR1281 SRA 16 CLEAR INT SW FMTR1282 STO 2 ISW-X TO ZERO FMTR1283 XIO 2 DSWRS-X SENSE AND RESET DSW FMTR1284 * FMTR1285 * DSW STATUS WORD FMTR1286 * FMTR1287 * BIT 15 FORMATTER/CONTROLLER NOT BUSY FMTR1288 * BIT 14 FORMATTER NOT BUSY ON PARTNER CHANNEL FMTR1289 * BIT 13 TRANSFER COMPLETE FMTR1290 * BIT 12 READ/WRITE/COMPARE ATTEMPTED WHILE FMTR1291 * FORMATTER WAS BUSY FMTR1292 * BIT 11 CHAINING ERROR FMTR1293 * BIT 10 PARITY OR STO PROTECT ERROR FMTR1294 * BIT 09 FORMATTER INTERRUPT FMTR1295 * BIT 08 BUEL PORT DISK DRIVE IS FMTR1296 * BUSY ON OTHER PORT FMTR1297 * BIT 07 DESELECT OR RELEASED BY PARTNER FMTR1298 * CHANNEL WHEN INTERRUPT REQUESTED FMTR1299 * BIT 06 NOT USED, ALWAYS ZERO FMTR1300 * BIT 05 READ,WRITE,COMPARE OP/COP GOOD FMTR1301 * BIT 04 READ,WRITE,COMPARE OP/COP BAD FMTR1302 * BITS 03-00 NOT USED ALWAYS 0 FMTR1303 * FMTR1304 STO DSW SAVE INFORMATION FMTR1305 XIO 2 SUBST-X GET SUB STATUS FMTR1306 * FMTR1307 * SUBSTATUS WORD FMTR1308 * FMTR1309 * BIT 15 NO HEADER FOUND FMTR1310 * BIT 14 BAD SECTOR BIT ON IN HEADER FMTR1311 * BIT 13 CORRECTABLE READ ERROR (USE ECC) FMTR1312 * BIT 12 UNCORRECTABLE READ ERR (USE OFSET ECT) FMTR1313 * BIT 11 WRITE PROTECT BIT ON IN HDR ON WRITE FMTR1314 * BIT 10 WRITE PROTECTED DISK DRIVE FMTR1315 * BIT 09 OPERATION TRIED BEYOND LAST SECTOR BIT FMTR1316 * BIT 08 UNCORRECTABLE HEADER (NOT SUPPORTED) FMTR1317 * BIT 07 NO SELECT OR MUTIPLE SELECT PLUG FMTR1318 * BIT 06 SELECTED DISK IS BUSY FMTR1319 * BIT 05 SELECTED DISK IS ONLINE FMTR1320 * BIT 04 SELECTED DISK HAS OPEN CABLE FMTR1321 * BOT 03 MISCOMPARE ON COMPARE COMMAND FMTR1322 * BIT 02 SELECTED DISK NOT READY FMTR1323 * BIT 01 DISK ERROR (ILL FUN OR DISK MALFUN) FMTR1324 * BIT 00 REQUESTING CHANNEL HAS FORMATTER CONTROL) FMTR1325 * FMTR1326 STO SUBIN SAVE IT FMTR1327 XIO 2 RSSUT-X RESET SUB STATUS FMTR1328 XIO 2 SUBIL-X GET SUB ILSW FMTR1329 * FMTR1330 * SUB ILSW STATUS WORD FMTR1331 * FMTR1332 * BIT 15 SEEK COMP DRIVE 0 FMTR1333 * BIT 14 SEEK COMP DRIVE 1 FMTR1334 * BIT 13 SEEK COMP DRIVE 2 FMTR1335 * BIT 12 SEEK COMP DRIVE 3 FMTR1336 * BIT 11 SEEK COMP DRIVE 4 FMTR1337 * BIT 10 SEEK COMP DRIVE 5 FMTR1338 * BIT 09 SEEK COMP DRIVE 6 FMTR1339 * BIT 08 SEEK COMP DRIVE 7 FMTR1340 * BIT 07 RELEASE/DESELECT INT FMTR1341 * BIT 06 END OF TABLE INT NOT USED FMTR1342 * BIT 05 OP/COP READ,WRITE,COMPARE GOOD FMTR1343 * BIT 04 OP/COP READ,WRITE,COMPARE BAD FMTR1344 * FMTR1345 OR H3000 ADD FUNCTION FMTR1346 STO 2 RSSUB-X SET TO RESET SUB ILSW FMTR1347 XIO 2 RSSUB-X RESET SUB ILSW FMTR1348 * FMTR1349 BSC I3 BOTAB BRANCH ACCORDING TO INTER FMTR1350 * FMTR1351 H3000 DC /3000 CONSTANT FMTR1352 H0001 DC /0001 CONSANT FMTR1353 SUBIN DC *-* SUB STATUS FMTR1354 DSW DC *-* DSW FMTR1355 * FMTR1356 BOTAB DC EXTRA ESTRA INT FMTR1357 DC RESIT RESTORE FMTR1358 DC RESIT SEEK INT FMTR1359 DC FWINT FORMAT WRITE INT FMTR1360 DC FWINT READ HEADERS INT FMTR1361 DC FWINT WRITE DATA INT FMTR1362 DC FWINT READ DATA INT FMTR1363 * FMTR1364 EXTRA LD 2 RSSUB-X FMTR1365 RTE 16 FMTR1366 LD L LEV0 GET INT LOC FMTR1367 DC /7000 DUBUG NOP FMTR1368 INTEX BSC I DKINT RETURN FMTR1369 * FMTR1370 RESIT LD 2 SPIN-X GET SPINDEL FMTR1371 STO *+1 TO XR1 FMTR1372 LDX L1 *-* FMTR1373 LD H0001 GET DRIVE BIT FMTR1374 SLA 1 0 POSITION TO SEEK SLOT FMTR1375 EOR 2 RSSUB-X CHECK IF ON FMTR1376 SLA 4 DUMP FUNCTION FMTR1377 BSC L INTEX,-+ BRANCH IF NO ERROR FMTR1378 INTER LD SUBIN GET SUB STATUS FMTR1379 RTE 16 TO EXT FMTR1380 LD 2 RSSUB-X GET SUB ILSW FMTR1381 LDX I1 DSW GET DSW FMTR1382 DC /7000 DEBUG NOP FMTR1383 LDX 1 -1 FMTR1384 STX L1 ISW SET ERROR SW FMTR1385 MDX INTEX FMTR1386 * FMTR1387 FWINT LD 2 RSSUB-X GET SUB ILSW FMTR1388 SLA 5 OP/COP GOOD TO SIGN FMTR1389 BSC I DKINT,Z+ BANCH IF OK FMTR1390 MDX INTER FLAG ERROR FMTR1391 * FMTR1392 * FMTR1393 * SUBROUTINE TO GET AND PRINT SWITCHES FMTR1394 * FMTR1395 GETSW DC *-* ENTRY FMTR1396 XIO SWNSW READ SW TO ACC FMTR1397 STO SWNSW SAVE FMTR1398 BSI L CNVEB CONVERT FOR PRINT FMTR1399 DC SMSG FMTR1400 BSI L TYPER TYPE VALUE FMTR1401 DC SMSGA FMTR1402 LD SWNSW GET BACK VALUE FMTR1403 BSC I GETSW RETURN FMTR1404 BSS E 0 FMTR1405 SWNSW DC *-* FMTR1406 DC /3802-/3802*GA+/740*GA FMTR1407 SMSGA DC 2 FMTR1408 SMSG BSS 2 FMTR1409 * FMTR1410 * SUBROUTINE TO DRIVE TTY FMTR1411 * FMTR1412 TYPER DC *-* ENTRY FMTR1413 STX 1 S1+1 SAVE XR1 FMTR1414 LD I TYPER GET I/O ADDR FMTR1415 STO *+1 TO FMTR1416 QRST LDX L1 *-* TO XR1 FMTR1417 LD 1 0 GET WORD COUNT FMTR1418 STO QRST+1 SAVE FOR COUNT DONE FMTR1419 LD HCR GET CR FMTR1420 BSI TYTIO DOIT FMTR1421 LD HCR GET L/F FMTR1422 SLA 8 FMTR1423 BSI TYTIO DOIT FMTR1424 TAGN LD 1 1 GET CHAR FMTR1425 BSI TYTIO SEND IT FMTR1426 LD 1 1 GET CHAR FMTR1427 SLA 8 POSITION FMTR1428 BSI TYTIO DOIT FMTR1429 MDX 1 1 NEXT 2 CHARS FMTR1430 MDX L QRST+1,-1 DONE FMTR1431 MDX TAGN NO FMTR1432 XIO RCVNE YES FMTR1433 S1 LDX L1 *-* RESTORE XR1 FMTR1434 MDX L TYPER,1 SET EXIT FMTR1435 BSC I TYPER RETURN FMTR1436 TYTIO DC *-* ENTRY FMTR1437 SRA 8 POSITION CHAR FMTR1438 STO TYSEN NOW CONVERT TO TYPER CODE FMTR1439 STX 2 N+1 FMTR1440 LDX 2 TEND-TABLE FMTR1441 AXZQ LD L2 TABLE-1 FMTR1442 SRT 8 FMTR1443 EOR TYSEN FMTR1444 SLA 8 FMTR1445 BSC L HT,+- FMTR1446 MDX 2 -1 FMTR1447 MDX AXZQ FMTR1448 HT SLT 16 FMTR1449 N LDX L2 *-* FMTR1450 STO TYSEN SET FOR XIO FMTR1451 XIO TMTMD SET TMT MODE FMTR1452 XIO TYTPT SEND CHAR FMTR1453 XIO TYSEN SEN TYPER FMTR1454 BSC - SKIP IF OP/COP FMTR1455 MDX *-3 NOT YET FMTR1456 BSC I TYTIO RETURN FMTR1457 HCR DC /1525 CR/LF FMTR1458 BSS E 0 FMTR1459 TMTMD DC /8000 FMTR1460 DC /460*GA FMTR1461 TYTPT DC TYSEN FMTR1462 DC /0900-/0900*GA+/160*GA FMTR1463 TYSEN DC *-* FMTR1464 DC /0F01-/0F01*GA+/760*GA FMTR1465 RCVNE DC /2000 FMTR1466 DC /460*GA FMTR1467 TABLE DC /4021-/21*GA+/A0*GA FMTR1468 DC /C13C-/3C*GA+/41*GA FMTR1469 DC /C218-/18*GA+/42*GA FMTR1470 DC /C31C-/1C*GA+/C3*GA FMTR1471 DC /C430-/30*GA+/44*GA FMTR1472 DC /C534-/34*GA+/C5*GA FMTR1473 DC /C610-/10*GA+/C6*GA FMTR1474 DC /C714-/14*GA+/47*GA FMTR1475 DC /C824-/24*GA+/48*GA FMTR1476 DC /C920-/20*GA+/C9*GA FMTR1477 DC /D17C-/7C*GA+/CA*GA FMTR1478 DC /D258-/58*GA+/4B*GA FMTR1479 DC /D35C-/5C*GA+/CC*GA FMTR1480 DC /D470-/70*GA+/4D*GA FMTR1481 DC /D574-/74*GA+/4E*GA FMTR1482 DC /D650-/50*GA+/CF*GA FMTR1483 DC /D754-/54*GA+/50*GA FMTR1484 DC /D864-/64*GA+/D1*GA FMTR1485 DC /D960-/60*GA+/D2*GA FMTR1486 DC /E298-/98*GA+/53*GA FMTR1487 DC /E39C-/9C*GA+/D4*GA FMTR1488 DC /E4B0-/B0*GA+/55*GA FMTR1489 DC /E5B4-/B4*GA+/56*GA FMTR1490 DC /E690-/90*GA+/D7*GA FMTR1491 DC /E794-/94*GA+/D8*GA FMTR1492 DC /E8A4-/A4*GA+/59*GA FMTR1493 DC /E9A0-/A0*GA+/5A*GA FMTR1494 DC /F0C4-/C4*GA+/30*GA FMTR1495 DC /F1FC-/FC*GA+/B1*GA FMTR1496 DC /F2D8-/D8*GA+/B2*GA FMTR1497 DC /F3DC-/DC*GA+/33*GA FMTR1498 DC /F4F0-/F0*GA+/B4*GA FMTR1499 DC /F5F4-/F4*GA+/35*GA FMTR1500 DC /F6D0-/D0*GA+/36*GA FMTR1501 DC /F7D4-/D4*GA+/B7*GA FMTR1502 DC /F8E4-/E4*GA+/B8*GA FMTR1503 DC /F9E0-/E0*GA+/39*GA FMTR1504 DC /1581-/81*GA+/8D*GA FMTR1505 DC /2501-/01*GA+/0A*GA FMTR1506 DC /6084-/84*GA+/2D*GA FMTR1507 DC /61BC-/BC*GA+/AF*GA FMTR1508 DC /6B80-/80*GA+/AC*GA FMTR1509 TEND EQU * FMTR1510 * FMTR1511 * MAGNETIC TAPE DRIVER FMTR1512 * FMTR1513 * CALL TAPE FMTR1514 * DC /F000 FMTR1515 * DC IO FMTR1516 * DC *-* FMTR1517 * FMTR1518 * F=1 READ,2=WRITE,3=WRITE,4=REWIND,5=UNLOAD FMTR1519 * 6=BACK SPACE,7=WTM,8=ERASE FMTR1520 * FMTR1521 * ERR = 1=OK,2=NR,3=TM,4=EOF,5=FP,8=WRITE ERR FMTR1522 * 10=READ ERROR FMTR1523 * FMTR1524 TAPE DC *-* ENTRY FMTR1525 STX 1 TPS1+1 SAVE XR1 FMTR1526 LDX I1 TAPE XR1=CALL LIST FMTR1527 LD L TP1 SET GOOD CODE FMTR1528 STO 1 2 FOR USER FMTR1529 LD 1 0 GET FUNCTION FMTR1530 SRA 12 SET TO BRANCH ACCORDINGLY FMTR1531 A BSCD FMTR1532 STO BSCX+1 FMTR1533 S BSCD FMTR1534 A BSCB FMTR1535 STO *+1 FMTR1536 BSC I *-* FMTR1537 BSCB DC *-1 FMTR1538 DC TPRED READ FMTR1539 DC TPWRT WRITE FMTR1540 DC TPWRT WRITE FMTR1541 DC TPRWD REWIND FMTR1542 DC TPRUL UNLOAD FMTR1543 DC TPBS BACK SPACE FMTR1544 DC TPWTM WRITE TAPE MARK FMTR1545 DC TPERS ERASE TAPE FMTR1546 TPRED LD TP600 GET READ FUN FMTR1547 TPXIO OR TPAC ADD AREA CODE FMTR1548 STO TPIOC+1 SET FOR XIO FMTR1549 LD 1 1 GET I/O AREA ADDR FMTR1550 STO TPIOC SET IN IOCC FMTR1551 XIO TPSEN SENSE READY FMTR1552 D * FMTR1553 XIO TPSNR RESET FMTR1554 BSC L TPNRY,E BRANCH NOT READY FMTR1555 XIO TPIOC DO XIO FMTR1556 XIO TPSEN WAIT ON OP/COP FMTR1557 SLA 9 FMTR1558 BSC - FMTR1559 MDX *-4 FMTR1560 XIO TPSNR RESET DSW FMTR1561 STO TPDSW SAVE FMTR1562 BSCX BSC I *-* BRANCH ACCORDINGLY FMTR1563 TLP DC *-* ENTRY FMTR1564 XIO TPSEN SELECT DRIVE FMTR1565 D * FMTR1566 XIO TPSNR RESET UNIT FMTR1567 BSC L TPNRY,E BRANCH NOT READY FMTR1568 SLA 12 CHECK IF AT LOAD POINT FMTR1569 BSC I TLP,- RETURN NOT AT LOAD FMTR1570 MDX TOUT EXIT FMTR1571 TPWRT LD TP500 GET WRITE FUN FMTR1572 MDX TPXIO FMTR1573 TPRWD BSI TLP CHECK AT LOAD FMTR1574 LD TP404 GET REWIND FUN FMTR1575 MDX TPXIO FMTR1576 TPRUL BSI TLP CHECK AT LOAD POINT FMTR1577 LD TP400 GET UNLOAD FUN FMTR1578 MDX TPXIO FMTR1579 TPBS BSI TLP CHECK AT LOAD POINT FMTR1580 LD TP403 GET BACK SAPCE FUN FMTR1581 MDX TPXIO FMTR1582 TPWTM LD TP401 GET WTM FUNCTION FMTR1583 MDX TPXIO FMTR1584 TPERS LD TP402 LD ERASE FUNCTION FMTR1585 MDX TPXIO FMTR1586 BSCD DC *-1 FMTR1587 DC TPI1 READ FMTR1588 DC TPI2 WRITE FMTR1589 DC TPI2 WRITE FMTR1590 DC TPI4 REWIND FMTR1591 DC TPI4 RW/UL FMTR1592 DC TPI4 BS FMTR1593 DC TPI2 WTM FMTR1594 DC TPI2 ERSE FMTR1595 TPI1 AND H2780 SAVE ERROR BITS FMTR1596 BSC L TPERR,Z BRANCH IF ERROR FMTR1597 LD TPDSW CHECK W/L REC FMTR1598 SLA 11 FMTR1599 BSC L TI3,- BRANCH NOT WL REC FMTR1600 LD TPDSW FMTR1601 SLA 13-13*GA+7*GA FMTR1602 BSC L I35,+Z BRANCH IF TAPE MARK FMTR1603 LD TP9 W/L RECORD CODE (9) FMTR1604 TOUTS STO 1 2 SET FOR USER FMTR1605 TOUT MDX L TAPE,3 SET EXIT FMTR1606 TPS1 LDX L1 *-* RESTOER XR1 FMTR1607 BSC I TAPE RETURN FMTR1608 TPI2 AND H2780 SAVE ERROR BITS FMTR1609 BSC L ERRA,Z BRANCH IF ERROR FMTR1610 TI3 LD TPDSW GET DSW FMTR1611 SLA 13-13*GA+7*GA FMTR1612 BSC L TOUT,- BRANCH NOT T/M FMTR1613 I35 XIO TPSEN SET DSW FMTR1614 SLA 13 FMTR1615 BSC L TPEOT,+Z BRANCH TO EOF IF STILL ON FMTR1616 LD TP3 GET T/M CODE FMTR1617 MDX TOUTS RETURN FMTR1618 TPEOT LD TP4 GET EOF CODE FMTR1619 MDX TOUTS RETURN FMTR1620 ERRA SLA 2 POSITION FMTR1621 BSC L NFLP,- BRANCH NOT COM REJ FMTR1622 LD TP5 GET FILE PROT CODE FMTR1623 MDX TOUTS FMTR1624 NFLP LD TP8 GET WRITE ERROR CODE FMTR1625 MDX TOUTS RETURN FMTR1626 TPERR LD TP10 GET READ ERROR FMTR1627 MDX TOUTS RETURN FMTR1628 TPI4 XIO TPSEN WAIT ON BUSY FMTR1629 SLA 14 FMTR1630 BSC +Z FMTR1631 MDX TPI4 STILL BUSY FMTR1632 LD DELAY FMTR1633 STO DELAC FMTR1634 XIO TPSEN FMTR1635 BSC E FMTR1636 MDX *+1 FMTR1637 MDX TOUT FMTR1638 MDX L DELAC,-1 FMTR1639 MDX *-7 FMTR1640 MDX TOUT FMTR1641 DELAY DC /7FFF FMTR1642 DELAC DC *-* FMTR1643 TPNRY LD TP2 N/R CODE FMTR1644 MDX TOUTS RETURN FMTR1645 TP1 DC 1 FMTR1646 TP600 DC /600 FMTR1647 TPAC DC /7000 FMTR1648 TPIOC BSS E 2 FMTR1649 TPSEN DC /404 FMTR1650 DC /7700 FMTR1651 TPSNR DC /500 FMTR1652 DC /7701 FMTR1653 TPDSW DC *-* FMTR1654 TP500 EQU TPSNR FMTR1655 TP404 EQU TPSEN FMTR1656 TP400 DC /400 FMTR1657 TP403 DC /403 FMTR1658 TP401 DC /401 FMTR1659 TP402 DC /402 FMTR1660 H2780 DC /2780-/2780*GA+/2680*GA FMTR1661 TP9 DC 9 W/L RECORD FMTR1662 TP3 DC 3 T/M ENCOUNTERED FMTR1663 TP4 DC 4 EOF FMTR1664 TP5 DC 5 CMD REJ FMTR1665 TP8 DC 8 WRITE ERR FMTR1666 TP10 DC 10 READ ERROR FMTR1667 TP2 DC 2 N/R FMTR1668 * FMTR1669 * SUBROUTINE TO CONVERT HEX IN ACC TO EBCDIC FMTR1670 * FMTR1671 CNVEB DC *-* ENTRY FMTR1672 STX 1 CV1+1 SAVE XR1 FMTR1673 STX 2 CV2+1 SAVE XR2 FMTR1674 LDX 1 12 SHIF COUNT FMTR1675 STO CV3 SAVE HEX VALUE FMTR1676 LDX 2 4 LOOP CONTROL FMTR1677 CVL LD CV3 GET VALUE FMTR1678 SRA 1 0 POSITION OF EXTRACTION FMTR1679 AND CF EXTRACT DIGIT FMTR1680 S C9 CONVERT TO EBCDIC FMTR1681 BSC Z- FMTR1682 S C39 FMTR1683 A CF9 FMTR1684 STO L2 CTEMP-1 SAVE FMTR1685 MDX 1 -4 NEXT SHIFT COUNT FMTR1686 DC /7000 NOP FMTR1687 MDX 2 -1 DONE FMTR1688 MDX CVL NO FMTR1689 LD I CNVEB GET ARRAY ADDR FMTR1690 STO *+1 TO XR1 FMTR1691 LDX L1 *-* FMTR1692 LD CTEMP+3 GET AND COMBINE FMTR1693 SLA 8 FMTR1694 OR CTEMP+2 FMTR1695 STO 1 0 FMTR1696 LD CTEMP+1 FMTR1697 SLA 8 FMTR1698 OR CTEMP FMTR1699 STO 1 1 FMTR1700 MDX L CNVEB,1 SET RETURN FMTR1701 CV1 LDX L1 *-* RESTORE XR'S FMTR1702 CV2 LDX L2 *-* FMTR1703 BSC I CNVEB FMTR1704 CV3 DC *-* FMTR1705 CF DC /F FMTR1706 C9 DC 9 FMTR1707 C39 DC /39 FMTR1708 CF9 DC /F9 FMTR1709 CTEMP BSS 4 FMTR1710 * FMTR1711 * FMTR1712 EAC DC *-* EAC ENTRY FMTR1713 XIO LEVI SENSE ILSW FMTR1714 RTE 16 TO EXT FMTR1715 LD EAC GET RTN ADDR FMTR1716 DC /300F WAIT TO DISPLAY FMTR1717 BOSC L 0 RESTART FMTR1718 BSS E 0 FMTR1719 LEVI DC 0 FMTR1720 DC /0300 FMTR1721 * FMTR1722 TRACE DC *-* TRACE ENTRY FMTR1723 BOSC I TRACE IGNORE INTERRUPT FMTR1724 * FMTR1725 LEV0 DC *-* DISK INT ENTRY FMTR1726 STS LDS SAVE STATUS FMTR1727 STD ACC0 SAVE A AND Q FMTR1728 STX 1 X1+1 SAVE XR1 FMTR1729 STX 2 S2+1 SAVE XR2 FMTR1730 STX 3 S3+1 SAVE XR3 FMTR1731 XIO LEVI SENSE LEVEL FMTR1732 STO CHECK SAVE ILSW FMTR1733 LD HFFFF GET MASK FMTR1734 EOR EXP TURN OFF EXP BIT FMTR1735 AND CHECK FMTR1736 BSC L BAD0,Z BRANCH IF NOT 3330 FMTR1737 LD CHECK GET BACK ILSW FMTR1738 AND EXP CHECK IF EXPECTED BIT FMTR1739 BSC L BAD0,+- BRANCH NOT ON FMTR1740 BSI L DKINT GO TO DISK INT FMTR1741 X1 LDX L1 *-* RESTORE XR1 FMTR1742 S2 LDX L2 *-* RESTORE XR2 FMTR1743 S3 LDX L3 *-* RESTORE XR3 FMTR1744 LDD ACC0 RESTORE A AND Q FMTR1745 LDS LDS 0 RESTORE STATUS FMTR1746 BOSC I LEV0 EXIT LEVEL FMTR1747 HFFFF DC /FFFF INVERSION MASK FMTR1748 EXP DC #ILSW 3330 ILSW BIT FMTR1749 CHECK DC *-* LEV0 ILSW FMTR1750 BAD0 LD CHECK FMTR1751 DC /3000 FMTR1752 MDX *-2 FMTR1753 ACC0 DEC 0 FMTR1754 * FMTR1755 LEV1 DC *-* LEVEL 1 ENT FMTR1756 STS LDSS SAVE STATUS FMTR1757 STO ACC1 SAVE ACC FMTR1758 XIO LEVI SENSE INT LEV FMTR1759 SLA 5 CI BIT TO ACC FMTR1760 BSC L BAD,- BRANCH IF NOT CI FMTR1761 XIO CIRST RESET CI FMTR1762 LDSS LDS 0 RESTORE STATUS FMTR1763 LD ACC1 RESTORE ACC FMTR1764 BOSC I LEV1 TURN OFF LEVEL FMTR1765 BSS E 0 FMTR1766 ACC1 DC *-* FMTR1767 CIRST EQU *-1 SENSE AND RESET CI FMTR1768 DC /07C1 FMTR1769 BAD DC /3001 HALT FMTR1770 MDX *-2 FMTR1771 * FMTR1772 LEV2 DC *-* LEV2 ENT FMTR1773 DC /3002 FMTR1774 MDX *-2 FMTR1775 * FMTR1776 LEV3 DC *-* FMTR1777 DC /3003 FMTR1778 MDX *-2 FMTR1779 * FMTR1780 * HEADER AREAS FMTR1781 * FMTR1782 * WORD 1 FMTR1783 * BIT 0 = BAD SECTOR FMTR1784 * BIT 1 = WRITE PROTECT FMTR1785 * BIT 2 = LAST CYLINDER FMTR1786 * BIT 3 = LAST HEAD FMTR1787 * BIT 4 = LAST SECTOR FMTR1788 * BIT 5 = NOT USED FMTR1789 * BITS 6 - 15 = WORD COUNT FMTR1790 * WORD 2 FMTR1791 * BIT 0-3 = NOT USED FMTR1792 * BIT 4-8 = HEAD FMTR1793 * BIT 9-15 = SECTOR FMTR1794 * WORD 3 FMTR1795 * BIT 0-5 NOT USED FMTR1796 * BIT 6-15 = CYLINDER ADDRESS FMTR1797 * FMTR1798 HEADW DC *-* FMTR1799 HEADR BSS 28*3 FMTR1800 HIOW DC *-* FMTR1801 HIO BSS 28*3 FMTR1802 DC 2562 TAPE READ WDCT FMTR1803 DC *-* DISK WDCT READ FROM TAPE FMTR1804 IOB DC 13*320 FMTR1805 BUFF BSS 16*320+2 READ WRITE BUFFER FMTR1806 BSS E 0 FMTR1807 AC EQU /6000 DISK AREA CODE FMTR1808 ZERO LDX 1 0 NOW CLEAR ALL PROTECT BITS FMTR1809 ONE DC /2D40 FMTR1810 DC 0 FMTR1811 THREE MDX 1 1 FMTR1812 MDX ONE FMTR1813 LDX L1 /BA $END ***** FMTR1814 LJ SLT 32 NOW CLEAR MAIN MEMORY TO 0 FMTR1815 STO 1 0 FMTR1816 MDX 1 1 FMTR1817 DMLV2 LD ZERO ***** FMTR1818 BSC Z SKIP IF DONE FMTR1819 MDX LJ AGAIN FMTR1820 DC /6460 OPEN CORE FMTR1821 DC /F TO MOVE ITV SIMULATION***** FMTR1822 LDX 2 END-LEV AMOUNT TO MOVE FMTR1823 LOPM LD L2 /89 LEV-1 GET WORD OF PROGRAM ***** FMTR1824 STS L2 /8000-1,/40 CLEAR PROTECT FMTR1825 STO L2 /8000-1 PUT ONE WORD IN AUX FMTR1826 MDX 2 -1 DONE FMTR1827 MDX LOPM NO FMTR1828 MDX JUMP FMTR1829 * FMTR1830 * RESET DISK INTERRUPT FMTR1831 * FMTR1832 XREST DC *-* ENTRY FMTR1833 STO XACC SAVE ACC FMTR1834 XIO XSWRS RESET DSW FMTR1835 STO XSWRS SAVE IT FMTR1836 XIO XUBST GET SUB STATUS FMTR1837 STO XUBST SAVE IT FMTR1838 XIO XSSUT RESET SUB STATUS FMTR1839 XIO XUBIL GET SUB ILSW FMTR1840 OR XUBIL FOR RESET COMMAND FMTR1841 STO XSSUB SET UP RESET IOCC FMTR1842 XIO XSSUB RESET SUB ILSW FMTR1843 LD XACC RESTORE ACC FMTR1844 BOSC I /19 XREST TURN OFF LEVEL ***** FMTR1845 XACC DC *-* ACC SAVED HERE FMTR1846 BSS E 0 EVEN BOUNDRY FMTR1847 XSWRS DC *-* DSW STATUS FMTR1848 DC /072D+AC RESET DSW IOCC FMTR1849 XUBST DC *-* SUB STATUS FMTR1850 DC /0722+AC SENSE SUB STATUS IOCC FMTR1851 XSSUT DC /5000 RESET SUB STATUS FMTR1852 DC /0400+AC IOCC FMTR1853 XUBIL DC /3000 CONSTANT FMTR1854 DC /0720+AC SENSE SUB ILSW FMTR1855 XSSUB DC *-* SUB ILSW STATUS FMTR1856 DC /0400+AC RESET SUB ILSW IOCC FMTR1857 X1624 DC 1624 SECT/LOG PLATTER FMTR1858 SPC DC *-* SECT/CYLINDER FMTR1859 XA400 DC /A400 DISK READY MASK FMTR1860 X1000 DC /1000 SEEK CONTROL FMTR1861 SK DC *-* SEEK IOCC FMTR1862 DC /0400+AC FMTR1863 XDI26 DEC 26 DBL WD NO OF SECTS/TRACK FMTR1864 XETHD DC *-* SET HEAD/SECT IOCC FMTR1865 DC /0400+AC FMTR1866 XSEL DC /F020 SEL DISK IOCC FMTR1867 DC /0400+AC FMTR1868 XESRV DC /4101 RESERV DISK IOCC FMTR1869 DC /0400+AC FMTR1870 XRSTO DC /0050 RESTORE DISK IOCC FMTR1871 DC /0400+AC FMTR1872 XREAD DC /00D1 INIT READ IOCC FMTR1873 DC /06E0+AC FMTR1874 XTWD DC /0140 TRANS WDCT ON READ FMTR1875 DC /0442+AC FMTR1876 XXWD DC /0BAF REG LOAD WDCT ON READ FMTR1877 DC /0441+AC FMTR1878 JUMP EQU * FMTR1879 * FMTR1880 * NOW COLDSTART DISK FMTR1881 * FMTR1882 DC /7000 DEBUG WAIT FMTR1883 BSI XREST RESET DISK FMTR1884 LDX 2 /19 XREST ***** FMTR1885 STX 2 DMLV2 SET UP LEV 2 INT FMTR1886 XIO UNMK UNMASK ALL FMTR1887 XIO SWIC SENSE SWITCHES TO ACC FMTR1888 AND SIM CLEAN IT UP FMTR1889 S LEV ADJUST TO ZERO FMTR1890 BSC Z+ SKIP IF VALID FMTR1891 TBIG SRA 16 FORCE TO ZERO FMTR1892 S MAX EDIT TOO BIG FMTR1893 BSC - SKIP IF OK FMTR1894 MDX TBIG FMTR1895 A MAX RESTORE FMTR1896 DC /5314 TO XR1 FMTR1897 MDX 1 2 TO DISKZ AREA CODE FMTR1898 STX 1 THREE SET FOR DISKZ FMTR1899 M X1624 COMPUTE ABS SECTOR FMTR1900 AD XDI26 NOT TRACK 0 FMTR1901 D SPC DIVIDE BY SECT/CYL FMTR1902 OR X1000 GEN SEEK IOCC FMTR1903 STO SK SET FOR XIO FMTR1904 SLA 16 GET SECT WITHIN CYL FMTR1905 D XDI26+1 DIV BY SECT/TRACK FMTR1906 SLT 9 NOW COMBINE FMTR1907 SRA 9 HEAD AND SECTOR FMTR1908 SLT 7 TO ONE WORD FMTR1909 OR XD000 GEN SETHD COMMAND FMTR1910 STO XETHD SET TO SELECT HEAD FMTR1911 TRYAG XIO XESRV RESERVE DRIVE FMTR1912 XIO XSEL SELECT DRIVE FMTR1913 BSI XREST RESET DRIVE FMTR1914 LD XUBST GET SUB STATUS FMTR1915 EOR XA400 CHECK IF READY FMTR1916 BSC Z SKIP IF READY FMTR1917 MDX TRYAG GO TRY AGAIN FMTR1918 STO XREST CLEAR INT SW FMTR1919 XIO XRSTO RESTORE DISK FMTR1920 LD XREST WAIT ON OP/COP FMTR1921 BSC +- SKIP IF DONE FMTR1922 MDX *-3 NOT DONE FMTR1923 SRA 16 FMTR1924 STO XREST SET FOR INT FMTR1925 XIO SK SEEK TO CYLINDER FMTR1926 LD XREST WAIT FOR INT FMTR1927 BSC +- SKIP IF DONE FMTR1928 MDX *-3 FMTR1929 SRA 16 FMTR1930 STO XREST SET INT SW FMTR1931 XIO XETHD SET HEAD/SECTOR FMTR1932 XIO XTWD TRANS READ WDCT FMTR1933 XIO XXWD REG LOAD READ WDCT FMTR1934 LD ACC SET READ WDCT FMTR1935 STO L /D1 SET FOR READ FMTR1936 XIO XREAD READ COLDSTART PROGRAM FMTR1937 LD XREST WAIT ON INTERRUPT FMTR1938 BSC +- SKIP IF DONE FMTR1939 MDX *-3 FMTR1940 LD XSSUB GET SUB ILSW FMTR1941 SLA 5 OP/COP GOOD TO SIGN FMTR1942 BSC - SKIP IF OK FMTR1943 MDX TRYAG TRY AGAIN FMTR1944 DC /6440 CLOSE CORE FMTR1945 DC /1E0 GO XEQ COLD START FMTR1946 * FMTR1947 * FOLLOWING OVERLAY IS MOVED TO AUX CORE FMTR1948 * FMTR1949 BSS E 0 FMTR1950 LEV DC 1 SAVE ACC HERE ON INT INT FMTR1951 DC /0300 SENSE LEVEL IOCC FMTR1952 XD000 DC /D000 INTERNAL INT ENTRY FMTR1953 STO LEV SAVE ACC FMTR1954 XIO LEV GET REASON FOR VIOLATION TO FMTR1955 DC /30FF WAIT FOR DISPLAY FMTR1956 LD LEV RESTORE ACC FMTR1957 BOSC I /8002 RETURN TO PROCESSING/INT ***FMTR1958 ACC DC /140 SAVE ACC HERE ON INTERRUPT FMTR1959 MAX DC *-* MAX PLAT (FILLED IN BY FMTR)FMTR1960 DC /800B+3 LEVEL 2 IBT ***FMTR1961 DC /800B+6 LEVEL 4 IBT ***FMTR1962 DC /800B+9 LEVEL 5 IBT ***FMTR1963 XYZ2 DC *-* LEVEL 2 ENTRY FMTR1964 BSI SIM DO SIMULATED BSI FMTR1965 SWIC DC /A LOW CORE IBT ADDR FMTR1966 LEV4 DC /0740 LEVER 4 ENTRY FMTR1967 BSI SIM DO SIMULATED BSI FMTR1968 DC /C LOW CORE IBT ADDR FMTR1969 LEV5 DC *-* LEVEL 5 ENTRY FMTR1970 BSI SIM DO SIMULATED BSI FMTR1971 DC /D LOW CORE IBT ADDR FMTR1972 SIM DC /00FF ENTRY TO SIMULATED BSI PROCEFMTR1973 XIO MASK MASK ALL FOR RE-ENTRANCEY FMTR1974 STO ACC SAVE ACC FMTR1975 STX 1 Y1+1 SAVE XR1 FMTR1976 LDX I1 /8017 XR1 = CALL PARMS ***FMTR1977 LD 1 0 GET ITV ADDR FMTR1978 STO *+2 SET FOR STORE FMTR1979 LD 1 -2 GET RETURN ADDR FMTR1980 STO I *-* DO STORE PORTION OF BSI FMTR1981 LD I1 0 GET CONTENTS OF LOW CORE IBTFMTR1982 DC /5114 TRANSFER FROM ACC TO XR1 ANDFMTR1983 STX 1 BSC+1 SET FOR BRANCH PORTION OF BSFMTR1984 Y1 LDX L1 *-* RESTORE XR1 FMTR1985 LD ACC RESTORE ACC FMTR1986 XIO UNMK UNMASK ALL FMTR1987 BSC BSC L *-* GO TO DM2 ILS ROUTINE FMTR1988 UNMK DC 0 UNMASK IOCC ***** FMTR1989 DC /0480 UNMASK IOCC FMTR1990 MASK DC /FFFF MASK ALL IOCC FMTR1991 DC /0480 IOCC FMTR1992 END EQU * END OF AUX CORE SIMULATION FMTR1993 $END EQU * FMTR1994 * FMTR1995 * NON SYSTEM PACK COLDSTART PROGRAN FMTR1996 * FMTR1997 BSS E 0 FMTR1998 PROG XIO JASK MASK ALL FMTR1999 AGN# LDX 1 -14 MESSAGE LENGTH FMTR2000 LOP# LD L1 /20C GET CHAR FMTR2001 BSI OUT# TYPE CHAR FMTR2002 LD L1 /20C GET CHAR FMTR2003 SLA 8 POSITION FMTR2004 BSI OUT# FMTR2005 MDX 1 1 DONE FMTR2006 MDX LOP# NO FMTR2007 DC /3000 FMTR2008 MDX AGN# FMTR2009 RT# DC /4C00 FMTR2010 OUT# DC *-* ENTRY FMTR2011 STO PROG SAVE CHAR FOR XIO FMTR2012 XIO TM# SET TRNS MODE FMTR2013 XIO TO# SEND OUT CHAR FMTR2014 XIO SN# WAIT FOR READY FMTR2015 BSC - SKIP IF READY FMTR2016 MDX *-3 NOT READY FMTR2017 MDX RT# RETURN FMTR2018 BSS E 0 FMTR2019 SN# DC 0 FMTR2020 DC /0F01-/0F01*GA+/760*GA FMTR2021 TM# DC /8000 FMTR2022 DC /460*GA FMTR2023 TO# DC /1E0 FMTR2024 DC /0900-/0900*GA+/160*GA FMTR2025 JASK DC /FFFF FMTR2026 DC /5C80-/5C80*GA+/480*GA FMTR2027 DC /8D0A CR LF FMTR2028 DC /5448 T H FMTR2029 DC /4953 I S FMTR2030 DC /2049 I FMTR2031 DC /5320 S FMTR2032 DC /4120 A FMTR2033 DC /4E4F N O FMTR2034 DC /4E2D N FMTR2035 DC /5359 S Y FMTR2036 DC /5354 S T FMTR2037 DC /454D E M FMTR2038 DC /2043 C FMTR2039 DC /4152 A R FMTR2040 DC /5420 T FMTR2041 PROGE EQU * FMTR2042 EQU /2000-* PATCH AREA FMTR2043 END 0 FMTR2044 DC /8D0A CR LF FMTR2045 DC /5448 T H FMTR2046 DC /4953 I S FMTR2047 DC /2049 I FMTR2048 DC /5320 S FMTR2049 DC /4120 A FMTR2050 DC /4E4F N O FMTR2051 DC /4E2D N FMTR2052 DC /5359 S Y FMTR2053 DC /5354 S T FMTR2054 DC /454D E M FMTR2055 DC /2043 C FMTR2056 DC /4152 A R FMTR2057 DC /5420 T FMTR2058 PROGE EQU * FMTR2059 EQU /2000-* PATCH AREA FMTR2060 END 0 FMTR2061