1 TITLE DCSINT - INT. SERV. FOR DATA COMMUNICATION SYSTEM 630 - V402
\r
2 SUBTTL M. FREDRIKSEN/TH/CHW TS 7 MAY 69
\r
4 ;PUT VERSION NUMBER IN GLOB LISTING AND LOADER STORAGE MAP
\r
6 ;MODULAR HARDWARE INTERFACE WITH EITHER SCNSER OR TTYSER
\r
8 EXTERNAL SCNON,SCNOFF,TYPX
\r
10 IFE FTTTYSER,<XP FULTWX,200000>
\r
12 IFN FTTTYSER,<XP FULTWX,4>
\r
13 \f;ACCUMULATOR ASSIGNMENTS
\r
15 CHREC=TEM ;AC FOR CHARACTER
\r
16 DDB=DEVDAT ;ADDRESS OF DEVICE DATA BLOCK
\r
17 LINE=TAC1 ;SCANNER LINE NUMBER
\r
18 HPOS=DAT ;HORIZONTAL POSITION OF TTY.(0-71)
\r
24 \f;DEVICE DEPENDENT PORTION OF INITIALIZATION CODE
\r
25 ;CALL: MOVEI TAC,CHANNEL NUMBER
\r
31 SCNINI: MOVEI TAC,100000
\r
32 CONO DCSA,4010 ;RELEASE XMITTER, RECEIVER
\r
38 CONO DCSA,FSNCHN ;ASSIGN INTERRUPT CHANNELS
\r
41 ;SCANNER INTERRUPT SERVICE ROUTINE.
\r
46 EXTERNAL SCNSAV,TCONLN,TTYTAB,XMTINT,TYPE,INUS2,RECINT,FSNCHN
\r
49 SCNINT: CONSO DCSA,1010
\r
52 CONSO DCSA,10 ;RECEIVER FLAG?
\r
53 JRST SCNIN1 ;NO,XMITTER FLAG
\r
54 CONI DCSB,LINE ;SCANNER INPUT.
\r
56 CAIL LINE,TCONLN ;ARE WE ENABLED FOR THIS LINE NUMBER?
\r
57 POPJ PDP, ;NO, DISMISS INTERRUPT
\r
58 JRST RECINT ;RECEIVER INT. HANDLER
\r
59 \f;COMMON PARTS OF CTY AND SCANNER INTERRUPT SERVICE ROUTINES.
\r
61 EXTERNAL INJEST,DDBSRC
\r
65 SKIPE DDB,TTYTAB(LINE) ;DATA BLOCK ASSIGNED?
\r
67 PUSHJ PDP,DDBSRC ;SEARCH FOR FREE TTY DEV. DATA BLOCK
\r
68 JRST TYPX ;NONE FOUND, TYPE X
\r
69 MOVEI HPOS,0 ;ASSUME TTY IS AT BEGIN OF FORM
\r
70 CAILE LINE,TCONLN ;PSEUDO CONSOLE?
\r
72 CAIE LINE,TCONLN ;IS IT CTY?
\r
73 CONSO DCSA,700 ;NO, IS IT HALF DUPLEX?
\r
74 JRST INUS2 ;YES, ACCEPT CHAR AND PROCESS
\r
75 JRST TYPE ;NO, ECHO CHAR ON FULL DUPLEX
\r
76 ;BEFORE PROCESSING IT
\r
79 DATAI DCSA,LINE ;GET LINE NO. FROM FULL DUPLEX.
\r
81 CONO DCSA,4000(TAC) ;RELEASE XMITTER SCANNER
\r
82 JRST XMTINT ;IN SCNSER OR TTYSER
\r
83 \f;COMMON TO RECEIVE AND TRANSMIT.
\r
85 INUSE: HRRZS DDB ;LINE DISABLED IF RH TTYTAB=-1
\r
88 MOVE IOS,DEVIOS(DDB) ;SETUP IOS
\r
89 CAIGE LINE,TCONLN ;CTY OR PTY?
\r
90 CONSO DCSA,700 ;NO, HALF DUPLEX?
\r
92 TLNE IOS,FULTWX ;IS THIS SELF ECHOEING FULL DUPLEX?
\r
93 JRST INUS2 ;YES,(USER TYPED CONROL B)
\r
94 CONO DCSB,(LINE) ;FULL DUPLEX SCANNER. ECHO CHAR.
\r
97 POPJ PDP, ;DISMISS INTERRUPT
\r
98 \f;ROUTINE TO OUTPUT A CHARACTER ON A LINE
\r
99 ;CALLED FROM TYP OR TYPL IN SCNSER
\r
104 DCSTYP: CONO PI,SCNOFF ;TURN SCANNER PI OFF IN CASE AT USER LEVEL
\r
105 ;SO NO INTERRUPTS BETWEEN CONO, AND DATAO
\r
106 CONO DCSB,(LINE) ;NO
\r
108 CONO PI,SCNON ;TURN SCANNER PI BACK ON
\r
110 DPB CHREC,PLASTC ;SAVE CHAR FOR FULL DUPLEX
\r