/ P?S/8 RK8E TWO DRIVE SYSTEM HANDLER PAL8-VB0 08-APR-87 PAGE 1 1 / P?S/8 RK8E TWO DRIVE SYSTEM HANDLER 2 3 / LAST EDIT: 21-NOV-1986 06:00:00 CJL 4 5 / MUST BE ASSEMBLED WITH '/J' SWITCH SET. 6 7 / P?S/8 HANDLER FOR RK-8/E WITH ANY TWO DRIVES (0 AND 1) OR (2 AND 3). 8 9 / THIS HANDLER ADDRESSES THE ENTIRE CONTENTS OF TWO DISKS, BUT REQUIRES 10 / EXTENDED MEMORY (ADJUSTABLE CORE-SIZE LIMITING HANDLER). 11 12 / CAN BE BOOTSTRAPPED TO ANY UNIT. 13 14 / UNIT CONVENTIONS: 15 16 / IF THE SYSTEM IS BOOTSTRAPPED ON AN EVEN DISK (0 OR 2), THEN THE UNITS ON THAT 17 / DISK ARE 0, 1, 2, 3 (ANY UNIT CAN BE BOOTSTRAPPED TO). IF THE SAME DISK IS 18 / BOOTSTRAPPED ON AN ODD DISK (1 OR 3), THEN THE UNITS ON THAT DISK ARE 19 / 4, 5, 6, 7 (ANY UNIT CAN BE BOOTSTRAPPED TO). BOOTSTRAPPING TO ANY DRIVE 20 / CAUSES ADDRESSING OF THE OTHER DISK IN THE PAIR (IF BOOTSTRAP IS TO DRIVE ONE, 21 / DRIVE ZERO IS THE OTHER FOUR UNITS; BOOTSTRAPPING TO DRIVE TWO MAKES DRIVE 22 / THREE THE OTHER FOUR UNITS, ETC.). 23 24 / ASSEMBLY INSTRUCTIONS. 25 26 / SETTING BTUNIT=0000-0003 GENERATES THE HANDLER FOR THE RESPECTIVE UNIT. THE 27 / HIGH-ORDER BIT OF THE LOGICAL UNIT IS DETERMINED AT BOOTSTRAP TIME ACCORDING 28 / TO THE LOW-ORDER DRIVE BIT (EVEN UNITS=0-3, ODD UNITS=4-7). 29 30 / P?S/8 MONITOR GENERATION RESTRICTIONS REQUIRE BTUNIT=0 FOR THE INITIAL MONITOR 31 / HOWEVER THE OTHER UNITS SHOULD BE PATCHED TO REFLECT THE CHANGES INTRODUCED BY 32 / SETTING BTUNIT TO 0001-0003. 33 34 / CONDITIONAL ASSEMBLY DEFINITIONS. 35 36 IFNDEF BTUNIT /GENERATE A UNIT ZERO SYSTEM / P?S/8 RK8E TWO DRIVE SYSTEM HANDLER PAL8-VB0 08-APR-87 PAGE 4 115 / DRIVE-ZERO ONLY (UNIT ZERO ONLY) BOOTSTRAP. 116 117 NOPUNCH /TURN OFF BINARY OUTPUT 118 119 0030 *0030 /SHORT BOOTSTRAP STARTS HERE 120 121 000030 6743 DLAG /POWER CLEAR USES RECORD 0, DRIVE 0, LOCATION 000000 122 000031 5031 JMP . /WAIT FOR OVERLAY 123 124 / ANY DRIVE (BTUNIT&3=0) BOOTSTRAP. 125 126 0025 *0025 /LONGER BOOTSTRAP STARTS HERE 127 128 000025 7604 LAS /GET DRIVE FROM BITS[9-10] 129 000026 6746 DLDC /LOAD READ COMMAND WITH POWER-CLEARED VALUES AS BEFORE 130 000027 6743 DLAG /START READ OF SECTOR ZERO 131 000030 7604 LAS /GET DRIVE AGAIN TO TELL HANDLER 132 000031 5031 JMP . /WAIT FOR OVERLAY 133 134 / ANY DRIVE, ANY BTUNIT BOOTSTRAP. 135 136 0024 *0024 /LONGEST BOOTSTRAP STARTS HERE 137 138 000024 7604 LAS /GET DRIVE FROM BITS[9-10], SET BIT[11] IF BTUNIT&3=3 139 000025 6746 DLDC /LOAD READ COMMAND 140 000026 1032 TAD BUTRCD /GET BTUNIT'S LOW-ORDER SECTOR ADDRESS 141 000027 6743 DLAG /START THE READ ON THE PROPER SECTOR 142 000030 7604 LAS /GET DRIVE AGAIN TO TELL HANDLER 143 000031 5031 JMP . /WAIT FOR OVERLAY 144 145 000032 0000 BUTRCD, BTUNIT&3^3130 /PROPER SECTOR FOR BOOTSTRAP 146 147 ENPUNCH /RESTORE BINARY OUTPUT / P?S/8 RK8E TWO DRIVE SYSTEM HANDLER PAL8-VB0 08-APR-87 PAGE 9 305 1041 RELOC /UN-FOOL THE ASSEMBLER 306 307 / I/O TRAPS COME HERE. 308 309 011041 7200 TRAPIO, CLA /CLEAN UP 310 011042 6214 RDF /GET CALLING FIELD 311 011043 1245 TAD TRPCDF/(CDF) /MAKE INTO CDF CALLING FIELD 312 011044 3250 DCA TRPINST /STORE IN-LINE 313 011045 6201 TRPCDF, CDF 00 /GOTO MONITOR FIELD 314 011046 1777 TAD I (SYSIO) /GET CALLING ADDRESS 315 011047 3020 DCA CALADR /SAVE FOR ERROR HANDLER 316 011050 0000 TRPINST,.-. /GOTO CALLING FIELD 317 011051 1250 TAD TRPINST /GET CDF CALLING FIELD 318 011052 3021 DCA CALFLD /SAVE FOR ERROR HANDLER 319 011053 7326 NL0002 /SET CIF BIT 320 011054 1250 TAD TRPINST /NOW HAVE CIF CDF CALLING FIELD 321 011055 6202 CIF 00 /GOTO MONITOR FIELD 322 011056 5776 JMP I (SYSIO+4) /CONTINUE THERE 323 324 / ERROR BLURBS. 325 326 011057 2305 SEEK, TEXT "SEEK FAILURE" /SEEK FAILURE ERROR BLURB 327 011060 0513 328 011061 4006 329 011062 0111 330 011063 1425 331 011064 2205 332 011065 4040 NREADY, TEXT " NOT READY" /NOT READY ERROR BLURB 333 011066 4016 334 011067 1724 335 011070 4022 336 011071 0501 337 011072 0431 338 011073 0317 BUSY, TEXT "CONTROL BUSY" /CONTROLLER BUSY ERROR BLURB 339 011074 1624 340 011075 2217 341 011076 1440 342 011077 0225 343 011100 2331 344 011101 4040 TIM, TEXT " TIME-OUT" /TIME-OUT ERROR BLURB 345 011102 4040 346 011103 2411 347 011104 1505 348 011105 5517 349 011106 2524 350 011107 4040 WRILOC, TEXT " WRITE-LOCK" /WRITE-LOCK ERROR BLURB 351 011110 2722 352 011111 1124 353 011112 0555 354 011113 1417 355 011114 0313 / P?S/8 RK8E TWO DRIVE SYSTEM HANDLER PAL8-VB0 08-APR-87 PAGE 10 356 011115 4022 PAR, TEXT " READ PARITY" /CRC ERROR BLURB 357 011116 0501 358 011117 0440 359 011120 2001 360 011121 2211 361 011122 2431 362 011123 4040 DRL, TEXT " DATA LATE" /FIFO ERROR BLURB 363 011124 4004 364 011125 0124 365 011126 0140 366 011127 1401 367 011130 2405 368 011131 0422 DSTAT, TEXT "DRIVE STATUS" /DRIVE STATUS ERROR BLURB 369 011132 1126 370 011133 0540 371 011134 2324 372 011135 0124 373 011136 2523 374 375 0006 BLBLEN= .-DSTAT /LENGTH OF ERROR BLURBS 376 377 011176 7644 378 011177 7640 379 1200 PAGE