.TITLE SWCNSL SWITCH CONSOLE DL11 TO ANOTHER DL LINE. .IDENT /V2.0/ .ENABLE LC ; ; Modifies the monitor to use a second DL as console ; Includes selectable communications-line speed setting for ; programmable interfaces, such as the DLV11-E. ; .MCALL .EXIT,.PRINT,.TTYIN DLVEC=410 ;INTERRUPT VECTOR LOC. *SET BY USER * TTKS=175610 ;TERMINAL STATUS REG. *SET BY USER * XCSR=TTKS+4 ;CSR AND VECTOR FOR DL11-E ; START: .PRINT #MSGSPD MOV #SPDBUF,R1 SPLOOP: .TTYIN (R1)+ CMPB #12,R0 ;COMPARE WITH LF (E-O-L) BNE SPLOOP MOV #SPDBUF,R1 CMPB #63,(R1) ;ASCII 3 BNE FAST INC R1 CMPB #60,(R1) ;ASCII 0 BNE SPDERR MOV #54000,@#XCSR ;300 BAUD FOR DLV11-E .PRINT #MSG300 BR ONWARD FAST: CMPB #61,(R1) ;ASCII 1 BNE SPDERR INC R1 CMPB #62,(R1) ;ASCII 2 BNE SPDERR MOV #74000,@#XCSR ;1200 BAUD FOR DLV11-E .PRINT #MSG12 BR ONWARD SPDERR: .PRINT #MSGERR BR START ONWARD: BIS #102,@#TTKS ;SET INTERUPT ENABLE BIT & DTR ; BITMAP= 326 ;OFFSET OF THE START OF THE PROTECT BITMAP ; ;MODIFY THE ADDRESSES OF THE TERMINAL CONTROL & STATUS REG. TST TTKS ;SEE IF WE REALLY HAVE A DEVICE HERE ;TRAP TO 4 IF WE DON'T .PRINT #CONTROL ;TELL USER WHAT IS HAPPENING MOV @#54,R0 .IF EQ,DLVEC-&10 ;SELECT THE CORRECT MASK VCMSK =360 ;VECTOR XX00 .IFF VCMSK =17 ;VECTOR XX10 .ENDC BISB #VCMSK,BITMAP+(R0) ;CHANGE PROTECTION BITMAP ADD #304,R0 ;OFFSET 1$: BIT #100,@4(R0) ;WAIT FOR ALL I/O TO FINISH BNE 1$ BIC #100,@(R0) ;TURN INTERRUPTS OFF MOV #TTKS,(R0)+ MOV #TTKS+2,(R0)+ MOV #TTKS+4,(R0)+ MOV #TTKS+6,(R0)+ SUB #10,R0 ;POINT TO KEYBOARD CSR TSTB @2(R0) ;CLEAR ANY PENDING INTERRUPTS BIS #102,@(R0) ;TURN INTERRUPTS ON ;MOVE NORMAL TERMINAL INTERRUPT VECTORS UP MOV #60,R0 MOV #DLVEC,R1 .REPT 4 MOV (R0)+,(R1)+ .ENDM MOV #0,@#56 ;FILL COUNT & CHAR. * SET BY USER IF REQ.* .PRINT #NEWCON ;TELL NEW USER .EXIT ; SPDBUF: .BLKB 100 .NLIST BEX MSGSPD: .ASCII <7>/Enter Communications Line Speed: /<200> MSG300: .ASCIZ /(300,300)/ MSG12: .ASCIZ /(1200,1200)/ MSGERR: .ASCIZ <7>/** USE 300 OR 1200 ONLY **/ CONTRO: .ASCIZ <15><12>/* CONTROL TRANSFERRED TO AUXILLARY TERMINAL*/ NEWCON: .ASCIZ <7>/RT-11 TERMINAL TRANSFER./ .END START