.Title NGdev Device Table & Descriptors .Psect Alvin,Gbl,Con .Ident /LVL51 / .Mcall $Alv51 .Globl CLout, CLin ; External globals - TSX CL handlers. .Globl Bufd1,Bufd2 ; The default buffers for console I/O. .Globl RTTin,RTKbCtl,RTTout ; RT Console handlers. $Alv51 ;;********************************************************************** ;; Device table for testing TSX-Plus CL support. ;; 4-Oct-85 DVJensen ;; 8-Nov-85 DJ Device table configured for NG-11/23 TSX/RT. ;;********************************************************************** ;; C O N T R O L T A B L E S & D E F I N I T I O N S ;;********************************************************************** ;; LOGICAL DEVICE TABLE - CONTAINS ABS ADR OF UNIT DESCRIPTORS ;; ;; The device table descriptor assumes DevTable and DevTEnd are Global: ;; The Alvin Nucleus defines it as: ;; ;; LDEVICE:: .WORD DEVTABLE ;ABSOLUTE ADR OF START OF TABLE ;; .WORD DEVTEND ;ABS ADR OF END OF TABLE ;; . ;; . ;; . ;; unit function DEVTABLE:: .WORD CONSKB ; 0 - Console keyboard. .WORD CONSLT ; 1 - Console display (echo and list). .WORD CL3Rcv ; 2 - Input from CL3: . .WORD CL3Snd ; 3 - Output to CL3: . .WORD CL4Rcv ; 4 - Input from CL4: . .WORD CL4Snd ; 5 - Output to CL4: . DevTend:: .WORD 0 ;Device #6 (none). ;;**************************** ;; CONSKB:: .WORD DISABLE ;CONSOLE KEYBOARD LOGICAL STATUS .WORD 0 ;ACTUAL DEVICE STATUS ADDRESS .WORD 0 ;BUFFER DESCRIPTOR ABSOLUTE ADDRESS .WORD 0 ;INTERRUPT VECTOR ADDRESS .WORD RTTIN ;INTERRUPT HANDLER ADDRESS .WORD 0 ;ACTUAL DEVICE STATUS AT LAST INTERRUPT .WORD 0,0,0,0 ;STORAGE FOR PREVIOUS DEVICE STATE .WORD RTCTL!Echo ;LOGICAL CONTROL WORD .WORD KEYB ;LOGICAL UNIT NUMBER .Word Bufd1 ;Default Buffer Descriptor. .WORD 0 ;fill lwork0 .WORD 0 ;CHARACTER ERROR COUNT .ASCII '? ' ;Error character override = ? .WORD CONSLT ;Associated device desc for echo. .WORD 0,0,0 ;fill lwork 4-6 .Word RTKBCtl ;Control string for RT activation chars. .Word 0,0,0,0,0,0 ;Fill ;; .=ConsKB+DevDend ;; CONSLT:: .WORD DISABLE ;CONSOLE LISTER LOGICAL STATUS .WORD 0 ;ACTUAL DEVICE STATUS ADDRESS .WORD 0 ;BUFFER DESCRIPTOR ABSOLUTE ADDRESS .WORD 0 ;INTERRUPT VECTOR ADDRESS .WORD RTTOUT ;INTERRUPT HANDLER ADDRESS .WORD 0 ;ACTUAL DEVICE STATUS AT LAST INTERRUPT .WORD 0,0,0,0 ;STORAGE FOR PREVIOUS DEVICE STATE .WORD RTCTL!Output ;LOGICAL CONTROL = RT controlled .Word LIST ;LOGICAL UNIT NUMBER, no redirection .Word Bufd2 ;Default buffer descriptor address. .Word 132. ;LENGTH IN CHARACTERS OF THE CARRIAGE .BYTE 51. ;(RESERVED FOR POSSIBLE LINE/PAGE COUNT) .BYTE 43. ;(TTY43 LINES/PAGE BEFORE EJECT) .WORD 0 ;fill lwork2 .Word CONSKB ;Console keyboard is the associated device. .Word 0,0,0,0 ;fill (lwork 4-7) .WORD 0 ;DYNAMIC STRING DESCRIPTOR FOR AUTO NEWLINE .WORD 0 ;DYNAMIC STRING DESCRIPTOR FOR AUTO NEWLINE .WORD 0,0,0,0 ;DYNAMIC BUFFER DESCRIPTOR ;; .=ConsLT+DevDend ;; ;; CL3Rcv:: .WORD DISABLE ; Connection to CL3: input stream. .WORD 176530 ; Actual device status address (for RT). .WORD 0 ; Buffer descriptor address. .WORD 330 ; Interrupt vector address (for RT). .WORD CLin ; CL input handler (overriden for RT). .WORD 0 ;ACTUAL DEVICE STATUS AT LAST INTERRUPT .WORD 0,0,0,0 ;STORAGE FOR PREVIOUS DEVICE STATE .WORD CLctl ;FLOWCTL ;LOGICAL CONTROL WORD .WORD 2 ;LOGICAL UNIT NUMBER .Word 0 ;Default Buffer Descriptor. .WORD 0 ;fill .WORD 0 ;CHARACTER ERROR COUNT .WORD 0 ;fill (lwork2) .WORD 0 ; Associated Device desc adr. .WORD 0,0,0,0 ; fill (lwork4-7) .Byte 3 ; CL unit number. .Byte 0 ; TSX line number to be taken over (none). .Byte 0,0 ; This will be the job number and alloc job. .WORD 0,0,0,0 ;BD work ;; .=CL3rcv+DevDend ;; ;; CL3snd:: .WORD DISABLE ; TSX-Plus CL3: output stream. .WORD 176534 ; ACTUAL DEVICE STATUS ADDRESS .WORD 0 ; BUFFER DESCRIPTOR ABSOLUTE ADDRESS .WORD 334 ; INTERRUPT VECTOR ADDRESS .WORD CLout ; INTERRUPT HANDLER ADDRESS .WORD 0 ; ACTUAL DEVICE STATUS AT LAST INTERRUPT .WORD 0,0,0,0 ; STORAGE FOR PREVIOUS DEVICE STATE .WORD CLctl+Output ; LCONTROL .WORD 3 ;LOGICAL UNIT NUMBER .Word 0 ;Default buffer descriptor address. .WORD 0,0,0,0 ;fill (lwork 0-3) .BYTE XOFF,XON ;Flow control bytes .WORD 0,0,0 ;fill .Byte 3,0 ; CL unit number and TSX line number. .Byte 0,0 ; Will be the job number and alloc job. .WORD 0,0,0,0 ;DYNAMIC BUFFER DESCRIPTOR ;; .=CL3snd+DevDend ;; CL4Rcv:: .WORD DISABLE ; Connection to CL4: input stream. .WORD 176540 ; Actual device status address (for RT). .WORD 0 ; Buffer descriptor address. .WORD 340 ; Interrupt vector address (for RT). .WORD CLin ; CL input handler (overriden for RT). .WORD 0 ;ACTUAL DEVICE STATUS AT LAST INTERRUPT .WORD 0,0,0,0 ;STORAGE FOR PREVIOUS DEVICE STATE .WORD CLctl ;FLOWCTL ;LOGICAL CONTROL WORD .WORD 4 ;LOGICAL UNIT NUMBER .Word 0 ;Default Buffer Descriptor. .WORD 0 ;fill .WORD 0 ;CHARACTER ERROR COUNT .WORD 0 ;fill (lwork2) .WORD 0 ; Associated Device desc adr. .WORD 0,0,0,0 ; fill (lwork4-7) .Byte 4 ; CL unit number. .Byte 0 ; TSX line number to be taken over. .Byte 0,0 ; This will be the job number and alloc job. .WORD 0,0,0,0 ;BD work ;; .=CL4rcv+DevDend ;; CL4snd:: .WORD DISABLE ; TSX-Plus CL4: output stream. .WORD 176544 ; ACTUAL DEVICE STATUS ADDRESS .WORD 0 ; BUFFER DESCRIPTOR ABSOLUTE ADDRESS .WORD 344 ; INTERRUPT VECTOR ADDRESS .WORD CLout ; INTERRUPT HANDLER ADDRESS .WORD 0 ; ACTUAL DEVICE STATUS AT LAST INTERRUPT .WORD 0,0,0,0 ; STORAGE FOR PREVIOUS DEVICE STATE .WORD CLctl+Output ; LCONTROL .WORD 5 ;LOGICAL UNIT NUMBER .Word 0 ;Default buffer descriptor address. .WORD 0,0,0,0 ;fill (lwork 0-3) .BYTE XOFF,XON ;Flow control bytes .WORD 0,0,0 ;fill .Byte 4,0 ; CL unit number and TSX line number. .Byte 0,0 ; Will be the job number and alloc job. .WORD 0,0,0,0 ;DYNAMIC BUFFER DESCRIPTOR ;; .=CL4snd+DevDend ;; ;;********************************************************************** .EVEN .End