2 ;;; Copyright (c) 1999 Massachusetts Institute of Technology
4 ;;; This program is free software; you can redistribute it and/or
5 ;;; modify it under the terms of the GNU General Public License as
6 ;;; published by the Free Software Foundation; either version 3 of the
7 ;;; License, or (at your option) any later version.
9 ;;; This program is distributed in the hope that it will be useful,
10 ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
11 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 ;;; General Public License for more details.
14 ;;; You should have received a copy of the GNU General Public License
15 ;;; along with this program; if not, write to the Free Software
16 ;;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19 ;;; ITS BITS THAT ARE OFTEN NEEDED
23 ;;; CATALOGUE OF RESERVED BIT NAME AND CONSTANT PREFIXES IN ITS
25 .SEE %CA ;BITS IN CLRAC FOR CORE LINK DEVICE
26 .SEE %CB ;BITS FOR CORBLK SYMBOLIC SYSTEM CALL
27 .SEE %CL ;.CALL ARGUMENT TYPES.
28 .SEE %CLS ;BITS IN LH OF CLSTB ENTRY
29 .SEE %DC ;DTE20 IOELEVEN COMMANDS
30 .SEE %DF ;T-300 FAULT (DSCFLT)
31 .SEE %DM ;T-300 COMMAND (DSCCMD)
32 .SEE %DO ;DSK OPEN MODE BITS
33 .SEE %DP ;DATAPOINT CURSOR CONTROL CONSTANTS
34 .SEE %DS ;T-300 STATUS (DSCSTS)
35 .SEE %DT ;DTE20 COMMANDS BITS AND CONSTANTS
36 .SEE %DV ;BITS IN DEVTAB
37 .SEE %E ;.CALL AND OPEN ERROR CODES
38 .SEE %GO ;SUPDUP GRAPHICS PROTOCOL COMMANDS
39 .SEE %H1 ;RP04 (RH10/RH11) ERROR REGISTER 1
40 .SEE %H3 ;RP04 (RH10/RH11) ERROR REGISTER 3
41 .SEE %HA ;RP04 (RH10/RH11) ADDRESS REGISTER
42 .SEE %HC ;RP04 (RH10) CONTROL REGISTER
43 .SEE %HD ;RH10 ERROR BITS IN DRIVE REGISTERS
44 .SEE %HI ;RH10 CONI BITS
45 .SEE %HM ;RP04 (RH10/RH11) COMMAND CONSTANTS
46 .SEE %HO ;RH10 CONO BITS
47 .SEE %HR ;RH10 CONTROLLER AND RP04 DRIVE REGISTER NUMBERS
48 ; OR RH11 UNIBUS REGISTER ADDRESSES
49 .SEE %HS ;RP04 (RH10/RH11) STATUS REGISTER BITS
50 .SEE %HW ;FOR KL AND KS, BITS IN RH OF RESULT OF APRID
51 .SEE %HX ;RH11 BITS IN %HRCS1
52 .SEE %HY ;RH11 BITS IN %HRCS2
53 .SEE %IL ;Interlan NI1010 bits and constants
54 .SEE %IOT ;BITS IN IOTTB
55 .SEE %IR ;BITS IN IP ROUTE ENTRY FLAGS
56 .SEE %JB ;BITS IN JBWST VARIABLE
57 .SEE %JG ;BITS IN JOBGET FIRST VALUE
58 .SEE %JO ;OPCODES IN JOBGET FIRST VALUE
59 .SEE %JS ;SPECIAL VALUES FOR <JOB> SPECS
60 .SEE %KE ;BITS IN KS10 MEMORY STATUS REGISTER (KSECCS)
61 .SEE %LH ;BITS AND CONSTANTS FOR ACC LH/DH IMP INTERFACE (KS10)
62 .SEE %MA ;BITS IN MSRAC (MAGTAPE STATUS TABLE)
63 .SEE %NC ;NETWORK SOCKET CLOSE REASONS
64 .SEE %NE ;ETHERNET - constants and bits (%EN taken..)
65 .SEE %NO ;INTERNET - bits for TCPOPN system call
66 .SEE %NS ;NETWORK SOCKET STATES
67 .SEE %NT ;INTERNET - TCP channel states (almost = to %NS. See also %NX)
68 .SEE %NX ;INTERNET - TCP connection close reasons (almost = to %NC)
69 .SEE %OP ;BITS IN LH OF .OPTION USER VARIABLE
70 .SEE %PC ;KA10 PC FLAGS
71 .SEE %PF ;KL10 AND KS10 PAGE FAIL WORD BITS (DEFINITIONS DIFFER
73 .SEE %PI ;BITS IN PIRQC USER VARIABLE
74 .SEE %PJ ;BITS IN LH OF PIRQC USER VARIABLE
75 .SEE %PS ;KL10 AND KS10 PC FLAGS
76 .SEE %QA ;BITS IN QSRAC (DISK STATUS TABLE)
77 .SEE %QM ;DISK ACTION MODES IN RH OF QSRAC
78 .SEE %RL ;BITS FOR COMMANDS TO .REALT UUO
79 .SEE %SCV ;BITS IN SYSCVL TO CONTROL SYMBOLIC SYSTEM CALLS
80 .SEE %SS ;STY STATUS BITS IN STYSTS
81 .SEE %SW ;LH(USWST) BITS
82 .SEE %SY ;NAMES FOR SQUOZE FLAGS IN SYMBOL TABLES (NOT DEFINED IN ITS)
83 .SEE %TA ;BITS IN TTYSTA
84 .SEE %TB ;BITS IN TTYTBL USER VARIABLE
85 .SEE %TC ;BITS IN TTYCOM
86 .SEE %TD ;SOFTWARE TTY CURSOR CONTROL CODE CONSTANTS
87 .SEE %TF ;BITS IN TPFLAG
88 .SEE %TG ;BITS IN TTYST1 AND TTYST2
89 .SEE %TI ;BITS IN LEFT HALF OF TTY INPUT IOCHNM WORD
90 .SEE %TJ ;BITS IN LH OF TTY OPTPUT IOCHNM
91 .SEE %TM ;BITS AND CONSTANTS FOR TM03/RH11 TAPE CONTROLLER (KS10)
92 .SEE %TN ;CONSTANTS FOR TCTYP
93 .SEE %TO ;BITS IN LEFT HALF OF TTYOPT
94 .SEE %TP ;BITS IN RIGHT HALF OF TTYOPT
95 .SEE %TQ ;BITS IN LEFT HALF OF TTYSMT
96 .SEE %TR ;BITS IN RIGHT HALF OF TTYSMT
97 .SEE %TS ;BITS IN TTYSTS
98 .SEE %TT ;BITS IN LEFT HALF OF TTYTYP
99 .SEE %TX ;ASCII CHARACTER BITS (META, TOP, CONTROL, ETC.)
100 .SEE %TY ;BITS IN RIGHT HALF OF TTYTYP
101 .SEE %UB ;BITS IS KS10 UNIBUS STATUS REGISTER (UBASTA)
102 .SEE %UC ;FOR KL AND KS, BITS IN LH OF RESULT OF APRID
103 .SEE %UM ;BITS IN UMAPS VARIABLE, AND ARGS TO PGLD, MPLD1, PLD1.
104 .SEE %UP ;BITS IN KS10 UNIBUS PAGE MAP (WHEN MAP IS READ) (UBAPAG)
105 .SEE %UQ ;BITS IN KS10 UNIBUS PAGE MAP (WHEN MAP IS WRITTEN) (UBAPAG)
106 .SEE %UST ;BITS IN USTP VARIABLE.
107 .SEE %WY ;WHYINT CODES
108 .SEE $11 ;BYTE POINTERS TO PDP11 FIELDS IN PDP-10 WORDS, ON AI-KA
110 .SEE ..R ;ARGUMENT CODES FOR .BREAK 12, READING.
111 .SEE ..S ;ARGUMENT CODES FOR .BREAK 12, WRITING.
112 .SEE .XC ;INTERNET - TCP connection close reasons (almost = to %NC)
113 ; (Old names. Use %NX instead.)
115 .SEE MMP ;BITS IN MMP ENTRY 1ST WORD L.H.
116 .SEE OPTTRP ;BITS IN LH OF .OPTION VARIABLE
117 ; (Old names. Use %OP instead)
118 .SEE SCL ;BITS IN LH OF SUPCOR
119 .SEE SCR ;BITS IN RH OF SUPCOR
121 IFNDEF DEFSYM,[ ;ALLOW USER TO USE SYMBOLS IN OTHER WAYS IF HE WISHES.
122 ;BUT NORMALLY, DEFSYM FOO==BAR DOES FOO==BAR WITH ERROR CHECK.
125 IFNDEF Z,.QUOTE/.QUOTE/
\16X
\16
128 .QUOTE/.QUOTE/
\16X
\16
129 IFN Z-$$TEM1,.ERR Z MULTIPLY .QUOTE`.QUOTE/DEFINED/`
134 IFLE .MLLIT,.ERR .MLLIT MUST BE 1; SETTING IT TO 1.
140 ;OPEN-FAILURE CODE NAMES.
141 ;3RD AND 4TH LETTER: "TM" = "TOO MANY", "BD" = "BAD OR ILLEGAL",
142 ; "TF" = "TOO FEW", "RO" = "READ-ONLY", "NA" = "NOT AVAILABLE",
143 ; "NS" = "NO SUCH", "EX" = "ALREADY EXISTS", "FL" = "FULL",
144 ; "NR" = "NOT READY".
145 ;5TH AND 6TH LETTER: "JB" = "JOB", "RG" = "ARG", "DV" = "DEVICE",
146 ; "DR" = "DIRECTORY", "IO" = "DIRECTION", "FL" = "FILE",
148 DEFSYM %E==:-100 ;BIT TYPEOUT MASK
149 DEFSYM %ENSDV==:1 ;NO SUCH DEVICE
150 DEFSYM %ENSIO==:2 ;WRONG DIRECTION
151 DEFSYM %ETMTR==:3 ;TOO MANY TRANSLATIONS
152 DEFSYM %ENSFL==:4 ;FILE NOT FOUND
153 DEFSYM %EFLDR==:5 ;DIRECTORY FULL
154 DEFSYM %EFLDV==:6 ;DEVICE FULL
155 DEFSYM %ENRDV==:7 ;DEVICE NOT READY
156 DEFSYM %ENADV==:10 ;DEVICE NOT AVAILABLE
157 DEFSYM %EBDFN==:11 ;ILLEGAL FILE NAME
158 DEFSYM %ENSMD==:12 ;MODE NOT AVAILABLE
159 DEFSYM %EEXFL==:13 ;FILE ALREADY EXISTS
160 DEFSYM %EBDCH==:14 ;BAD CHANNEL NUMBER
161 DEFSYM %ETMRG==:15 ;TOO MANY ARGUMENTS (CALL)
162 DEFSYM %ENAPK==:16 ;PACK NOT MOUNTED
163 ;17 FORMERLY DIRECTORY NOT AVAIL
164 DEFSYM %ENSDR==:20 ;NON-EXISTENT DIRECTORY
165 DEFSYM %ELCDV==:21 ;LOCAL DEVICE ONLY
166 DEFSYM %ESCO==: 22 ;SELF-CONTRADICTORY OPEN
167 DEFSYM %ENAFL==:23 ;FILE LOCKED
168 DEFSYM %ETMDR==:24 ;M.F.D. FULL
169 DEFSYM %EMCHN==:25 ;DEVICE NOT ASSIGNABLE TO THIS PROCESSOR
170 DEFSYM %ERODV==:26 ;DEVICE WRITE-LOCKED
171 DEFSYM %ETMLK==:27 ;LINK DEPTH EXCEEDED
172 DEFSYM %ETFRG==:30 ;TOO FEW ARGUMENTS (CALL)
173 DEFSYM %EROJB==:31 ;CAN'T MODIFY JOB
174 DEFSYM %EROPG==:32 ;CAN'T GET THAT ACCESS TO PAGE
175 DEFSYM %EBDRG==:33 ;MEANINGLESS ARGS
176 DEFSYM %EBDDV==:34 ;WRONG TYPE DEVICE
177 DEFSYM %ENSJB==:35 ;NO SUCH JOB
178 DEFSYM %EBOJ==: 36 ;VALID CLEAR OR STORED SET
179 DEFSYM %ENACR==:37 ;NO CORE AVAILABLE
180 DEFSYM %ETOP==: 40 ;NOT TOP LEVEL
181 DEFSYM %ENAPP==:41 ;OTHER END OF PIPELINE GONE OR NOT OPEN
182 DEFSYM %ENAJB==:42 ;JOB GONE OR GOING AWAY
183 DEFSYM %ENSCL==:43 ;ILLEGAL SYSTEM CALL NAME
184 DEFSYM %ENSCH==:44 ;CHANNEL NOT OPEN
185 DEFSYM %ENRBF==:45 ;INPUT BUFFER EMPTY OR OUTPUT BUFFER FULL
186 DEFSYM %EBDFL==:46 ;UNRECOGNIZABLE FILE (LOAD)
187 DEFSYM %EBDLK==:47 ;LINK TO NON-EXISTENT FILE
189 NOPNLS==:47 ;NO DEFSYM BECAUSE THIS SYMBOL IS NOT TO BE PREDEFINED TO USERS
191 ; BITS IN .PIRQC USER VARIABLE - FIRST-WORD INTERRUPTS
193 ; [1] STOPS JOB AND INTERRUPTS SUPERIOR (FATAL INTR)
194 ; [2] STOPS JOB AND INTERRUPTS SUPERIOR UNLESS ENABLED
195 ; [3] DOES NOTHING UNLESS ENABLED
196 ; BITS IN THE LH HAVE TWO NAMES: %PI... AS A BIT IN THE WORD,
197 ; AND %PJ... SHIFTED DOWN BY 18. BITS.
201 DEFSYM %PI==:525252,,525252 ;FOR BIT-TYPEOUT MODE
202 DEFSYM %PIRLT==:200000,, ;REAL-TIME TIMER WENT OFF [3]
203 DEFSYM %PIRUN==:100000,, ;RUN-TIME TIMER WENT OFF [3]
204 DEFSYM %PINXI==:40000,, ;NON-EX IO REG (KS10 UNIBUS) [2]
205 DEFSYM %PIJST==:20000,, ;JOB STATUS DISPLAY REQUEST [3]
206 DEFSYM %PIDCL==:10000,, ;DEFERRED CALL [1]
207 DEFSYM %PIATY==:4000,, ;WAS JUST GIVEN THE TTY [3]
208 DEFSYM %PITTY==:2000,, ;DON'T HAVE TTY (SEE %TBINT) [2]
209 DEFSYM %PIPAR==:1000,, ;MEMORY PARITY ERROR [2]
210 DEFSYM %PIFOV==:400,, ;FLOATING OVERFLOW [3]
211 DEFSYM %PIWRO==:200,, ;WRITE IN READ-ONLY PAGE [2]
212 DEFSYM %PIFET==:100,, ;FETCHED INSN FROM IMPURE PAGE [2]
213 DEFSYM %PITRP==:40,, ;SYSTEM UUO IN TRAP MODE [1]
214 DEFSYM %PIDBG==:2,, ;SYSTEM BEING DEBUGGED STATE CHG[3]
215 DEFSYM %PILOS==:1,, ;.LOSE INSTRUCTION EXECUTED [2]
216 DEFSYM %PICLI==:400000 ;CLI DEVICE OPENED TO THIS JOB [3]
217 DEFSYM %PIPDL==:200000 ;PUSHDOWN LIST OVERFLOW [3]
218 DEFSYM %PILTP==:100000 ;LIGHT PEN [3]
219 DEFSYM %PIMAR==:40000 ;MAR ADDRESS TRAP [2]
220 DEFSYM %PIMPV==:20000 ;MEMORY PROTECTION VIOLATION [2]
221 DEFSYM %PICLK==:10000 ;SLOW (1/2 SEC) CLOCK [3]
222 DEFSYM %PI1PR==:4000 ;SINGLE-INSTRUCTION PROCEED [1]
223 DEFSYM %PIBRK==:2000 ;.BREAK INSTRUCTION EXECUTED [1]
224 DEFSYM %PIOOB==:1000 ;ADDRESS OUT OF BOUNDS [2]
225 DEFSYM %PIIOC==:400 ;I/O CHANNEL ERROR [2]
226 DEFSYM %PIVAL==:200 ;.VALUE INSTRUCTION EXECUTED [1]
227 DEFSYM %PIDWN==:100 ;SYSTEM GOING DOWN STATUS CHANGE[3]
228 DEFSYM %PIILO==:40 ;ILLEGAL OPERATION (E.G. UUO) [2]
229 DEFSYM %PIDIS==:20 ;DISPLAY MEMORY PROTECT [2]
230 DEFSYM %PIARO==:10 ;ARITHMETIC OVERFLOW [3]
231 DEFSYM %PIB42==:4 ;BAD LOCATION 42 [1]
232 DEFSYM %PIC.Z==:2 ;^Z OR CALL TYPED [1]
233 DEFSYM %PITYI==:1 ;TTY INPUT (OBSOLETE) [3]
235 DEFSYM %PJ==:1,,525252 ;BIT TYPEOUT MASK
236 DEFSYM %PJRLT==:200000 ;REAL-TIME TIMER WENT OFF [3]
237 DEFSYM %PJRUN==:100000 ;RUN-TIME TIMER WENT OFF [3]
238 DEFSYM %PJNXI==:40000 ;NON-EX IO REG (KS10 UNIBUS) [2]
239 DEFSYM %PJJST==:20000 ;JOB STATUS DISPLAY REQUEST [3]
240 DEFSYM %PJDCL==:10000 ;DEFERRED CALL [1]
241 DEFSYM %PJATY==:4000 ;WAS JUST GIVEN THE TTY [3]
242 DEFSYM %PJTTY==:2000 ;DON'T HAVE TTY (SEE %TBINT) [2]
243 DEFSYM %PJPAR==:1000 ;MEMORY PARITY ERROR [2]
244 DEFSYM %PJFOV==:400 ;FLOATING OVERFLOW [3]
245 DEFSYM %PJWRO==:200 ;WRITE IN READ-ONLY PAGE [2]
246 DEFSYM %PJFET==:100 ;FETCHED INSN FROM IMPURE PAGE [2]
247 DEFSYM %PJTRP==:40 ;SYSTEM UUO IN TRAP MODE [1]
248 DEFSYM %PJDBG==:2 ;SYSTEM BEING DEBUGGED STATE CHG[3]
249 DEFSYM %PJLOS==:1 ;.LOSE INSTRUCTION EXECUTED [2]
251 ;;; PC FLAGS (LEFT HALF)
253 DEFSYM %PC==:1,,525240 ;FOR BIT-TYPEOUT MODE
254 DEFSYM %PCARO==:400000 ;ARITHMETIC OVERFLOW
255 DEFSYM %PCCR0==:200000 ;CARRY OUT OF BIT 0
256 DEFSYM %PCCR1==:100000 ;CARRY OUT OF BIT 1
257 DEFSYM %PCFOV==:040000 ;FLOATING OVERFLOW
258 DEFSYM %PCFPD==:020000 ;FIRST PART DONE
259 ; (E.G. ILDB PTR INCREMENTED, BYTE NOT FETCHED)
260 DEFSYM %PCUSR==:010000 ;USER MODE
261 DEFSYM %PCUIO==:004000 ;USER I/O
262 DEFSYM %PCPUR==:002000 ;GIVE %PIFET IF FETCH INSTR FROM WRITABLE
264 DEFSYM %PCSPC==:001000 ;"SPECIAL" - OBSOLETE
265 DEFSYM %PC1PR==:000400 ;1 PROCEED - GIVE %PI1PR AFTER ONE INSTRUCTION
266 DEFSYM %PCX17==:000200 ;XR 17 = PC (AI-KA ONLY)
267 DEFSYM %PCFXU==:000100 ;FLOATING EXPONENT UNDERFLOW
268 DEFSYM %PCDIV==:000040 ;DIVIDE ERROR
270 ;;; PC FLAGS FOR KL-10 AND KS-10
272 DEFSYM %PS==:1,,525240 ;FOR BIT-TYPEOUT MODE
273 DEFSYM %PSARO==:400000 ;ARITHMETIC OVERFLOW
274 DEFSYM %PSPCP==:400000 ;PREVIOUS CONTEXT PUBLIC - PXCT CAN'T
275 ;REFERENCE CONCEALED PAGE THIS APPLIES ONLY
276 ;IN EXEC MODE. IN USER MODE AND ON KS IS
278 DEFSYM %PSCR0==:200000 ;CARRY OUT OF BIT 0
279 DEFSYM %PSCR1==:100000 ;CARRY OUT OF BIT 1
280 DEFSYM %PSFOV==:040000 ;FLOATING OVERFLOW
281 DEFSYM %PSFPD==:020000 ;FIRST PART DONE (E.G. ILDB PTR
282 ;INCREMENTED, BYTE NOT FETCHED)
283 DEFSYM %PSUSR==:010000 ;USER MODE ; 0 0 1 1
284 DEFSYM %PSUIO==:004000 ;USER I/O ;; KERNEL SUPERV CONCEAL PUBLIC
285 DEFSYM %PSPUB==:002000 ;PUBLIC MODE ; 0 1 0 1
286 ;%PSPUB ALWAYS 0 ON KS.
287 DEFSYM %PSPCU==:004000 ;IN EXEC MODE %PSUIO MEANS PREVIOUS CONTEXT
289 DEFSYM %PSINH==:001000 ;INHIBIT ADDRESS BREAK & TRAP 3 (TURNS OFF
290 ;AFTER 1 INST) %PSINH ALWAYS 0 ON KS.
291 DEFSYM %PSTR2==:000400 ;TRAP 2 (PDL OVERFLOW) ;TRAP 1 PLUS TRAP 2
292 DEFSYM %PSTR1==:000200 ;TRAP 1 (ARITH OVERFLOW) ; MAKES TRAP 3
295 DEFSYM %PSFXU==:000100 ;FLOATING EXPONENT UNDERFLOW
296 DEFSYM %PSDIV==:000040 ;DIVIDE ERROR
298 DEFSYM %PS1PR==:001600 ;BITS TO SET TO CAUSE A 1-PROCEED ON KL.
300 ; INTERNET and ARPANET
303 DEFSYM %NQ==:1,,525252 ; Control bits for NETRFC system call
304 DEFSYM %NQREF==:1 ; Refuse this connection request. Arg 2 must be a
305 ; previously returned RFC identifier.
308 DEFSYM %NO==:1,,525252 ; Control bits for TCPOPN system call
309 DEFSYM %NOLSN==:100 ; Listen mode - wait for SYN (request for conn)
311 DEFSYM %NS==:,-1 ; NCP (old ARPANET) SOCKET STATES
312 DEFSYM %NSCLS==:0 ;CLS RECEIVED. CONNECTION CLOSED (IMSCLS GIVES REASON)
313 DEFSYM %NSLSN==:1 ;LISTENING FOR RFC
314 DEFSYM %NSRFC==:2 ;RFC RECEIVED WHILE IN LISTENING STATE
315 DEFSYM %NSRCL==:3 ;CLS RECEIVED WHILE IN RFC RECEIVED STATE
316 DEFSYM %NSRFS==:4 ;RFC SENT
317 DEFSYM %NSOPN==:5 ;CONNECTION OPEN
318 DEFSYM %NSRFN==:6 ;RFNM WAIT ON WRITE LINK
319 DEFSYM %NSCLW==:7 ;CLS SENT. WAITING FOR MATCHING CLS
320 DEFSYM %NSCLI==:10 ;CLS RECEIVED BUT INPUT STILL AVAILABLE
321 DEFSYM %NSINP==:11 ;INPUT AVAILABLE
323 DEFSYM %NT==:,,-1 ; TCP port states as seen by user
324 ; Legend: - Pre-Open, * Open, + Post-open, ? impossible.
325 ; I = can read, O = can write.
326 ; Note that the input and output channels for a TCP connection
327 ; will usually have different states. Also, note that
328 ; for all practical purposes, %NT and %NS symbols with the same
329 ; value have the same meaning. SYN = Request for connection.
331 DEFSYM %NTCLS==:0 ; - - Closed (reason available from WHYINT)
332 DEFSYM %NTLSN==:1 ; - - Listening for a SYN
333 DEFSYM %NTSYR==:2 ; - - SYN received
334 DEFSYM %NTCLU==:3 ; + ? Being closed by fgn host
335 DEFSYM %NTSYN==:4 ; - - SYN sent, waiting for response
336 DEFSYM %NTOPN==:5 ; *I *O Open
337 DEFSYM %NTWRT==:6 ; ? *O Output buffer full
338 DEFSYM %NTCLX==:7 ; ? + Being closed by user
339 DEFSYM %NTCLI==:10 ; +I ? Closing/closed, input still available
340 DEFSYM %NTINP==:11 ; *I ? Open, input available
343 DEFSYM %NC==:,-1 ; NCP (old ARPANET) CLOSE REASONS (IN IMSCLS)
344 DEFSYM %NCNTO==:0 ;NEVER OPENED
345 DEFSYM %NCUSR==:1 ;CLSED BY USER
346 DEFSYM %NCFRN==:2 ;CLSED BY FOREIGN HOST
347 DEFSYM %NCRST==:3 ;RST
348 DEFSYM %NCDED==:4 ;HOST DEAD
349 DEFSYM %NCINC==:5 ;INCOMPLETE TRANSMISSION
350 DEFSYM %NCBYT==:6 ;BYTE SIZE MISMATCH.
351 DEFSYM %NCNCP==:7 ;OUR NCP WENT DOWN.
352 DEFSYM %NCRFS==:10 ;REQUEST FOR CONNECTION REFUSED
354 ;;; .XC is being phased out for the name %NX instead.
355 ;;; The .XC symbols will be flushed "soon".
357 DEFSYM .XC==,,-1 ; TCP port cls reasons (valid for ALL post-open states)
358 ; Note .XC and %NC symbols with the same value
359 ; have pretty much the same meanings.
360 DEFSYM .XCNTO==:0 ; Never opened
361 DEFSYM .XCUSR==:1 ; Closed by user
362 DEFSYM .XCFRN==:2 ; Closed by foreign host
363 DEFSYM .XCRST==:3 ; Fgn host refused or aborted connection.
364 DEFSYM .XCDED==:4 ; Fgn host dead (not used yet)
365 DEFSYM .XCINC==:5 ; Incomplete transmission (retransmission timeout)
366 ; This is the usual indication when a foreign host
367 ; or the intervening network crashes.
368 ; ==:6 ; Byte size mismatch - can't happen
369 DEFSYM .XCNCP==:7 ; Local TCP went down (not used yet)
370 DEFSYM .XCRFS==:10 ; RST received while in SYN-SENT state.
371 ; (foreign host refused connection)
373 DEFSYM %NX==,,-1 ; TCP port cls reasons (valid for ALL post-open states)
374 ; Note %NX and %NC symbols with the same value
375 ; have pretty much the same meanings.
376 DEFSYM %NXNTO==:0 ; Never opened
377 DEFSYM %NXUSR==:1 ; Closed by user
378 DEFSYM %NXFRN==:2 ; Closed by foreign host
379 DEFSYM %NXRST==:3 ; Fgn host refused or aborted connection.
380 DEFSYM %NXDED==:4 ; Fgn host dead (not used yet)
381 DEFSYM %NXINC==:5 ; Incomplete transmission (retransmission timeout)
382 ; This is the usual indication when a foreign host
383 ; or the intervening network crashes.
384 ; ==:6 ; Byte size mismatch - can't happen
385 DEFSYM %NXNCP==:7 ; Local TCP went down (not used yet)
386 DEFSYM %NXRFS==:10 ; RST received while in SYN-SENT state.
387 ; (foreign host refused connection)
391 ;;; BITS IN RESULT OF APRID (BLKI APR,) ON KL-10 AND KS-10
392 DEFSYM %UC==:1,,525000 ;FOR BIT-TYPEOUT MODE
393 DEFSYM $UCOPT==:331100 ;MICROCODE OPTIONS:
394 DEFSYM %UCKLP==:400000 ; KL-10-STYLE PAGING
395 DEFSYM %UCITS==:20000 ; ITS-STYLE PAGING
396 DEFSYM %UCTRK==:1000 ; TRACKS FEATURE
397 DEFSYM $UCVRS==:221100 ;MICROCODE VERSION NUMBER
399 DEFSYM %HW==:0,,527777 ;FOR BIT-TYPEOUT MODE
400 DEFSYM $HWOPT==:140600 ;HARDWARE OPTIONS
401 DEFSYM $HWSER==:001400 ;PROCESSOR SERIAL NUMBER
404 ;;; .CALL ARGUMENT TYPES
405 DEFSYM %CL==:1,,400777
406 DEFSYM %CLIN==:0 ;INPUT ARGUMENT
407 DEFSYM %CLIMM==:1000 ;IMMEDIATE ARGUMENT
408 DEFSYM %CLOUT==:2000 ;OUTPUT ARGUMENT
409 DEFSYM %CLERR==:3000 ;ERROR CODE OUTPUT ARGUMENT
410 DEFSYM %CLBTW==:4000 ;DIRECT CONTROL BITS
411 DEFSYM %CLBIT==:5000 ;IMMEDIATE CONTROL BITS
414 ;;; CONTROL BITS FOR CORBLK SYSTEM CALL
417 DEFSYM %CB==:0,,525252 ;FOR BIT-TYPEOUT MODE
418 DEFSYM %CBWRT==:400000 ;TRY FOR WRITE ACCESS, OK IF CAN'T GET IT
419 DEFSYM %CBRED==:200000 ;TRY FOR READ ACCESS, OK IF CAN'T GET IT
420 DEFSYM %CBNDW==:100000 ;NEED WRITE ACCESS, FAIL IF CAN'T GET IT
421 DEFSYM %CBPUB==:040000 ;MAKE PAGE PUBLIC, REQUIRES WRITE ACCESS
422 DEFSYM %CBPRV==:020000 ;MAKE PAGE PRIVATE, REQUIRES WRITE ACCESS
423 DEFSYM %CBNDR==:010000 ;NEED READ ACCESS, FAIL IF CAN'T GET IT
424 DEFSYM %CBCPY==:004000 ;MAKE A COPY (DISK FILES ONLY)
425 DEFSYM %CBLOK==:002000 ;LOCK PAGE IN CORE.
426 DEFSYM %CBULK==:001000 ;UNLOCK PAGE (ALLOW SWAP-OUT)
427 DEFSYM %CBSLO==:000400 ;MAY ONLY RESIDE IN SLOWEST MEMORY
428 DEFSYM %CBUSL==:000200 ;ALLOWS USE OF ANY MEMORY.
429 ;ABOVE BITS ALL ZERO MEANS DELETE PAGE FROM MAP
431 ;;; SPECIAL VALUES FOR <JOB> SPECS
434 DEFSYM %JSELF==:,,-1 ;SELF (ALL <JOB> SPECS)
435 DEFSYM %JSTVB==:,,-2 ;11TV BUFFER (CORBLK)
436 DEFSYM %JSNUL==:,,-3 ;NULL JOB (KLPERF)
437 DEFSYM %JSALL==:,,-4 ;ALL JOBS (KLPERF)
438 DEFSYM %JSNEW==:,,-5 ;FRESH PAGE (CORBLK)
439 DEFSYM %JSABS==:,,-6 ;ABSOLUTE CORE (CORBLK)
440 DEFSYM %JSNUM==:400000 ;THIS + JOB # => THAT JOB (ALL <JOB> SPECS)
441 DEFSYM %JSSIX==:400376 ;PDP6 IS USER NUMBER 376
442 DEFSYM %JSSUP==:400377 ;SUPERIOR (ALL <JOB> SPECS)
443 ;A <JOB> SPEC MAY ALSO BE THE NUMBER OF A CHANNEL OPEN ON USR:, BOJ:, OR STY:
445 ;;; CONTROL BITS FOR ".REALT AC," UUO.
446 ;;; FLAG BITS ARE IN LH(AC).
449 DEFSYM %RL==:1,,525252 ;FOR BIT-TYPEOUT MODE
450 DEFSYM %RLFLS==:400000 ;FLUSH OLD TIMER
451 DEFSYM %RLSET==:200000 ;SET NEW CLOCK RATE
452 DEFSYM %RLUSR==:100000 ;TRY TO SEIZE REAL TIME USER FACILITY
453 DEFSYM %RLPSD==:020000 ;ONLY WANT PSEUDO REAL TIME
454 DEFSYM %RLNPS==:040000 ;CANNOT ACCEPT PSEUDO REAL TIME
455 DEFSYM %RLBLK==:010000 ;PROGRAM TO BE BLOCKED EXCEPT FOR HIGH PRIORITY
456 ; PHASE OR INTERRUPT LEVEL
457 DEFSYM %RLGET==:004000 ;GET PREVIOUS STATUS IN WORDS 3+4
458 ;REMAINING BITS MUST BE ZERO
460 ;;; BITS OF .OPTION USER VARIABLE.
463 DEFSYM OPTTRP==:400000 ;ALL SYSTEM UUOS TRAP TO SUPERIOR (%PITRP)
464 DEFSYM OPTDEC==:100000 ;UUOS 40,41 AND 47 ARE USER UUOS
465 ;THE FOLLOWING 3 BITS ARE NOT USED BY SYSTEM.
466 ;THEY ARE FOR COMMUNICATION FROM SUPERIOR.
467 DEFSYM OPTCMD==:040000 ;SUPERIOR SAYS IT HAS CMD STRING - DO
469 DEFSYM OPTBRK==:020000 ;SUPERIOR SAYS IT HANDLES ALL .BREAK'S.
470 DEFSYM OPTDDT==:010000 ;SUPERIOR SAYS HE'S DDT. (CLEARED WHEN DDT
472 DEFSYM OPTINT==:004000 ;NEW STYLE VECTORING INTS.
473 DEFSYM OPTOJB==:002000 ;ALLOW OTHER JOBS TO OPEN ME ON THE OJB
474 ; DEVICE. OPENING ME ON OJB DEVICE TURNS
475 ; ME INTO A JOB DEVICE.
476 DEFSYM OPTLOK==:001000 ;ENABLE SWITCH-UNLOCKING FEATURE
477 .SEE IODCSW ; SEE COMMENT THERE FOR DESCRIPTION.
478 DEFSYM OPTLIV==:000400 ;DON'T KILL THIS TOP LEVEL JOB WHEN SYS
480 DEFSYM OPTOPC==:000200 ;INTERRUPTS THAT ABORT AN INSTRUCTION
481 ; SHOULD LEAVE THE PC POINTING TO THAT
482 ; INSTRUCTION (OTHERWISE IT GETS AOS'ED)
483 DEFSYM OPTLSP==:000100 ;SUPERIOR SAYS HE'S LISP
484 DEFSYM OPTLKF==:000040 ;UNLOCK LOCKS ON FATAL INTERRUPT IN
485 .SEE SYSDT ; TOP-LEVEL NON-DISOWNED JOB.
487 ;;; NEW NAMES FOR BITS IN LH(.OPTION)
489 DEFSYM %OP==:525252(1) ;FOR BIT-TYPEOUT MODE
490 DEFSYM %OPTRP==:400000 ;ALL SYSTEM UUOS TRAP TO SUPERIOR (%PITRP)
491 DEFSYM %OPDEC==:100000 ;UUOS 40,41 AND 47 ARE USER UUOS
492 ;THE FOLLOWING 3 BITS ARE NOT USED BY SYSTEM.
493 ;THEY ARE FOR COMMUNICATION FROM SUPERIOR.
494 DEFSYM %OPCMD==:040000 ;SUPERIOR SAYS IT HAS CMD STRING - DO
496 DEFSYM %OPBRK==:020000 ;SUPERIOR SAYS IT HANDLES ALL .BREAK'S.
497 DEFSYM %OPDDT==:010000 ;SUPERIOR SAYS HE'S DDT. (CLEARED WHEN DDT
499 DEFSYM %OPINT==:004000 ;NEW STYLE VECTORING INTS.
500 DEFSYM %OPOJB==:002000 ;ALLOW OTHER JOBS TO OPEN ME ON THE OJB
501 ; DEVICE. OPENING ME ON OJB DEVICE TURNS
502 ; ME INTO A JOB DEVICE.
503 DEFSYM %OPLOK==:001000 ;ENABLE SWITCH-UNLOCKING FEATURE
504 .SEE IODCSW ; SEE COMMENT THERE FOR DESCRIPTION.
505 DEFSYM %OPLIV==:000400 ;DON'T KILL THIS TOP LEVEL JOB WHEN SYS
507 DEFSYM %OPOPC==:000200 ;INTERRUPTS THAT ABORT AN INSTRUCTION
508 ; SHOULD LEAVE THE PC POINTING TO THAT
509 ; INSTRUCTION (OTHERWISE IT GETS AOS'ED)
510 DEFSYM %OPLSP==:000100 ;SUPERIOR SAYS HE'S LISP
511 DEFSYM %OPLKF==:000040 ;UNLOCK LOCKS ON FATAL INTERRUPT IN
512 .SEE SYSDT ; TOP-LEVEL NON-DISOWNED JOB.
514 ;;; LOSING ERROR CODES
516 DEFSYM %LS==:777400 ;RH OF .LOSE INSTRUCTION
518 DEFSYM %LSSYS==:1000 ;INTERPRET LAST OPEN LOSS CODE, USING .BCHN
519 DEFSYM %LSFIL==:1400 ; DO THAT AND PRINT FILE NAMES FROM CALL'S CHNL
521 ;;; FIRST RESULT OF .CALL WHYINT
524 DEFSYM %WYTYI==:1 ;TTY INPUT
525 DEFSYM %WYTYO==:2 ;TTY OUTPUT
526 DEFSYM %WYSTI==:3 ;STY INPUT
527 DEFSYM %WYSTO==:4 ;STY OUTPUT
528 DEFSYM %WYNET==:5 ;ARPANET (NCP)
529 DEFSYM %WYCHA==:6 ;CHAOS NET
530 DEFSYM %WYTCP==:7 ;INTERNET (TCP)
531 DEFSYM %WYUBI==:10 ;UNIBUS INTERRUPT
533 ;I/O MODES FOR OPENS.
535 DEFSYM .UAI==0 ;UNIT ASCII INPUT.
536 DEFSYM .UAO==1 ;UNIT ASCII OUTPUT.
537 DEFSYM .BAI==2 ;BLOCK ASCII INPUT.
538 DEFSYM .BAO==3 ;BLOCK ASCII OUTPUT.
539 DEFSYM .UII==4 ;UNIT IMAGE INPUT.
540 DEFSYM .UIO==5 ;UNIT IMAGE OUTPUT.
541 DEFSYM .BII==6 ;BLOCK IMAGE INPUT.
542 DEFSYM .BIO==7 ;BLOCK IMAGE OUTPUT.
544 ;OPEN BITS FOR DEVICE DSK:
546 DEFSYM %DO==1,,525252 ;BIT TYPEOUT MASK
550 DEFSYM %DONRF==10 ;DON'T SET REFERENCE DATE.
551 DEFSYM %DONLK==20 ;DON'T CHASE LINKS.
552 DEFSYM %DORWT==40 ;ON OUTPUT OPEN, MAKES WOULD-BE READERS
554 DEFSYM %DOWOV==100000 ;WRITE OVER (USE WITH %DOOUT, TO OVERWRITE
557 ;ARGUMENT CODES FOR .BREAK 12,'S.
558 ;..R AND ..S ARE BIT TYPEOUT MASKS, NOT MADE PREDEFINED TO MIDAS
559 ;SINCE THEY ARE USEFUL ONLY IN DDT, WHICH DEFINES THEM ITSELF.
562 DEFSYM ..RSTART==1 ;READ STARTING ADDRESS
563 DEFSYM ..RLFILE==2 ;READ LOADED FILE'S NAMES
564 DEFSYM ..RSTP==3 ;READ SYMBOL TABLE POINTER
565 DEFSYM ..RSYM==4 ;READ VALUE OF SYMBOL.
566 DEFSYM ..RJCL==5 ;READ JOB COMMAND LINE.
567 DEFSYM ..RPFILE==6 ;READ :PRINT FILENAME DEFAULTS.
568 DEFSYM ..RSTB==7 ;READ WHOLE SYMBOL TABLE.
569 DEFSYM ..RCONV==10 ;READ NAME OF SYMBOL CLOSEST IN VALUE TO
571 DEFSYM ..RLJB==13 ;READ IDX OF PREVIOUSLY CURRENT JOB.
572 DEFSYM ..RRND==14 ;READ RANDOM JOB-SPECIFIC BITS.
573 DEFSYM ..RPUR==15 ;UNPURIFY PAGE
574 DEFSYM ..RHSNAME==16 ;ASK SUPERIOR TO LOOKUP AN HSNAME FROM XUNAME
575 DEFSYM ..RMAIL==17 ;ASK A SUPERIOR TO LOOKUP USER'S MAIL FILE NAME
578 DEFSYM ..SSTART==400001 ;SET STARTING ADDRESS
579 DEFSYM ..SLFILE==400002 ;SET LOADED FILE'S NAMES
580 DEFSYM ..SSYM==400004 ;SET VALUE OF SYMBOL.
581 DEFSYM ..SJCL==400005 ;CLEAR JOB COMMAND LINE.
582 DEFSYM ..SPFILE==400006 ;SET :PRINT FILENAME DEFAULTS.
583 DEFSYM ..SSTB==400007 ;PASS WHOLE SYMBOL TABLE TO SUPERIOR.
584 DEFSYM ..SRND==400014 ;SET RANDOM JOB-SPECIFIC BITS.
585 DEFSYM ..SPUR==400015 ;SAME AS ..RPUR
589 ;UP TO SIX WDS RETURNED
591 DEFSYM %JG==:1,,525252
592 ;4.9-4.7 => IMAGE/ASCII, BLOCK/UNIT, OUTPUT/INPUT
593 ; 4.9-4.7 SHOULDN'T BE USED, SINCE THE FULL MODE IS IN
595 DEFSYM %JGCLS==:40000 ;4.6 => CLOSE (NOTE 4.5 USED TO BE A CLS BIT ALSO)
596 DEFSYM %JGSIO==:1000 ;4.1 => SIOT (ONLY IF OPCODE = 1)
597 DEFSYM %JGFPD==:200 ;3.8 => THIS CALL WAS PCLSRED AND IS RESTARTING
598 ;1.4-1.1 => TYPE OF OPERATION
600 DEFSYM %JOOPN==:0 ;OPEN
601 DEFSYM %JOIOT==:1 ;IOT/SIOT
602 DEFSYM %JOLNK==:2 ;MLINK
603 DEFSYM %JORST==:3 ;RESET
604 DEFSYM %JORCH==:4 ;RCHST
605 DEFSYM %JOACC==:5 ;ACCESS
606 DEFSYM %JORNM==:6 ;FDELE (DELETE OR RENAME)
607 DEFSYM %JORWO==:7 ;FDELE (RENAME WHILE OPEN)
608 DEFSYM %JOCAL==:10 ;SYMBOLIC .CALL
610 ;MODE BITS FOR TTY OPENS:
611 ;3.1 0 -> IN 1 -> OUT
612 ;3.2 0 -> UNIT 1 -> BLOCK
615 ;3.3 => IMAGE MODE (SET ALL %TGIMG BITS IN TTYST1 AND TTYST2)
616 ;3.4 0 -> NORMAL 1 -> ECHO MODE OUTPUT (SET %TJECH, %TJPP2, %TJMOR).
617 ;3.5 0 -> NORMAL 1 -> DISPLAYMODE, LOOK FOR ^P (SET %TJDIS).
618 ;3.6 0 -> NORMAL 1 -> SUPER-IMAGE OUTPUT (SET %TJSIO).
619 ;OUTPUT IOCHNM BITS MAY ALSO BE SPECIFIED, EXCEPT FOR
620 ;%TJCNS, %TJCP1, AND %TJCP2
623 ;3.3 => IMAGE MODE (CLEAR ALL ECHO BITS IN TTYST1, TTYST2).
624 ;3.4 => "DDT" (DON'T ECHO CR, LF, TAB)
625 ;3.6 => WANT 3 LINES IN ECHO AREA.
626 ;INPUT IOCHNM BITS MAY ALSO BE SPECIFIED, EXCEPT FOR %TICNS.
628 ;BITS 3.4 AND 3.6 ON INPUT, AND BIT 3.3, HAVE EFFECT
629 ;ONLY ON THE FIRST OPEN IN EITHER DIRECTION.
630 ;(THEY ARE OBSOLETED BY THE TTYSET SYSTEM CALL)
632 ;BITS IN LH OF A TTY CHANNEL IOCHNM WORD
633 ;THESE BITS MAY BE TEMPORARILY COMPLEMENTED BY SPECIFYING
634 ;THEM IN THE CONTROL-BIT ARGUMENT TO A SYMBOLIC IOT
635 ;(EXCEPT FOR %TICNS AND $TIIDX).
636 DEFSYM %TI==:1,,525277 ;BIT TYPEOUT MASK
637 DEFSYM %TJ==:1,,525277 ;BIT TYPEOUT MASK
639 DEFSYM %TICNS==:400000 ;4.9 1-> CONSOLE 0 -> DEVICE
640 DEFSYM %TJCNS==:400000 ;4.9 1-> CONSOLE 0 -> DEVICE
642 ;THE FOLLOWING INTERPRETATIONS OF BITS ARE FOR OUTPUT ONLY.
643 DEFSYM %TJCP1==:200000 ;^P-CODE ANTICIPATION STATE.
644 DEFSYM %TJCP2==:100000 ; ". 0=>NORMAL, 1=> CHAR AFTER ^P, 2=> ^PH, 3=>^PV.
645 DEFSYM %TJECH==:40000 ;SET => ECHO MODE OUTPUT.-MODE OUTPUT (ALL CHARS
646 ; OUTPUT THE WAY THEY WOULD BE ECHOED)
647 DEFSYM %TJCTN==:20000 ;SET => DON'T DO LINE-CONTINUATION.
648 DEFSYM %TJSTP==:10000 ;SET => THIS CHANNEL IS HUNG IN **MORE**.
649 DEFSYM %TJDIS==:4000 ;SET => LOOK FOR ^P CODES.
650 DEFSYM %TJSIO==:2000 ;SET => SUPERIMAGE OUTPUT, NO PADDING OR CURSOR CTL.
651 DEFSYM %TJMOR==:1000 ;SET => DON'T DO **MORE** PROCESSING.
652 DEFSYM %TJPP2==:400 ;SET => USE ALTERNATE PC PPR (THE ECHO AREA)
653 DEFSYM %TJINK==:200 ;SET => NEXT CHAR OUT TAKEN AS PRINTING
655 DEFSYM %TJHDE==:100 ;SET => ACCOUTING FOR CURSOR MOTION DUE TO
656 ;CHAR ECHOED ON A HALF-DUPLEX TTY.
659 DEFSYM %TIECH==:40000 ;CAN READ EVEN IF CHAR NEEDS PI ECHOING.
660 DEFSYM %TIPEK==:20000 ;DON'T REMOVE CHAR FROM BUFFER.
661 DEFSYM %TIACT==:4000 ;SET => DON'T WAIT FOR ACTIVATION CHARACTER.
662 DEFSYM %TIINT==:2000 ;SET => CAN READ A CHAR EVEN IF IT IS SUPPOSED TO
663 ; INTERRUPT & HASN'T YET.
664 DEFSYM %TINWT==:1000 ;SET => IF NO INPUT AVAILABLE, DON'T WAIT, JUST
666 DEFSYM %TIFUL==:400 ;SET => GIVE FULL CHARACTER (SIGNIFICANT ON IMLAX, TVS)
668 DEFSYM $TIIDX==:220600 ;3.6-3.1 CONSOLE #, OR 77 FOR A "DISOWNED" CONSOLE
669 ; TTY CHNL, IE, ONE THAT CORRESPONDS TO NO REAL TTY.
670 ; THEY EXIST ONLY IN TREES WITH NO TTY, IN JOBS
671 ; THAT CAME FROM TREES WITH TTYS.
672 DEFSYM %TIIDX==:1 ;FOR BIT TYPEOUT MODE
673 DEFSYM %TJIDX==:1 ;FOR BIT TYPEOUT MODE
674 DEFSYM %TINON==:77 ;"TTY #" FOR A CHANNEL WITH NO REAL TTY.
676 ;EACH CHARACTER IN THE INPUT BUFFER OCCUPIES 18 BITS
677 ;THE UPPER BITS ARE AS FOLLOWS (NOTE THAT AN IOTTED
678 ;CHARACTER MAY ACTUALLY CONTAIN %TXPIE, %TXMPE, %TXECI, OR %TXINT)
679 DEFSYM %TX==:525200 ;BIT TYPEOUT MASK
680 DEFSYM %TXMPE==:400000 ;MAIN PROGRAM ECHO CHARACTER
681 DEFSYM %TXPIE==:200000 ;PI ECHO CHARACTER
682 ; DEFSYM %TXCOM==:100000 ;COM MODE ECHO CHAR; DO PI ECHO EVEN IF HDX
684 ; DEFSYM %TXIGN==:40000 ;IGNORE THIS CHAR AT .IOT TIME.
685 ; DEFSYM %TXACT==:20000 ;THIS IS AN ACTIVATION CHAR.
686 ; THESE CAN'T BE NEEDED EXCEPT INSIDE THE SYSTEM.
687 DEFSYM %TXINT==:10000 ;THIS CHAR SHOULD INTERRUPT THE USER.
689 DEFSYM %TXECI==:2000 ;THIS CHAR WAS ECHOED BY AN ECHOIN SYSTEM CALL.
691 ;NOW COME THE BITS OF THE CHARACTER ITSELF:
692 DEFSYM %TXTOP==:4000 ;The "TOP" key.
694 DEFSYM %TXSFT==:1000 ;What used to be the "SHIFT" key is now the
695 DEFSYM %TXSUP==:1000 ;"SUPER" key. (def'ed in this order for DDT)
696 DEFSYM %TXMTA==:400 ;"META" key.
697 DEFSYM %TXCTL==:200 ;"CONTROL" key.
698 DEFSYM %TXASC==:177 ;The ASCII part of the character.
700 ;DISPLAY COMMANDS (WHICH LIVE IN THE OUTPUT BUFFER).
701 ;NOTE THAT ALL OF THEM HAVE 200-BIT SET.
703 DEFSYM %TDMOV==:200 ;MOVE CURSOR
704 DEFSYM %TDMV1==:201 ;DUMMY COMMAND CREATED BY TYMOV.
705 ;MAKES IT POSSIBLE FOR TYMOV TO STOP WHEN BUFFER FULL
706 ;AND BE REENTERED NEXT INTERRUPT.
707 DEFSYM %TDEOF==:202 ;CLEAR REST OF PAGE
708 DEFSYM %TDEOL==:203 ;CLEAR REST OF LINE
709 DEFSYM %TDDLF==:204 ;DELETE FORWARD (FOR IMLACS AND TVS)
710 DEFSYM %TDMTF==:205 ;MOTOR OFF (FOR TERMINETS)
711 DEFSYM %TDMTN==:206 ;MOTOR ON (FOR TERMINETS)
712 DEFSYM %TDCRL==:207 ;CRLF ON DATAPOINTS, IMLACS.
713 DEFSYM %TDNOP==:210 ;NO-OP FOR SUPERDUPERIMAGE MODE.
714 DEFSYM %TDBS==:211 ;BACKSPACE (FOR TTY'S WITH %TORAW SET).
715 DEFSYM %TDLF==:212 ;LINEFEED (").
716 DEFSYM %TDRCR==:213 ;CARRET (").
717 DEFSYM %TDORS==:214 ;"OUTPUT RESET" FOR SAKE OF SOFTWARE TTYS
718 DEFSYM %TDQOT==:215 ;MYSTERY COMMAND -- SEND IN A JINGLE IN 25 WORDS OR
720 DEFSYM %TDFS==:216 ;CURSOR FORWARD ONE COLUMN
721 DEFSYM %TDMV0==:217 ;MOVE CURSOR, FOLLOWED BY NEW VERT POS, NEW HOR POS
722 DEFSYM %TDCLR==:220 ;CLEAR THE SCREEN
723 DEFSYM %TDBEL==:221 ;DING THE BELL
724 DEFSYM %TDINI==:222 ;SYSTEM JUST CAME UP, RE-INITIALIZE INTELLIGENT
726 DEFSYM %TDILP==:223 ;INSERT LINE-POSITION, FOLLOW BY COUNT
727 DEFSYM %TDDLP==:224 ;DELETE LINE-POSITION, FOLLOW BY COUNT
728 DEFSYM %TDICP==:225 ;INSERT CHARACTER-POSITION, FOLLOW BY COUNT
729 DEFSYM %TDDCP==:226 ;DELETE CHARACTER-POSITION, FOLLOW BY COUNT
730 DEFSYM %TDBOW==:227 ;ENTER BLACK ON WHITE MODE
731 DEFSYM %TDRST==:230 ;DESELECT ALL SPECIAL MODES (SUCH AS BLACK-ON-WHITE).
732 DEFSYM %TDGRF==:231 ;ENTER GRAPHICS MODE
733 DEFSYM %TDRSU==:232 ;REGION SCROLL UP
734 DEFSYM %TDRSD==:233 ;REGION SCROLL DOWN
736 ; Apparently codes 234 - 237 are used for an undocumented kludge for
737 ; sending ARDS graphics protocol. See SYSENG;IMPRIN (the source of
740 ;%TDSYN THROUGH %TDMLT ARE USED ONLY ON TERMINALS WHICH HAVE %TRLED SET IN
742 DEFSYM %TDSYN==:240 ;RESYNCH REPLY TO LOCAL EDITING TERMINAL
743 DEFSYM %TDECO==:241 ;ASK TERMINAL TO TRY LOCAL EDITING BY SENDING A
745 DEFSYM %TDEDF==:242 ;SET LOCAL EDITING TERMINAL COMMAND DEFINITION.
746 ; FOLLOWED BY TWO BYTES, DECODED AS DESCRIBED IN
747 ; LOCAL EDITING PROTOCOL.
748 DEFSYM %TDNLE==:243 ;STOP DOING LOCAL EDITING.
749 DEFSYM %TDTSP==:244 ;DISPLAYS LIKE SPACE, BUT IS PART OF A TAB. USED
750 ; ONLY FOR LOCAL EDITING TERMINALS, TO ENABLE THEM
751 ; DISTINGUISH SPACES FROM TABS.
752 DEFSYM %TDCTB==:245 ;THIS LINE IS CONTINUED AT THE BEGINNING.
753 DEFSYM %TDCTE==:246 ;THIS LINE IS CONTINUED AT THE END.
754 DEFSYM %TDMLT==:247 ;%TDMLT <N> => NEXT <N> COLS ARE DISPLAY REP FOR
756 ;%TDSVL THROUGH %TDSLL ARE USED ON TERMINALS WHICH HAVE NONZERO %TRLSV.
757 DEFSYM %TDSVL==:250 ;<N> <L1> <L2> => SAVE <N> LINES' CONTENTS UNDER
758 ; LABELS STARTING WITH <L2>*200+<L1>.
759 DEFSYM %TDRSL==:251 ;SAME THREE ARGS. RESTORE LABELED CONTENTS ONTO
761 DEFSYM %TDSSR==:252 ;<BEG> <END+1> SET RANGE OF COLUMNS TO COPY IN
763 DEFSYM %TDSLL==:253 ;<L1> <L2> SET LABEL FOR NEXT LINE PUSHED OFF
765 DEFSYM %TDMAX==:254 ;1 + LARGEST DISPLAY CODE.
767 ;THE TCTYP WORD FOR A TTY CONTAINS A NUMBER WHICH SAYS HOW TO
768 ;PERFORM CURSOR-CONTROL FUNCTIONS ON THE TTY. THE POSSIBILITIES ARE:
770 DEFSYM %TNPRT==:0 ;PRINTING TTY.
771 DEFSYM %TNDP==:1 ;TTY USES DATAPOINT CURSOR CTL CODES.
772 DEFSYM %TNODP==:2 ;TTY IS A LOSING DATAPOINT.
773 DEFSYM %TNIML==:3 ;TTY USES IMLAC CURSOR CODES.
774 DEFSYM %TNTEK==:4 ;TEKTRONIX 4000 SERIES
775 DEFSYM %TNTV==:5 ;TTY IS A KNIGHT TV DISPLAY.
776 DEFSYM %TNMEM==:6 ;TTY IS A MEMOWRECK.
777 DEFSYM %TNSFW==:7 ;"SOFTWARE" TTY THAT WANTS I.T.S. CURSOR-MOTION CODES.
778 DEFSYM %TNTRM==:10 ;TTY IS A TERMINET.
779 DEFSYM %TNESC==:11 ;TTY WANTS ASCII STANDARD ESCAPE SEQUENCES. (E.G. VT52)
780 DEFSYM %TNDTM==:12 ;DATAMEDIA
781 DEFSYM %TNRAY==:13 ;TELERAY 1061
782 DEFSYM %TNHDS==:14 ;HDS CONCEPT-100
783 DEFSYM %TNH19==:15 ;H19
784 DEFSYM %TNAAA==:16 ;Ann Arbor Ambassador
788 ;TTYOPT WORD DESCRIBES CHARACTERISTICS OF THE PARTICULAR
789 ;TERMINAL ATTACHED TO EACH LINE.
792 DEFSYM %TO==:1,,525252 ;BIT TYPEOUT MASK
793 DEFSYM %TOALT==:200000 ;4.8 => STANDARDIZE ALTMODES.
794 DEFSYM %TOCLC==:100000 ;4.7 => CONVERT LOWER CASE TO UPPER.
795 DEFSYM %TOERS==:40000 ;4.6 => THIS TTY CAN SELECTIVELY ERASE.
796 DEFSYM %TOHDX==:20000 ;4.5 => THIS TTY IS HALF-DUPLEX.
797 DEFSYM $TOHDX==:370100
798 DEFSYM %TOMVB==:10000 ;4.4 => THIS TTY CAN BACKSPACE.
799 DEFSYM %TOSAI==:4000 ;4.3 => THIS TTY HAS SAIL CHAR SET ON OUTPUT.
800 DEFSYM %TOSA1==:2000 ;4.2 INIT %TSSAI OF NEW JOBS.
801 DEFSYM %TOOVR==:1000 ;4.1 => THIS TTY CAN OVERPRINT SUCCESSFULLY.
802 DEFSYM %TOMVU==:400 ;3.9 => THIS TTY CAN MOVE CURSOR UP (I.E. IT'S A
804 DEFSYM %TOMOR==:200 ;3.8 => DO **MORE** PROCESSING ON THIS TTY
805 ; (ACTUALLY JUST USED TO INIT %TSMOR FOR NEW JOBS).
806 DEFSYM %TOROL==:100 ;3.7 SIMILARLY, INIT %TSROL FOR NEW JOBS.
807 DEFSYM %TORAW==:40 ;3.6 => SUPPRESS CURSOR MOTION OPTIMIZATION.
808 DEFSYM %TOLWR==:20 ;3.5 => THIS TTY HAS LOWER CASE KEYBOARD.
809 DEFSYM %TOFCI==:10 ;3.4 => KEYBOARD CAN GENERATE FULL 12-BIT CHARACTER SET
810 DEFSYM %TOIML==:4 ;3.3 => SPACE, BS DON'T EQUAL ^PF, ^PB; ALSO ^PC
812 DEFSYM %TOLID==:2 ;3.2 => %TDILP, %TDDLP WORK (INSERT AND DELETE LINES)
813 DEFSYM %TOCID==:1 ;3.1 => %TDICP, %TDDCP WORK
814 ; (INSERT AND DELETE CHARACTERS)
817 DEFSYM %TP==:707252 ;BIT TYPEOUT MASK
818 DEFSYM %TPPLF==:100000
819 DEFSYM $TPPLF==:170300 ;3-BIT FIELD SAYING HOW TO PAD LF.
820 ; 0 - DON'T. 1 - MEMOWRECK, 2741. 2 - TERMINET.
821 DEFSYM %TPPCR==:10000
822 DEFSYM $TPPCR==:140300 ;3-BIT FIELD SAYING HOW TO PAD CR.
823 ; 7 - UNUSED. 6 - MEMOWRECK. 5 - 2741. 4 - EXECUPORT.
824 ; 0 - DON'T. 1 - NORMAL. 2 - DOUBLE.
825 ; ON DATAPOINTS, = # CHARS PADDING NEEDED FOR ALL
827 ; 4 IS RIGHT FOR 2400 BAUD; 3, FOR 1200.
828 ; ON TERMINETS, 0 => NO PADDING, ELSE 1,2,3,4,5
829 ; ARE PADDING FOR SPEEDS 10,15,30,60,120 CPS.
830 DEFSYM %TPPCW==:6 ;FOR MEMO WRECK.
832 DEFSYM $TPPTB==:110300 ;3 BIT FIELD SAYING HOW MUCH PADDING NEEDED AFTER
833 ; TAB. 0 => TABS NOT ALLOWED; ELSE 1 +<# PADDING
834 ; CHARS NEEDED> BUT ON A DISPLAY, TABS ARE NEVER
835 ; PADDED AND THIS FIELD IS 1 TO USE TABS, 2 TO USE
836 ; ABSOLUTE CURSOR POSITIONING, 3 TO USE BOTH, 0 TO
838 DEFSYM %TPMTA==:400 ;1.9 => HARDWARE META KEY SETS 8TH BIT
839 DEFSYM %TPPRN==:200 ;1.8 => INTERCHANGE () WITH [] ON INPUT
840 DEFSYM %TPTEL==:100 ;1.7 => HANDLE CR-LF ON INPUT AS CR, FOR TELNET
842 DEFSYM %TPCBS==:40 ;1.6 => ENABLE SPECIAL HANDLING OF CONTROL BACK
843 ; SLASH ON INPUT (THE "INTELLIGENT TERMINAL
845 DEFSYM %TP11T==:20 ;1.5 => PDP-11 TV TTY. REFLECTS %TY11T. NOT
847 DEFSYM %TPORS==:10 ;1.4 => OUTPUT RESET ON THIS TTY SHOULD REALLY DO
849 DEFSYM %TPRSC==:4 ;1.3 => THIS TTY SUPPORTS %TDRSU, %TDRSD
851 ;DEFINE BITS WHICH ARE USER-OPTIONS
852 DEFSYM %TOUSR==:%TOCLC+%TOSA1+%TOMOR+%TOROL
853 DEFSYM %TPUSR==:%TPPRN+1 ;THE 1 IS TO AVOID INTEFERING WITH BIT-TYPE-OUT
855 DEFSYM %TQ==1,,701725 ;TTY "SMARTS" BITS IN LH(TTYSMT)
856 DEFSYM %TQIM1==300000 ;TTY IS A PDS1
857 DEFSYM %TQIM4==200000 ;TTY IS A PDS4
858 DEFSYM %TQP11==100000 ;TTY IS A PDP11
859 DEFSYM %TQMCH==700000 ;4.7-4.9 MACHINE TYPE, 0 => NOTHING SPECIAL
860 DEFSYM %TQGRF==1 ;3.1 UNDERSTANDS GRAPHICS PROTOCOL
861 DEFSYM %TQGPH==1 ;3.1 UNDERSTANDS GRAPHICS PROTOCOL (OBSOLETE NAME)
862 DEFSYM %TQSET==2 ;3.2 HAS MULTIPLE OBJECT SETS
863 DEFSYM %TQREC==4 ;3.3 HAS RECTANGLE COMMANDS
864 DEFSYM %TQXOR==10 ;3.4 HAS XOR MODE
865 DEFSYM %TQBNK==20 ;3.5 HAS BLINKING
866 DEFSYM %TQVIR==40 ;3.6 VIRTUAL COORDINATES
867 DEFSYM %TQHGT==76000 ;4.2-4.6 CHARACTER HEIGHT IN DOTS
868 DEFSYM %TQWID==1700 ;3.7-4.1 CHARACTER WIDTH IN DOTS
870 DEFSYM %TR==534052 ;RH(TTYSMT)
871 DEFSYM %TRGIN==400000 ;2.9 HAS GRAPHIC INPUT
872 DEFSYM %TRGHC==200000 ;2.8 HAS GRAPHIC HARDCOPY
873 DEFSYM %TRLED==100000 ;2.7 HAS LOCAL EDITING PROTOCOL.
874 DEFSYM %TRSCN==040000 ;2.6 HAS RASTER COMMANDS
875 DEFSYM %TRLSV==034000 ;2.3-2.5 NONZERO MEANS TERMINAL SUPPORTS 4**N SAVED
877 DEFSYM %TRTIM==003700
878 DEFSYM $TRTIM==060500 ;5 BIT FIELD WHICH IS THE SIGNED OFFSET FROM GMT
879 ; MINUS #o20; A VALUE OF ZERO MEANS DON'T KNOW,
880 ; DON'T CARE, OR USER PROGRAM HASN'T IMPLEMENTED IT
883 ;GROUP NUMBER CHARACTERS
884 ;[ 0 ^A-^F ^K-^L ^N-^R ^T-^Z ^] ^^ ^_ ^@ ^\
885 ; 1 A-Z LOWER CASE A-Z
887 ; 3 !"#$(DOLLAR)%&',.:;?@\ (ACCENT GRAVE)
888 ; (VERTICAL BAR) (TILDE)
890 ; 5 <>[]() (LEFT BRACE) (RIGHT BRACE)
896 ; 13 SPACE ^H(BACKSPACE)
898 ;TTYST1 HAS GROUPS 0 THROUGH 5 FROM LEFT TO RIGHT
899 ;TTYST2 HAS 6 THROUGH 13
900 ;EACH GROUP HAS SIX BITS AS FOLLOWS:
901 DEFSYM %TG==:777725 ;BIT TYPEOUT MASK
902 DEFSYM %TGINT==:1 ;N.1 => INTERRUPT ON THIS GROUP
903 DEFSYM %TGACT==:2 ;N.2 => ACTIVATE ON THIS GROUP (FOR SWAPPING)
904 DEFSYM %TGSPC==:4 ;N.3 => SPECIAL HACKS.
905 ; (THIS SET ON GROUP 1 => CONVERT LOWER CASE)
906 DEFSYM %TGIMG==:10 ;N.4 => IMAGE MODE OUTPUT (N.4=0 => ASCII MODE)
907 ;N.6-N.5 => ECHO MODE
909 DEFSYM %TGPIE==:20 ; 01 => PI ECHO (ECHO CHARACTER WHEN TYPED)
910 DEFSYM %TGMPE==:40 ; 10 => MAIN PROGRAM ECHO (ECHO WHEN MAIN
911 ; PROGRAM RECEIVES CHARACTER)
913 ;TTYSTS HAS RANDOM BITS ASSOCIATED WITH THE TELETYPE
914 DEFSYM %TS==:1,,525252 ;BIT TYPEOUT MASK
915 DEFSYM %TSFRE==:400000 ;4.9 => TTY FREE
916 DEFSYM %TSCLE==:200000 ;4.8 => ECHO ^L AS UPARROW-L EVEN ON DISPLAYS
917 ;(OTHERWISE WOULD ECHO AS CLEAR SCREEN)
918 DEFSYM %TSHDX==:100000 ;4.7 REFLECTS %TOHDX BIT.
919 DEFSYM %TSFCO==:040000 ;4.6 => HANDLE 9-BIT CHARS ON OUTPUT, USING ALPHA,
921 DEFSYM %TSALT==:020000 ;4.5 => DON'T STANDARDIZE ALTMODE.
922 DEFSYM %TSROL==:010000 ;4.4 => SCROLL MODE.
923 DEFSYM %TSSAI==:004000 ;4.3 => ECHO AND ASCII MODE SHOULD USE SAIL CHAR SET.
924 DEFSYM %TSACT==:002000 ;4.2 => GOBBLE NEXT CHAR REGARDLESS OF ACTIVATION
926 DEFSYM %TSNEA==:001000 ;4.1 => DON'T ECHO IN ECHO AREA; ECHO IN M.P. AREA
927 DEFSYM %TSINT==:000400 ;3.9 => INT ON NEXT CHAR REGARDLESS
928 DEFSYM %TSMOR==:000200 ;3.8 => INHIBIT **MORE**.
929 DEFSYM %TSATY==:000100 ;3.7 SET BY .ATTY, SAYS TTY WAS TAKEN AWAY & RETURNED.
931 DEFSYM %TSNOE==:000010 ;3.4 => DEFER ECHOING, AND MAKE INPUT IOT'S ACT AS
933 DEFSYM %TSLCZ==:000004 ;3.3 => LAST CHARACTER TYPED WAS ^Z
934 ; (NOT PRECEEDED BY ^_)
935 DEFSYM %TSSII==:000002 ;3.2 => SUPER IMAGE INPUT MODE. ^Z AND ^_ INHIBITED.
936 DEFSYM %TSCNS==:000001 ;3.1 => TTY IN USE AS CONSOLE CONTROLLING A TREE.
937 DEFSYM $TSCNS==:220100
942 ;4.9 => TTY IN COMMUNICATE MODE
943 DEFSYM %TC==:1,,525252 ;BIT TYPEOUT MASK
944 DEFSYM %TCLFT==:200000 ;4.8 => LOCAL FEED THROUGH (SET IF MY PRGM
945 ; RECEIVING HIS CHRS)
946 DEFSYM %TCRFT==:100000 ;4.7 => REMOTE FEED THROUGH (SET IF HIS PRGM
948 DEFSYM %TCICO==:40000 ;4.6 => INPUT COMMUNICATE OVERRIDE (SET IF MY
949 ; CONSOLE FEEDING MY PRGM EVEN THO IN COMM MODE).
950 ; ALSO IMPLIES OUTPUT OVER-RIDE
951 DEFSYM %TCOCO==:20000 ;4.5 => OUTPUT COMMUNICATE OVERRIDE (SET IF MY
952 ; PRGM'S OUTPUT TO APPEAR ON MY CONSOLE ONLY EVEN
954 ;4.4-4.3 => MESSAGE RECEIPT SWITCH
956 DEFSYM %TCRFS==:10000 ; 10 => REFUSE
957 DEFSYM %TCQRY==:4000 ; 01 => INTERROGATE
958 DEFSYM %TCMTR==:2000 ;4.2 SET FOR TTY WHOSE MOTOR IS OFF & MUST BE
959 ; TURNED ON BEFORE ANY OTHER OUTPUT IS DONE. (ONLY
960 ; TERMINETS HAVE THEIR MOTORS SHUT OFF BY ITS).
961 DEFSYM %TCECH==:1000 ;4.1 THE OUTPUT BUFFER CONTAINS ECHOING OUTPUT.
962 ; THIS MAKES OUTPUT RESET DO NOTHING. THE BUFFER
963 ; MUST NOT CONTAIN ECHO OUTPUT AND NORMAL OUTPUT AT
965 DEFSYM %TCLED==:400 ;3.9 JOB WHICH OWNS TTY WANTS LOCAL EDITING IN
966 ; TERMINAL. SET BY CTL BIT 1.1 IN SCPOS; CLEARED
968 DEFSYM %TCDET==:200 ;3.8 CONSOLE'S TREE DETACHED BY TOP LEVEL
969 ; INTERRUPT. SET BY NDETAC AS SIGNAL TO SYSCFM
970 ; (CNSL-FREE-MSG TYPER)
971 DEFSYM %TCDNG==:100 ;3.7 => TYPE BELL ON TTY (BECAUSE INPUT BFR FULL).
972 DEFSYM %TCCBK==:40 ;3.6 => READING UNAME OR TTY # AFTER ^_K.
973 DEFSYM %TCCBS==:20 ;3.5 => READING UNAME OR TTY # AFTER ^_S.
974 DEFSYM %TCFPD==:10 ;3.4 => FIRST PART OF MULTI-CHAR OUTPUT SEQUENCE DONE.
975 DEFSYM %TCTPN==:4 ;3.3 TYPE ^_N ON LEAVING COM MODE (UNLESS USER
976 ; EXPLICITLY TYPES ^_N)
977 DEFSYM %TCPAD==:2 ;3.2 0 => PADDING NECESSARY ON DATAPOINT.
978 DEFSYM %TCHNG==:1 ;3.1 TTY'S DONE FLAG APPEARS TO BE FRIED, TIME OUT
980 ;RH => USER INDEX COMMUNICATING WITH (-1 NONE)
983 ;THIS TABLE HOLDS BITS THAT DESCRIBE THE LINE
984 ;AND ITS CONTROLLER, RATHER THAN THE TTY ATTACHED TO THE LINE.
985 DEFSYM %TT==:1,,525360 ;BIT TYPEOUT MASK
986 DEFSYM %TTLCL==:400000 ;BIT 4.9 ONE => LOCAL TTY
987 DEFSYM %TT340==:200000 ;BIT 4.8 ONE => CONSOLE NEXT TO 340 OR A 340 SLAVE
988 DEFSYM %TT3HP==:100000 ;BIT 4.7 HIGH PRIORITY ON 340
989 DEFSYM %TTPAR==:004000 ;BIT 4.3
990 DEFSYM %TTDDI==:002000 ;BIT 4.2 DONT DING ON EXCESS INPUT
991 DEFSYM $TTISP==:260400 ;3.8-3.5 INPUT SPEED CODE
993 DEFSYM $TTOSP==:220400 ;3.4-3.1 OUTPUT SPEED CODE
996 DEFSYM %TY==:525252 ;BIT TYPEOUT MASK
997 DEFSYM %TYDPK==:400000 ;BIT 2.9 (DATAPOINT KLUDGE TTY LINE)
998 DEFSYM %TYSTY==:200000 ;BIT 2.8 PSEUDO TTY
999 DEFSYM %TYNVA==:100000 ;BIT 2.7 NOVA TTY
1000 DEFSYM %TYMTY==:040000 ;BIT 2.6 MORTON BOX
1001 DEFSYM %TYDIL==:020000 ;BIT 2.5 DIAL UP
1002 DEFSYM %TY11T==:010000 ;BIT 2.4 PDP-11 TV TTY.
1003 DEFSYM %TYDL==:004000 ;BIT 2.3 DL-11 TTY
1004 DEFSYM %TYOTY==:002000 ;BIT 2.2 KA-10 CONSOLE TTY
1005 DEFSYM %TYETY==:001000 ;BIT 2.1 DTE20 TTY
1006 DEFSYM %TYNTY==:000400 ;BIT 1.9 TK-10 TTY
1007 DEFSYM %TYMDM==:000200 ;BIT 1.8 LINE DETECTS DIALINS AND HANGUPS
1008 DEFSYM %TYKST==:000100 ;BIT 1.7 KS-10 CONSOLE TTY
1009 DEFSYM %TYDZT==:000040 ;BIT 1.6 DZ-11 TTY ON KS-10
1010 DEFSYM %TYRLM==:000020 ;BIT 1.5 ROLM DATA SWITCH
1012 ;SPEED CODES ARE DOCUMENTED ON PAGE 3 OF ITS (DEFINE SPEED1)
1014 ;SUPDUP GRAPHICS PROTOCOL COMMANDS:
1018 DEFSYM %GODLR==:101 ;<p> Draw line relative, from the cursor to <p>.
1019 DEFSYM %GODPR==:102 ;<p> Draw point relative, at <p>.
1020 DEFSYM %GODRR==:103 ;<p> Draw rectangle relative, corners at <p> and
1021 ; at the current cursor position.
1022 DEFSYM %GODCH==:104 ;<string> <0>
1023 ;Display the chars of <string> starting at the current
1024 ;graphics cursor position.
1025 DEFSYM %GODSC==:105 ;<scan bits> <terminater> Draws scan bits starting at
1026 ;the current gaphics cursor position. <scan bits> come
1027 ;in bits of 6-6-4. <terminater> has 100 bit (character
1028 ;gobbled) or 200 bit (interpreted as %TD code) set.
1029 DEFSYM %GODRN==:106 ;<run bits> <0> Draw run length encoded raster line
1030 ;starting at current graphic cursor. Low six bits are
1031 ;count. 100 bit determines point type (on/off).
1033 DEFSYM %GODLA==:121 ;<p> Draw line absolute, from the cursor to <p>.
1034 ; The same effect as %GODLR, but the arg absolute.
1035 DEFSYM %GODPA==:122 ;<p> Draw point absolute, at <p>.
1036 DEFSYM %GODRA==:123 ;<p> Draw rectangle absolute, corners at <p> and
1037 ; at the current cursor position.
1039 DEFSYM %GOELR==:141 ;<p> Erase line relative, from the cursor to <p>.
1040 DEFSYM %GOEPR==:142 ;<p> Erase point relative, at <p>.
1041 DEFSYM %GOERR==:143 ;<p> Erase rectangle relative, corners at <p> and
1042 ; at the current cursor position.
1043 DEFSYM %GOECH==:144 ;<string> <0>
1044 ;Erase the chars of <string> starting at the current
1045 ;graphics cursor position.
1046 DEFSYM %GOESC==:145 ;<scan bits> <terminater>. Erase scan bits starting at
1047 ;the current graphics cursor position.
1048 DEFSYM %GOERN==:146 ;<run bits> <0> Erase run-length encoded rasters
1049 ;starting at current grphaics cursor position.
1051 DEFSYM %GOELA==:161 ;<p> Erase line absolute, from the cursor to <p>.
1052 DEFSYM %GOEPA==:162 ;<p> Erase point absolute, at <p>.
1053 DEFSYM %GOERA==:163 ;<p> Erase rectangle absolute, corners at <p> and
1054 ; at the current cursor position.
1056 DEFSYM %GOMVR==:001 ;<p> Move cursor to point <p>
1057 DEFSYM %GOMVA==:021 ;<p> Move cursor to point <p>, absolute address.
1058 DEFSYM %GOXOR==:002 ; Turn on XOR mode. Bit matrix terminals only.
1059 DEFSYM %GOIOR==:022 ; Turn off XOR mode.
1060 DEFSYM %GOSET==:003 ;<n> Select set. <n> is a 1-character set number,
1062 DEFSYM %GOMSR==:004 ;<p> Move set origin to <p>. Display list
1064 DEFSYM %GOMSA==:024 ;<p> Move set origin to <p>, absolute address.
1065 DEFSYM %GOINV==:006 ; Make current set invisible.
1066 DEFSYM %GOVIS==:026 ; Make current set visible.
1067 DEFSYM %GOBNK==:007 ; Make current set blink. Canceled by %GOINV
1069 DEFSYM %GOCLR==:010 ; Erase whole screen.
1070 DEFSYM %GOCLS==:030 ; Erase entire current set (display list
1072 DEFSYM %GOPSH==:011 ; Push all input-stream status information, to be
1073 ; restored when graphics mode is exited.
1074 DEFSYM %GOVIR==:012 ; Start using virtual co-ordinates
1075 DEFSYM %GOPHY==:032 ; Resume giving co-ordinates in units of dots.
1076 DEFSYM %GOHRD==:013 ;<n> Divert output to output subdevice <n>.
1077 ; <n>=0 reselects the main display screen.
1078 DEFSYM %GOGIN==:014 ;<n> Request graphics input (mouse, tablet, etc).
1079 ; <n> is the reply code to include in the answer.
1080 DEFSYM %GOLMT==:015 ;<p1> <p2>
1081 ;Limits graphics to a subrectangle of the
1082 ;screen. %GOCLR will clear only that area.
1083 ;This is for those who would use the rest for text.
1085 ;THE TTYTBL VARIABLE EXISTS FOR EACH JOB.
1086 ;IT DESCRIBES THE ATTY-DTTY STATE OF THE JOB
1087 ;AND OTHER THINGS THAT HAVE TO DO WITH THE TREE'S
1088 ;CONTROLLING TTY ONLY.
1089 DEFSYM %TB==:1,,525277 ;BIT TYPEOUT MASK
1090 DEFSYM %TBNOT==:400000 ;4.9 THIS JOB DOES NOT HAVE THE TTY NOW.
1091 DEFSYM %TBNVR==:200000 ;4.8 IF JOB DOESN'T HAVE TTY, OPENS SHOULD FAIL.
1092 DEFSYM %TBINT==:100000 ;4.7 IF JOB DOESN'T HAVE TTY, ATTEMPT TO USE TTY
1094 DEFSYM %TBWAT==:040000 ;4.6 IF SET, OVERRIDES %TBINT AND %TBNVR, AND
1095 ; FORCES TTY USAGE ATTEMPTS TO HANG. MAY BE ALTERED
1097 DEFSYM %TBDTY==:010000 ;4.4 THE JOB DOESN'T HAVE THE TTY, BUT IT IS IN A
1098 ; DTTY'ING STATE. IN OTHER WORDS, THIS JOB DOESN'T
1099 ; WANT TO GIVE THE TTY TO ONE OF ITS INFERIORS.
1100 DEFSYM %TBOUT==:004000 ;4.3 ALLOW TYPEOUT EVEN IF DON'T HAVE TTY (SETTABLE
1102 DEFSYM %TBINF==:002000 ;4.2 ALLOW INFERIORS TO TAKE ADVANTAGE OF THEIR
1104 DEFSYM %TBOIG==:001000 ;4.1 IGNORE OUTPUT (NORMALLY SET BY SUPERIOR).
1105 ; OVERRIDES %TBWAT, %TBINT.
1106 DEFSYM %TBIIN==:000400 ;3.9 INTERRUPT ON ATTEMPT TO DO INPUT. OVERRIDES
1107 ; %TBWAT. NORMALLY SET BY SUPERIOR.
1108 DEFSYM $TBECL==:220600 ;3-6-3.1 # ECHO LINES IF I DONT HAVE DISPLAY
1111 ;RH - IF %TBNOT IS 0, THE RH HAS THE TTY NUMBER.
1112 ;OTHERWISE, IF %TBDTY IS 0, THE RH HAS THE USR INDEX OF
1113 ;THE INFERIOR THAT THIS JOB GAVE OR WOULD LIKE TO GIVE
1114 ;THE TTY TO. OTHERWISE, THE RH IS 0.
1116 ;BITS IN THE PER-STY VARIABLE STYSTS, RETURNED BY STYGET SYSTEM CALL.
1117 DEFSYM %SS==:1,,525252 ;BIT TYPEOUT MASK
1118 DEFSYM %SSHNG==:400000 ;4.9 = 1 => DON'T HANG ON INPUT IOTS
1119 DEFSYM %SSUSE==:200000 ;4.8 = 1 => IN USE
1120 DEFSYM %SSINT==:100000 ;4.7 = 1 => HAVE GIVEN INT ON STY OUTPUT
1122 DEFSYM %SSONT==:040000 ;4.6 = 1 => DITTO FOR STY INPUT (TTY OUTPUT)
1123 DEFSYM %SSOHG==:20000 ;4.5 = 1 => DON'T HANG ON OUTPUT IOT
1124 ;RH = USER INDEX THAT HAS IT OPEN
1127 IFN $$TEMP, EXPUNGE DEFSYM