1 \fTITLE 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
25 \f;DEVICE DEPENDENT PORTION OF INITIALIZATION CODE
\r
26 ;CALL: MOVEI TAC,CHANNEL NUMBER
\r
32 SCNINI: MOVEI TAC,100000
\r
33 CONO DCSA,4010 ;RELEASE XMITTER, RECEIVER
\r
39 CONO DCSA,FSNCHN ;ASSIGN INTERRUPT CHANNELS
\r
42 ;SCANNER INTERRUPT SERVICE ROUTINE.
\r
47 EXTERNAL SCNSAV,TCONLN,TTYTAB,XMTINT,TYPE,INUS2,RECINT,FSNCHN
\r
50 SCNINT: CONSO DCSA,1010
\r
53 CONSO DCSA,10 ;RECEIVER FLAG?
\r
54 JRST SCNIN1 ;NO,XMITTER FLAG
\r
55 CONI DCSB,LINE ;SCANNER INPUT.
\r
57 CAIL LINE,TCONLN ;ARE WE ENABLED FOR THIS LINE NUMBER?
\r
58 POPJ PDP, ;NO, DISMISS INTERRUPT
\r
59 JRST RECINT ;RECEIVER INT. HANDLER
\r
60 \f;COMMON PARTS OF CTY AND SCANNER INTERRUPT SERVICE ROUTINES.
\r
62 EXTERNAL INJEST,DDBSRC
\r
66 SKIPE DDB,TTYTAB(LINE) ;DATA BLOCK ASSIGNED?
\r
68 PUSHJ PDP,DDBSRC ;SEARCH FOR FREE TTY DEV. DATA BLOCK
\r
69 JRST TYPX ;NONE FOUND, TYPE X
\r
70 MOVEI HPOS,0 ;ASSUME TTY IS AT BEGIN OF FORM
\r
71 CAILE LINE,TCONLN ;PSEUDO CONSOLE?
\r
73 CAIE LINE,TCONLN ;IS IT CTY?
\r
74 CONSO DCSA,700 ;NO, IS IT HALF DUPLEX?
\r
75 JRST INUS2 ;YES, ACCEPT CHAR AND PROCESS
\r
76 JRST TYPE ;NO, ECHO CHAR ON FULL DUPLEX
\r
77 ;BEFORE PROCESSING IT
\r
80 DATAI DCSA,LINE ;GET LINE NO. FROM FULL DUPLEX.
\r
82 CONO DCSA,4000(TAC) ;RELEASE XMITTER SCANNER
\r
83 JRST XMTINT ;IN SCNSER OR TTYSER
\r
84 \f;COMMON TO RECEIVE AND TRANSMIT.
\r
86 INUSE: HRRZS DDB ;LINE DISABLED IF RH TTYTAB=-1
\r
89 MOVE IOS,DEVIOS(DDB) ;SETUP IOS
\r
90 CAIGE LINE,TCONLN ;CTY OR PTY?
\r
91 CONSO DCSA,700 ;NO, HALF DUPLEX?
\r
93 TLNE IOS,FULTWX ;IS THIS SELF ECHOEING FULL DUPLEX?
\r
94 JRST INUS2 ;YES,(USER TYPED CONROL B)
\r
95 CONO DCSB,(LINE) ;FULL DUPLEX SCANNER. ECHO CHAR.
\r
98 POPJ PDP, ;DISMISS INTERRUPT
\r
99 \f;ROUTINE TO OUTPUT A CHARACTER ON A LINE
\r
100 ;CALLED FROM TYP OR TYPL IN SCNSER
\r
105 DCSTYP: CONO PI,SCNOFF ;TURN SCANNER PI OFF IN CASE AT USER LEVEL
\r
106 ;SO NO INTERRUPTS BETWEEN CONO, AND DATAO
\r
107 CONO DCSB,(LINE) ;NO
\r
109 CONO PI,SCNON ;TURN SCANNER PI BACK ON
\r
111 DPB CHREC,PLASTC ;SAVE CHAR FOR FULL DUPLEX
\r