Consolidate license copies
[its.git] / system / kaimp.defs1
1 ;;; -*- Mode: Midas -*-
2 ;;; Copyright (c) 1999 Massachusetts Institute of Technology
3 ;;;
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.
8 ;;;
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.
13 ;;;
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.
17
18 .AUXIL
19
20 ;;; Canonical symbol definition macro, FOO==BAR with error check.
21 IFNDEF DEFSYM,[ 
22 DEFINE DEFSYM X/
23 IRPS Z,,[X]
24 IFNDEF Z,X
25 .ELSE [ $$TEM1==Z
26         X
27         IFN Z-$$TEM1,.ERR Z MULTIPLY .QUOTE`.QUOTE/DEFINED/`
28       ]
29 .ISTOP
30 TERMIN TERMIN
31 $$TEMP==1
32 ] ;IFNDEF DEFSYM
33 .ELSE, $$TEMP==0
34
35 ; Hardware description of AI-KA/ML/MC IMP interface, device "IMP".
36 ; For a more detailed description, see AI Hardware Memo #10,
37 ; "ARPA Network Interface".
38 ; In particular, the "channel 1 multiplexing" feature of the ITS KA's
39 ; is used, so that:
40 ; When PI level 2 (NETCHN) is assigned, the IMP interface takes
41 ;       all interrupts on the normal channel (goes to IMPINT).
42 ; When PI level 1 (IMPCHN) is assigned,
43 ;       IMPID+(-IMPLIW) => Pseudo channel 4, location 70 (IMPILC)-> various
44 ;       IMPOD => Pseudo channel 5, location 72 (IMPOLC)-> various
45 ;       else normal PI channel 1 (PI0LOC+2)-> IMPBRK
46
47 ; CONI bits - starred items cause interrupt on PIA channel
48                                 ; 1.1-1.3 => PIA
49 DEFSYM IMPID==10                ;* INPUT DONE - on when word avail for DATAI
50 DEFSYM IMPI32==20               ; Input in 32 bit mode
51 ;DEFSYM IMPIB==40               ; Input Busy
52 DEFSYM IMPOD==100               ;* OUTPUT DONE - Word sent to IMP
53 ;DEFSYM IMPO32==200             ; Output in 32 bit mode
54 ;DEFSYM IMPOB==400              ; Output Busy
55 DEFSYM IMPERR==1000             ;* Imp Error (interrupt if IMPIC zero)
56 DEFSYM IMPR==2000               ;* Imp Ready (interrupt if IMPIC set)
57 ;DEFSYM IMPIC==4000             ; Imp interrupt condition
58                                 ; (0 = int on IMPERR, 1= int on IMPR)
59 DEFSYM IMPHER==10000            ;* Host Error (interrupt if IMPIHE zero)
60 ;DEFSYM IMPHR==20000            ; Host Ready
61 ;DEFSYM IMPIHE==40000           ; Inhibit interrupt on Host Error (IMPHER)
62 DEFSYM IMPLW==100000            ;* Last Imp Word
63
64 ; CONO bits - starred flags are always copied directly to set states
65                                 ;* 1.1-1.3 => PIA set from these bits
66 DEFSYM IMPIDC==10               ; Clear Input Done
67 DEFSYM IMI32S==20               ; Set input to 32 bit mode
68 DEFSYM IMI32C==40               ; Clear input in 32 bit mode
69 DEFSYM IMPODC==100              ; Clear Output Done
70 DEFSYM IMO32S==200              ; Set output to 32 bit mode
71 DEFSYM IMO32C==400              ; Clear output in 32 bit mode
72 DEFSYM IMPODS==1000             ; Set Output Done
73 DEFSYM IMPIR==4000              ;* Copied to IMPIC; 1= Enable int on imp ready
74 DEFSYM IMPHEC==10000            ; Clear Host Error
75 ;DEFSYM IMIIHE==40000           ;* Copied to IMPIHE
76                                 ;   1= Inhibit int on host error
77 DEFSYM IMPLHW==200000           ; Set Last Host Word
78                                 ;  (do this before last DATAO of msg)
79 IFN $$TEMP,EXPUNG DEFSYM