173000 042113 ;.ASCII KD RK05/RK11 173002 000026 ;.WORD 26 ;OFFSET TO NEXT DEVICE 173004 000261 ;SEC ;SHOW NO DIAG RUN 173006 012700 ;MOV #0,R0 ;SET TO CLEAR 173010 000000 ; 173012 012701 >------>;MOV #177404,R1 ;ADDRESS OF RKCS->R1 173014 177404 ^ ; 173016 010704 ^ ;MOV PC,R4 ;POINT RETRIES HERE 173020 103057 ^ <-----;BCC 173160 ;BR IF MUST RET TO UCODE 173022 000426 ^ v v--;BR 173100 ;ELSE... 173024 173006 ^ v v ;.WORD 173006 ;POWER-UP VECTOR 173026 000340 ^ v v ;.WORD 000340 ;POWER-UP PRIORITY 173030 042124 ^ v v ;.ASCII TD TC11 DECTAPE 173032 000146 ^ v v ;.WORD 146 ;OFFSET TO NEXT DEV 173034 000261 ^ v v ;SEC ;SHOW NO DIAGS RUN 173036 012700 ^ v v ;MOV #0,R0 ;SET TO UNIT 0 173040 000000 ^ v v ; 173042 012701 ^ v v ;MOV #177342,R1 ;ADDRESS OF TCCM->R1 173044 177342 ^ v v ; 173046 010704 ^ v v ;MOV PC,R4 ;POINT RETRIES HERE 173050 103043 ^ v<----;BCC 173160 ;BR IF MUST RET TO UCODE 173052 010003 ^ v v ;MOV R0,R3 ;UNIT # -> R3 173054 000303 ^ v v ;SWAB R3 ;PUT IN UPPER BYTE 173056 010311 ^ v v ;MOV R3,(R1) ;LOAD TCCM C UNIT 173060 052711 ^ v v ;BIS #004003,(R1) ;SET REWIND TO READ BLOCK 0 173062 004003 ^ v v ; 173064 005711 ^ v v >;TST (R1) ;CHECK TCCM 173066 100376 ^ v v ^;BPL 173064 ;LOOK FOR END ZONE 173070 005761 ^ v v ;TST -2(R1) ;TEST RKER/TCST 173072 177776 ^ v v ; 173074 010311 ^ v v ;MOV R3,(R1) ;GET UNIT BACK IN TCCM 173076 000410 ^ v <---;BR 173120 ;JOIN COMBINED CODE 173100 010003 ^ v v>->;MOV R0,R3 ;FOR RK, GET UNIT IN R3 173102 000241 ^ v v ;CLC ;RET TO CON UCODE IF FAIL 173104 006003 ^ v v ;ROR R3 ;ROTATE UNIT # -> TOP 173106 006003 ^ v v ;ROR R3 ;3 BITS OF R3 173110 006003 ^ v v ;ROR R3 173112 006003 ^ v v ;ROR R3 173114 010361 ^ v v ;MOV R3,6(R1) ;LOAD RKDA 173116 000006 ^ v v ; 173120 012761 ^ v --->;MOV #177000,2(R1) ;LOAD RKWC/TCWC 173122 177000 ^ v ; 173124 000002 ^ v ; 173126 052703 ^ v ;BIS #5,R3 ;SET FUNCTION BITS FOR XFER 173130 000005 ^ v ; 173132 010311 ^ v ;MOV R3,(R1) ;LOAD RKCS/TCCM 173134 105711 ^ v >->;TSTB (R1) ;CHECK STATUS 173136 100376 ^ v ^-<;BPL 173134 ;LOOP TILL READY 173140 005711 ^ v ;TST (R1) ;CHECK ERRORS 173142 100003 ^ v <--;BPL 173152 ;BR IF NONE 173144 000005 ^ v v ;RESET ;DO BUS RESET 173146 000164 ^ v v ;JMP 2(R4) ;TRY A RETRY 173150 000002 ^ v v ; 173152 042711 ^ v >->;BIC #000377,(R1) ;CLEAR ANY COMMAND BITS 173154 000377 ^ v ; 173156 005007 ^ v ;CLR PC ;AND GO TO WORD 0 OF CORE 173160 000137 ^ >---->;JMP @#165564 ;RETURN TO CONSOLE UCODE 173162 165564 ^ ; 173164 000261 ^ ;SETC ;SHOW NO RET TO UCODE 173166 012700 ^ ;MOV #2,R0 ; 173170 000002 ^ ; 173172 000707 ^<------;BR 173012 ;TRY AGAIN 173174 000000 ; 173176 124650 ;.WORD 124650 ;CRC 173200 042120 ;.ASCII PD RP03/RM03 BOOT 173202 000042 ;.WORD 42 ;OFFSET TO NEXT DEVICE 173204 000261 ;SEC ;DON'T RET TO CONSOLE UCODE 173206 012700 ;MOV #0,R0 ;SET TO CLEAR ALL RMER1 FLAGS 173210 000000 ; 173212 012701 >------>;MOV #176714,R1 ;ADDRESS OF RMER1->R1 173214 176714 ^ ; 173216 010704 ^ ;MOV PC,R4 ;POINT RETRIES HERE 173220 103060 ^ <-----;BCC 173362 ;BR IF MUST RET TO UCODE 173222 000402 ^ v <--;BR 173230 ;OTHERWISE... 173224 173000 ^ v v ;.WORD 173000 ;POWER-UP VECTOR 173226 000340 ^ v v ;.WORD 000340 ;POWER-UP PRIORITY 173230 010003 ^ v -->;MOV R0,R3 ;RMER1 FLAGS->R3 173232 000303 ^ v ;SWAB R3 ;PUT IN UPPER BYTE 173234 010311 ^ v ;MOV R3,(R1) 173236 012702 ^ v ;MOV #5,R2 ;SET SEEK,GO BITS FOR RMCS1 173240 000005 ^ v ; 173242 000425 ^ v <--;BR 173316 ;GO START THE LOAD 173244 042102 ^ v v ;.ASCII BD 173246 000132 ^ v v ;.WORD 132 ;OFFSET TO NEXT DEVICE 173250 000261 ^ v v ;SEC ;SHOW NO DIAGS RUN 173252 012700 ^ v v ;MOV #0,R0 ;START WITH UNIT 0 173254 000000 ^ v v ; 173256 012701 ^ v v ;MOV #176700,R1 ;POINT R1 TO FIRST REGISTER 173260 176700 ^ v v ; 173262 010704 ^ v v ;MOV PC,R4 ;POINT RETRIES HERE 173264 103036 ^ v<----;BCC 173362 ;BR IF NO ERROR 173266 010061 ^ v v ;MOV R0,10(R1) ;SET UNIT BITS IN RMCS2 173270 000010 ^ v v ; 173272 012702 ^ v v ;MOV #71,R2 ;SET READ,GO BITS FOR RMCS1 173274 000071 ^ v v ; 173276 012711 ^ v v ;MOV #21,(R1) v ;SET READ-IN PRESET 173300 000021 ^ v v ; 173302 012761 ^ v v ;MOV #14000,32(R1) ;SET FMT,ECI BITS IN RMOF 173304 014000 ^ v v ; 173306 000032 ^ v v ; 173310 016161 ^ v v ;MOV 16(R1),16(R1) ;CLEAR ANY DRIVE ATA BIT 173312 000016 ^ v v ; 173314 000016 ^ v v ; 173316 012761 ^ v -->;MOV #177000,2(R1) ;SET 1K BYTES IN WORD COUNT 173320 177000 ^ v ; 173322 000002 ^ v ; 173324 011103 ^ v ;MOV (R1),R3 ;GET RMCS1 173326 042703 ^ v ;BIC #377,R3 ;CLEAR LOWER BYTE 173330 000377 ^ v ; 173332 050203 ^ v ;BIS R2,R3 ;SET SEEK AND GO BITS 173334 010311 ^ v ;MOV R3,(R1) ;GET RMCS1 IN R1 173336 105711 ^ v -->;TSTB (R1) ;CHECK READY BIT 173340 100376 ^ v ^--;BPL 173336 ;LOOP TIL READY BIT COMES BACK ON 173342 005711 ^ v ;TST (R1) ;CHECK SPEC COND BIT 173344 100003 ^ v <--;BPL 173354 ;BR IF OK 173346 000005 ^ v v ;RESET ;ELSE DO UNIBUS RESET 173350 000164 ^ v v ;JMP 2(R4) ;AND DO FULL RETRY 173352 000002 ^ v v ; 173354 042711 ^ v -->;BIC #377,(R1) ;CLEAR COMMAND & INT ENABLE 173356 000377 ^ v ; 173360 005007 ^ v ;CLR PC 173362 000137 ^ ----->;JMP 165564 ;GO BACK TO CONSOLE UCODE 173364 165564 ^ ; 173366 000261 ^ ;SEC ;SET TO RET TO CONSOLE UCODE 173370 012700 ^ ;MOV #1,R0 ;WITH 1 IN R1 173372 000001 ^ ; ;DO FULL RETRY 173374 000706 ^<------;BR 173212 173376 111612 ;.WORD 111612 ;CRC 173400 042104 ;.ASCII DD DECTAPE II 173402 000176 ;.WORD 176 ;OFFSET TO NEXT DEVICE 173404 000261 ;SEC ;SHOW NO DIAGS RUN 173406 012700 ;MOV #0,R0 173410 000000 ; 173412 012701 >------>;MOV #176500,R1 ;POINT R1-> TU58 RCSR 173414 176500 ^ ; 173416 010704 ^ ;MOV #103054,R4 173420 103054 ^ ; 173422 000402 ^ <--;BR 173430 173424 173000 ^ v ;.WORD 173000 ;POWER-UP VECTOR 173426 000340 ^ v ;.WORD 000340 ;POWER-UP PRIORITY 173430 012706 ^ >->;MOV #002000,SP 173432 002000 ^ ; 173434 005004 ^ ;CLR R4 173436 012702 ^ ;MOV ##176504,R2 ;POINT R2 -> TU58 XCSR 173440 176504 ^ ; 173442 005212 ^ ;INC (R2) ;TURN ON BREAK BIT 173444 005003 ^ ;CLR R3 ;SEND 2 NULL CHARACTERS 173446 004767 ^ ;JSR PC,173520 173450 000046 ^ ; 173452 005012 ^ ;CLR (R2) ;CLEAR BREAK BIT 173454 005737 ^ ;TST @#176502 ;CHECK FOR RECEIVER ERROR 173456 176502 ^ ; 173460 012703 ^ ;MOV #004004,R3 ;SEND 2 INIT'S 173462 004004 ^ ; 173464 004767 ^ ;JSR PC,173524 173466 000034 ^ ; 173470 010003 ^ ;MOV R0,R3 ;BUFFER START -> R3 173472 004767 ^ ;JSR PC,173526 ;SEND TO TU58 173474 000030 ^ ; 173476 005003 ^ ;CLR R3 ;POINT R3 -> WORD 0 OF CORE 173500 105711 ^ >-->->;TSTB (R1) ;CHECK RCSR 173502 100376 ^ ^ ^-<;BPL 173500 ;LOOP TILL DONE BIT SETS 173504 113723 ^ ^ ;MOVB @#176502,(R3)+ ;TRANSFER AN INCOMING BYTE 173506 176502 ^ ^ ; 173510 022703 ^ ^ ;CMP #1000,R3 ;FILLED BUFFER YET ? 173512 001000 ^ ^ ; 173514 101371 ^ ^----<;BHI 173500 ;LOOP IF NOT 173516 005007 ^ ;CLR PC ;GO TO WORD 0 OF CORE 173520 004717 ^ ; 173522 004717 ^ ; 173524 004717 ^ ; 173526 105712 ^ -->;TSTB (R2) ;CHECK XCSR 173530 100376 ^ ^-<;BPL 173526 ;LOOP TILL DONE BIT SETS 173532 110337 ^ ;MOV R3,@#176506 ;LOAD OUTPUT BYTE 173534 176506 ^ ; 173536 000303 ^ ;SWAB R3 ;SWITCH BYTESFOR NEXT CALL 173540 000207 ^ ;RTS PC ;AND RETURN 173542 000261 ^ ;SEC 173544 012700 ^ ;MOV #000001,R0 173546 000001 ^ ; 173550 000720 ^-------;BR 173412 ;TRY AGAIN 173552 000137 ;JMP @#165564 ;RET TO CONSOLE UCODE 173554 165564 ; 173556 000000 ; 173560 000000 ; 173562 000000 ; 173564 000000 ; 173566 000000 ; 173570 000000 ; 173572 000000 ; 173574 000000 ; 173576 125025 ;.WORD 125025 ;CRC 173600 046524 ;.ASCII MT TU10/TM11 173602 000176 ;.WORD 176 ;OFFSET TO NEXT DEVICE 173604 000261 ;SEC ;SHOW NO DIAGS RUN 173606 012700 ;MOV #000000,R0 ;SELECT UNIT 0 173610 000000 ; 173612 012701 >---->;MOV #172522,R1 ;ADDRESS OF MTC -> R1 173614 172522 ^ ; 173616 010704 ^ ;MOV #103054,R4 173620 103054 ^ ; 173622 000411 ^ <--;BR 173646 173624 173000 ^ v ;.WORD 173000 ;POWER-UP VECTOR 173626 000340 ^ v ;.WORD 000340 ;POWER-UP PRIORITY 173630 012700 ^ v ;MOV #000001,R0 ;SELECT UNIT 1 173632 000001 ^ v ; 173634 000766 ^<---<;BR 173612 173636 012700 ^ v ;MOV #000001,R0 ;SELECT UNIT 1 173640 000001 ^ v ; 173642 000261 ^ v ;SEC ;DON'T RET TO CONSOLE UCODE 173644 000762 ^<---<;BR 173612 173646 010003 ^ >->;MOV R0,R3 ;UNIT # -> R3 173650 000303 ^ ;SWAB R3 ;PUT IN UPPER BYTE 173652 010311 ^ ;MOV R3,(R1) ;LOAD MTC WITH UNIT # 173654 006061 ^ >->;ROR -2(R1) ;GET TUR BIT OF MTS 173656 177776 ^ ^ ; 173660 103375 ^ ^-<;BCC 173654 ;LOOP UNTIL TUR BIT SETS 173662 052711 ^ ;BIS #060017,(R1) ;SET 800BPI,REWIND,GO 173664 060017 ^ ; 173666 105711 ^ >->;TSTB (R1) ;CHECK FOR CU READY BIT 173670 100376 ^ ^-<;BPL 173666 ;LOOP TILL DONE 173672 012761 ^ ;MOV #-1,2(R1) ;LOAD MTBRC 173674 177777 ^ ; 173676 000002 ^ ; 173700 112711 ^ ;MOV #11,(R1) ;SET SPACE FWD,GO 173702 000011 ^ ; 173704 105711 ^ >->;TSTB (R1) ;CHECK FOR CU READY BIT 173706 100376 ^ ^-<;BPL 173704 ;LOOP TILL CU READY SETS 173710 005711 ^ ;TST (R1) ;CHECK ERROR BIT 173712 100415 ^ v--;BMI 173746 ;BR IF ERROR OCCURRED 173714 012761 ^ v ;MOV #177000,2(R1) ;SET 1K IN MTBRC 173716 177000 ^ v ; 173720 000002 ^ v ; 173722 011103 ^ v ;MOV (R1),R3 ;GET MTC 173724 042703 ^ v ;BIC #377,R3 ;CLEAR PREVIOUS COMMAND 173726 000377 ^ v ; 173730 152703 ^ v ;BISB #3,R3 ;SET READ,GO BITS 173732 000003 ^ v ; 173734 010311 ^ v ;MOV R3,(R1) ;AND PUT BACK IN MTC 173736 105711 ^ v >;TSTB (R1) ;WAIT FOR CU READY BIT 173740 100376 ^ v ^;BPL 173736 ;LOOP TILL CU READY SETS 173742 005711 ^ v ;TST (R1) ;CHECK FOR ERROR 173744 100004 v-------;BPL 173756 ;BR IF OK 173746 000005 v ^ >->;RESET ;DO UNIBUS RESET 173750 000720 v ^----<;BR 173612 ;TRY AGAIN 173752 000137 v ;JMP 165564 ;RET TO CONSOLE UCODE 173754 165564 v ; 173756 042711 >------>;BIC #377,(R1) ;CLEAR ANY COMMAND IN MTC 173760 000377 ; 173762 005007 ;CLR PC ;GO TO WORD 0 OF CORE 173764 000000 ; 173766 000000 ; 173770 000000 ; 173772 000000 ; 173774 000000 ; 173776 021526 ;.WORD 21526 ;CRC