1 ;;; Copyright (c) 1999 Massachusetts Institute of Technology
3 ;;; This program is free software; you can redistribute it and/or
4 ;;; modify it under the terms of the GNU General Public License as
5 ;;; published by the Free Software Foundation; either version 3 of the
6 ;;; License, or (at your option) any later version.
8 ;;; This program is distributed in the hope that it will be useful,
9 ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
10 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 ;;; General Public License for more details.
13 ;;; You should have received a copy of the GNU General Public License
14 ;;; along with this program; if not, write to the Free Software
15 ;;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25 PRINTX / included in this assembly.
29 IFNDEF DEFSYM,[ ;ALLOW USER TO USE SYMBOLS IN OTHER WAYS IF HE WISHES.
30 ;BUT NORMALLY, DEFSYM FOO==BAR DOES FOO==BAR WITH ERROR CHECK.
37 IFN Z-$$TEM1,.ERR Z MULTIPLY .QUOTE`.QUOTE/DEFINED/`
42 IFLE .MLLIT,.ERR .MLLIT MUST BE 1; SETTING IT TO 1.
50 IFNDEF EPT, EPT=1000 ;ABSOLUTE LOCATION OF EPT
52 ;BUT THE HARDWARE CACHES EPT REFERENCES ANYWAY
54 DEFSYM PI0LOC=EPT+40 ;PI0LOC+2*PICHN = ADDRESS OF INSTR PAIR FOR PICHN
56 DEFSYM DTEBPO=EPT+140 ;DTE20 OUTPUT (BYTE TRANSFER) BYTE POINTER
57 DEFSYM DTEBPI=EPT+141 ;DTE20 INPUT (BYTE TRANSFER) BYTE POINTER
58 DEFSYM DTELOC=EPT+142 ;DTE20 INTERRUPT INSTRUCTION
59 DEFSYM DTEPRO=EPT+144 ;DTE20 OUTPUT (EXAMINE) PROTECTION WORD
60 DEFSYM DTERLO=EPT+145 ;DTE20 OUTPUT (EXAMINE) RELOCATION WORD
61 DEFSYM DTEPRI=EPT+146 ;DTE20 INPUT (DEPOSIT) PROTECTION WORD
62 DEFSYM DTERLI=EPT+147 ;DTE20 INPUT (DEPOSIT) RELOCATION WORD
64 DEFSYM EPTCLK=EPT+510 ;DOUBLE WORD FOR CALENDAR CLOCK (TIME BASE)
65 DEFSYM EPTPRF=EPT+512 ;DOUBLE WORD FOR PERFORMANCE COUNTER
66 DEFSYM EPTEBC==EPT+504 ;DOUBLE WORD EBOX COUNT WHEN UPT=EPT
67 DEFSYM EPTMBC==EPT+506 ;DOUBLE WORD MBOX COUNT WHEN UPT=EPT
68 DEFSYM TIMLOC=EPT+514 ;INTERRUPT INSTRUCTION FOR INTERVAL TIMER
70 DEFSYM EPTTR1=EPT+421 ;EXEC MODE ARITH OVFL TRAP
71 DEFSYM EPTTR2=EPT+422 ;EXEC MODE PDL OV TRAP
72 DEFSYM EPTTR3=EPT+423 ;EXEC MODE TRAP 3 (1 PROCEED)
74 ;UPT LOCATIONS - IN NON-TIME SHARING AND AT CLOCK LEVEL IN ITS UPT=EPT
77 ;425 MUUO PC STORED HERE
78 ;426 MUUO DATAI PAG, HERE
79 ;430 MUUO NEW PC KERNEL NO TRAP
87 ;500 PAGE FAIL WORD STORED HERE IN DEC PAGING MODE
88 ;501 PAGE FAIL PC STORED HERE IN DEC PAGING MODE
89 ;502 PAGE FAIL NEW PC FROM HERE IN DEC PAGING MODE
93 DEFSYM EPTPFW=EPT+500 ;PAGE FAIL WORD STORED HERE IN ITS PAGING MODE
94 DEFSYM PFOPC=EPT+501 ;PAGE FAIL OLD PC STORED HERE IN ITS PAGING MODE
95 DEFSYM PFNPC=EPT+502 ;PAGE FAIL NEW PC OBTAINED FROM HERE IN ITS PAGING MODE
98 ;0-200 DF10S CHANNEL PROGRAMS, INTERRUPT LOCATIONS FOR IMP INTERFACE
99 ;400-500 DTE20 COMMUNICATION AREA (COMMUNICATE WITH KLDCP AND IOELEV)
100 ;500-1000 DL10 COMMUNICATION AREA AND BUFFERS (COMMUNICATE WITH IOELEV)
102 DEFSYM QICWA=32 ;ITS DISK ICWA
103 DEFSYM QIOWD=160 ;ITS DISK IOWD AREA
105 DEFSYM MICWA=30 ;ITS TAPE ICWA
106 DEFSYM MIOWD=170 ;ITS TAPE IOWD AREA
108 ;LUUO IN EXEC MODE LOCATIONS 40,41
110 DEFSYM SLVICW=60 ;SALVAGER ICWA
111 DEFSYM SLVIOW=62 ;SALVAGER IOWD AREA
113 ;EXEC DDT'S DISK ROUTINES USE LOCATIONS 20 AND 21, BUT THEY SAVE AND RESTORE THEM
115 DEFSYM IMPILC=70 ;IMPTERFACE INPUT INTERRUPT INSTRUCTION PAIR
116 DEFSYM IMPOLC=72 ;IMPTERFACE OUTPUT INTERRUPT INSTRUCTION PAIR
118 ;DTE20 STUFF AS DEFINED BY KLDCP, ETC.
119 ;THE DOCUMENTATION CLAIMS THIS STUFF IS IN THE EPT, BUT ACTUALLY
120 ;IT'S IN FIXED LOCATIONS IN LOW CORE.
122 DEFSYM EPTDIA=440 ;DIAGNOSTIC (SALV) START ADDRESS
123 DEFSYM EPTDDT=441 ;DDT START ADDRESS
124 DEFSYM EPTSTL=442 ;LOADER (DSKDMP) START ADDRESS
125 DEFSYM EPTITS=443 ;MONITOR (ITS) START ADDRESS
127 DEFSYM DTEFLG=444 ;DTE20 OPERATION COMPLETE FLAG (SET BY 11, CLEARED BY 10)
128 DEFSYM DTECLK=445 ;DTE20 CLOCK INTERRUPT FLAG (SET BY 11, CLEARED BY 10)
129 ;DEFSYM DTECI=446 ;DTE20 CLOCK INTERRUPT INSTRUCTION (USED BY 10 SOFTWARE)
130 DEFSYM DTET11=447 ;DTE20 10->11 ARGUMENT (SET BY 10) (NOT USED?)
131 DEFSYM DTEF11=450 ;DTE20 11->10 ARGUMENT (SET BY 11)
132 DEFSYM DTECMD=451 ;DTE20 10->11 COMMAND WORD (SET BY 10)
133 DEFSYM DTESEQ=452 ;DTE20 OPERATION SEQUENCE NUMBER (AOS BY 10)
134 DEFSYM DTEOPR=453 ;DTE20 OPERATION IN PROGRESS FLAG (SET/CLEARED BY 10)
135 DEFSYM DTECHR=454 ;DTE20 LAST TYPED CHARACTER (SET BY 11, CLEARED BY 10)
136 DEFSYM DTEMTO=455 ;DTE20 MONITOR-MODE TYPEOUT DONE FLAG (SET BY 11, CLEARED BY 10)
137 DEFSYM DTEMTI=456 ;DTE20 MONITOR-MODE TYPEIN DONE FLAG (SET BY 11, CLEARED BY 10)
138 DEFSYM DTESWR=457 ;DTE20 SIMULATED SWITCH REGISTER (SET BY 11 ON START)
140 DEFSYM DTE==200 ;DTE20 #0 DEVICE CODE
141 DEFSYM %DBL11==20000 ;CONO BIT TO "DOORBELL" 11
142 DEFSYM %DBL10==1000 ;CONI BIT FOR DOORBEL FROM 11. CONO BIT TO CLEAR.
145 ;WORDS STORED IN DTECMD
147 DEFSYM %DTTTI==2400 ;BUFFERED INPUT. CHAR RETURNED IN DTEF11 AFTER LINE TYPED.
148 ;NUMBER 0-377 IS CHAR TO BE TYPED OUT (FLUSHES INPUT. BUFFER NOT PRINTED UNTIL LF/^G/^@)
149 DEFSYM %DTTTO==2000 ;THIS + CHAR ALSO = TTY OUTPUT
150 DEFSYM %DTTYI==3400 ;"DDT" INPUT, CHAR RETURNED IN DTEF11, ZERO IF NO CHAR TYPED
151 DEFSYM %DTTYO==4000 ;THIS + CHAR = ITS (MONITOR) TTY OUTPUT.
152 ;WHEN TYPEOUT DONE, INTERRUPT WITH DTEMTO SET.
153 ;TYPEIN CAUSES INTERRUPT WITH DTEMTI SET, CHAR IN DTEF11.
154 DEFSYM %DTMMN==4400 ;MONITOR MODE ON (DEFAULT WHEN START)
155 DEFSYM %DTMMF==5000 ;MONITOR MODE OFF (TYPEIN OF A ^X DOES THIS ALSO)
156 DEFSYM %DTMMS==5400 ;RETURN MONITOR MODE STATE IN DTEF11
157 ;DEFSYM %DTNRM==3000 ;NORMAL PRINT MODE
158 ;DEFSYM %DTFRC==3001 ;FORCED PRINT MODE
159 DEFSYM %DTCLN==1001 ;CLOCK ON (60 CYCLE SIMULATED CLOCK)
160 DEFSYM %DTCLF==1000 ;CLOCK OFF
161 ;DEFSYM %DTCLW==1002 ;"CLOCK WAIT" DTET11 HAS COUNT (? WHAT THE HECK IS THIS?)
162 ;DEFSYM %DTCLR==1003 ;RETURN "CLOCK COUNT" IN DTEF11 (? WHAT THE HECK IS THIS?)
163 DEFSYM %DTHLT==400 ;HALT
164 ;DEFSYM %DTFTL==401 ;DIAG FATAL ERROR (ACTUALLY JUST TURNS OFF CLOCK)
165 ;DEFSYM %DTERR==402 ;DIAG ERROR HALT (ACTUALLY JUST TURNS OFF CLOCK)
166 ;DEFSYM %DTEPG==403 ;END OF DIAGNOSTIC PROGRAM
167 ;DEFSYM %DTEOP==404 ;END OF DIAGNOSTIC PASS
168 ;DEFSYM %DTCLK==405 ;GET "CLOCK DEFAULT WORD"
169 ;DEFSYM %DTFSL==406 ;DIAMON FILE SELECT (NAME.EXT MUST HAVE BEEN %DTTTO'ED)
170 ;DEFSYM %DTFRD==407 ;DIAMON FILE READ (5 CHARS OR -1 (EOF) RETURNED IN DTEF11)
171 ;DEFSYM %DTCMD==410 ;KLDCP COMMAND EXECUTED FROM OUTPUT BUFFER (%DTTTO IT)
172 ;DEFSYM %DTRSW==1400 ;RETURN SIMULATED SWITCHES IN DTEF11. 10 SHOULD THEN STORE IN DTESWR
175 IFN $$TEMP,EXPUNG DEFSYM