Cleanup of typos.
[retro-software/dec/tops10/v1.19.git] / src / ioini2.mac
1         TITLE IOINI2 - IO INITIALIZATION PART 2\r
2 \r
3 ;DEFINITIONS OF DEVCHN AND DEVBIT\r
4 ;THESE ALSO OCCUR IN IOINT1\r
5 \r
6 DEFINE ASSOC (A,N,D)\r
7 <\r
8   A'CHN=N\r
9 >\r
10 \r
11           SYSTEM\r
12 \r
13 \f\r
14 \r
15 ;APR PIP BITS\r
16 \r
17 APRBIT=1\r
18 REPEAT 7-APRCHN,<APRBIT=APRBIT*2>\r
19 XP PION,200             ;CONO PI,PION TURNS PI SYSTEM ON\r
20 XP PIOFF,400            ;TURN IT OFF\r
21 XP PICLK,PION+1B24+APRBIT       ;TURN PI ON, AND FORCE CLOCK INT.\r
22 XP CLKOFF,1000+APRCHN           ;CONO APR,CLKOFF TURNS CLOCK FLAG OFF\r
23 \f\r
24 \r
25 ;ASSEMBLE ALL DEVICE DATA BLOCKS AND LINK THEM TOGETHER\r
26 \r
27 DEFINE SCNDDB (A,B,C)\r
28 <         INTERNAL C'DB\r
29 C'DB:     ZZ=.\r
30  SIXBIT /C/\r
31  XWD A'CHN*PICHN,STTYBF+1       ;LONG ENOUGH FOR PRINTING\r
32                 ;SEQUENCE CARD IMAGE.\r
33                 ;USER BUFFERS ARE 2 WORDS\r
34                 ;LONGER THEN THE MONITORY TTY BUFFERS.\r
35  0\r
36 EXTERNAL  TTYDSP\r
37  XWD C,TTYDSP\r
38  XWD DVTTY+DVIN+DVOUT,3\r
39  0\r
40  0\r
41  XWD PROG,0\r
42  XWD PROG,0\r
43  XP TTYPTR,.-ZZ\r
44  0\r
45  XP TTYCTR,.-ZZ\r
46  0\r
47  XP TTYSAV,.-ZZ\r
48  0\r
49  XP TTYBUF,.-ZZ\r
50  XP TTYBM1,TTYBUF-1\r
51 XP STTYBF,20\r
52 XP STTYB1,STTYBF+1      ;LENGTH+1\r
53  BLOCK STTYBF\r
54 XP TTYBFE,.-ZZ-1\r
55 \r
56 ;LINE NO. PARAMETERS\r
57 XP TTYLEN,SCNLIN+1  ;LENGTH OF TTY TRANSLATOR TABLE(INCLUDE TTY)\r
58 XP TSCNLN,SCNLIN-1  ;HIGHEST TTY LINE NO.(NOT COUNTING CTY)\r
59 XP TCONLN,TSCNLN+1  ;CTY LINE NUMBER\r
60 XP MTTYLN,-TTYLEN   ;NEGATIVEL LENGTH OF TRANSLATOR TABLE\r
61 XP FSNCHN,SCNCHN*101 ;CHANNEL ASSIGNED, FOR FULL DUPLEX SCN.\r
62  XP TTYLST,TTY0DB    ;FIRST TTY DEVICE DATA BLOCK\r
63  >\r
64 \r
65 ;NEG. NO. OF TELTYPE DEVICE DATA BLOCKS\r
66 \r
67 MLTTYL=0\r
68 DEFINE ASSOC (A,N,D)\r
69 <IRP D,<IFIDN <A>,<SCN>,<MLTTYL=MLTTYL-1>>>\r
70 \r
71           SYSTEM\r
72 \r
73 INTERNAL MLTTYL\r
74 \f\r
75 \r
76 ;MAG TAPE DEVICE DATA BLOCK\r
77 \r
78 MTCNUM=0\r
79 \r
80 DEFINE MTCDDB (A,B,C)\r
81 <         INTERNAL C'DB\r
82 C'DB:     SIXBIT /C/\r
83 MTCNUM=MTCNUM+1\r
84  XWD IORET+A'CHN*PICHN,<MTCNUM-1>*10000+201\r
85 \r
86  0\r
87  XWD C,MTDISP\r
88 EXTERNAL MTDISP\r
89  XWD 4400+DVMTA+DVIN+DVOUT,154403\r
90  0\r
91  0\r
92  XWD PROG,0\r
93  XWD PROG,0\r
94 >\r
95 \f\r
96 ;DECTAPE DEVICE DATA BLOCK\r
97 \r
98 DTCNUM=0\r
99 \r
100 DEFINE DTCDDB (A,B,C)\r
101 <         INTERNAL C'DB\r
102 C'DB:     ZZ=.\r
103  SIXBIT /C/\r
104 DTCNUM=DTCNUM+1\r
105  XWD IORET+A'CHN*PICHN,<DTCNUM-1>*10000+201\r
106  0\r
107  XWD C,UTDSP\r
108 EXTERNAL UTDSP\r
109  XWD 4400+DVDIR+DVIN+DVOUT,154403\r
110  0\r
111  0\r
112  0\r
113  0\r
114 XP UFREE,.-ZZ   ;NEXT FREE BLOCK NO.\r
115  0\r
116  XP UDIR,.-ZZ   ;LINK TO DIRECTORY IN DATA BLOCK\r
117  IFE DTSIZ,<    EXP DIRBUF\r
118 >\r
119 IFN DTSIZ,<     EXP DTDIR+200*<DTCNUM-1>\r
120 >\r
121 >\r
122 \r
123 \f\r
124 \r
125 ;LINE PRINTER DEVICE DTA BLOCK\r
126 \r
127 DEFINE LPTDDB (A,B,C)\r
128 <INTERNAL LPTDB,LPTDAT,LPTCHR,LPTIOS,LPTSER,LPTMOD\r
129 INTERNAL LPTBUF,LPTPTR,LPTADR,LPTSV1\r
130 EXTERNAL LPTDSP\r
131 \r
132 LPTDB:\r
133 LPTDAT:   SIXBIT /LPT/\r
134 LPTCHR:   XWD A'CHN*PICHN,32\r
135 LPTIOS:   0\r
136 LPTSER:   XWD C,LPTDSP\r
137 LPTMOD:   XWD 0+DVOUT,3\r
138  0\r
139 LPTBUF:   0\r
140 LPTPTR:   0\r
141 LPTADR:   XWD PROG,0\r
142 LPTSV1:   0\r
143 \r
144 XP LPTCLB,LPTCHN+200  ;PI CHANNEL AND BUSY FLAG\r
145 XP LPTCHB,11*LPTCHN ;LINE PRINTER ERROR AND DATA CHANNELS\r
146 >\r
147 \f\r
148 \r
149 ;CARD READER DEVICE DATA BLOCK\r
150 \r
151 DEFINE CDRDDB (A,B,C)\r
152 <INTERNAL CDRDB,CDRDAT,CRDIS\r
153 EXTERNAL CDRDSP\r
154 \r
155 CDRDB:\r
156 CDRDAT:   SIXBIT /CDR/\r
157  XWD A'CHN*PICHN,34 ;LONG ENOUGHT FOR BINARY CARDS\r
158  0\r
159  XWD C,CDRDSP\r
160  XWD DVCDR+1400+DVIN,14403\r
161  0\r
162  0\r
163  XWD PROG,0\r
164  0\r
165  0\r
166 CRDIS:    JRST .\r
167 >\r
168 \f\r
169 \r
170 ;PAPER TAPE READER DEVICE DATA BLOCK\r
171 \r
172 DEFINE PTRDDB (A,B,C)\r
173 <INTERNAL PTRDB,PTRDAT,PTRCHR,PTRIOS,PTRSER\r
174 INTERNAL PTRMOD,PTRBUF,PTRADR,PTRPTR,PTRCTR,PTRSVC,PTRSV1\r
175 EXTERNAL PTRDSP\r
176 \r
177 PTRDB:\r
178 PTRDAT:   SIXBIT /PTR/\r
179 PTRCHR:   XWD A'CHN*PICHN,41\r
180 PTRIOS:   0\r
181 PTRSER:   XWD C,PTRDSP\r
182 PTRMOD:   XWD 1000+DVIN,14403\r
183  0\r
184 PTRBUF:   0\r
185 PTRADR:   XWD PROG,0\r
186 PTRPTR:   0\r
187 PTRCTR:   0\r
188 PTRSVC:   0\r
189 PTRSV1:   0\r
190 >\r
191 \f\r
192 \r
193 ;PAPER TAPE PUNCH DEVICE DATA BLOCK\r
194 \r
195 DEFINE PTPDDB (A,B,C)\r
196 <INTERNAL PTPDB,PTPDAT,PTPCHR,PTPIOS,PTPSER,PTPMOD,PTPBUF\r
197 INTERNAL PTPPTR,PTPADR,PTPCTR,PTPCNT,PTPCHA,PTPSIO\r
198 EXTERNAL PTPDSP\r
199 \r
200 PTPDB:\r
201 PTPDAT:   SIXBIT /PTP/\r
202 PTPCHR:   XWD A'CHN*PICHN,41\r
203 PTPIOS:   0\r
204 PTPSER:   XWD C,PTPDSP\r
205 PTPMOD:   XWD 1000+DVOUT,14403\r
206  0\r
207 PTPBUF:   0\r
208 PTPPTR:   0\r
209 PTPADR:   XWD PROG,0\r
210 PTPCTR:   0\r
211 PTPCNT:   0\r
212 PTPCHA:   0\r
213 PTPSIO:   0\r
214 >\r
215 \f\r
216 \r
217 ;GENERATE DEVICE DATA BLOCKS NEEDED FOR THIS CONFIGURATION\r
218 \r
219 DEFINE ASSOC (A,B,C)\r
220 <\r
221 IRP C,<\r
222           ;DEFINE FORWARD LINL SYMBOL\r
223  LINK\r
224 ;\r
225 ;\r
226 ;\r
227  A'DDB A,B,C\r
228 \r
229 C=0       ;SET LINK TO 0(IN CASE THIS IS LAST DDB)\r
230 DEFINE LINK\r
231 <C=.>\r
232 >\r
233 >\r
234 \r
235 INTERNAL DEVLST\r
236 \r
237 DEVLST:   XWD FIRDB,0           ;BEGINNING OF DEVICE DATA BLOCK CHAIN\r
238 \r
239 DEFINE LINK\r
240 <FIRDB=.>\r
241 \r
242           SYSTEM\r
243 \f\r
244 \r
245           LIT\r
246 \r
247           IFE DTSIZ,<           DIRBUF: BLOCK 200\r
248  INTERNAL DIRBUF\r
249 >\r
250 \r
251 IFN DTSIZ,<DTDIR:       BLOCK DTCNUM*200\r
252 INTERNAL DTDIR\r
253 >\r
254 \r
255           END,\r