1 TITLE ONCE ONLY CODE - OPERATOR DIALOGUE AND SERVICE ROUT. LINKAGE
\r
2 SUBTTL THIS IS ONLY CODE PLACED AT THE END OF IOINIT
\r
3 ;WHICH SHOULD BE THE LAST LOADED PROGRAM BEFORE SYSMAK AND DDT
\r
4 ;THUS IF IT OVERFLOWS INTO THE USER AREA NO HARM IS DONE
\r
5 ;INITIALIZE PRIORITY CHANNELS AND SETUP INTERRUPT SERVICE ROUTINE CHA
\r
7 XP SYSFIN,.-1 ;LAST LOC. IN SYSTEM
\r
8 NXM=10000 ;NON EX-MEM
\r
12 PATCH: BLOCK 100 ;PATCH SPACE
\r
13 ;C(SYSSIZE) SHOULD BE UPDATED AS PATCHES ARE MADE
\r
17 INT=DAT ;INTERRUPT SERVICE ENTRY POINT(USUALLY A CONSO INSTR.)
\r
18 CHL=DEVDAT ;THE PLACE WHERE PC IS STORED FOR THAT CHANNEL
\r
20 ;LINK TO SERVICE ROUTINES
\r
23 EXTERNAL NDEVM1 ;=NDOV-1 (DEFINED IN IOINI1)
\r
24 EXTERNAL DEVINT,JOBSYM
\r
26 LINKSR: 0 ;CALLED WITH JSR FROM SYSINI
\r
27 ;CHAIN INTERUPT SERVICE ROUTINES TOGETH
\r
28 HRLZI INT, 254000 ;FORM JRST INSTR.
\r
29 MOVEI C, NDEVM1 ;NO. OV DEV. SERV. ROUTINES TO CHAIN
\r
30 DEV1: HLRZ CHL, DEVINT(C) ;LOC. WHERE PC IS STORED
\r
31 HRR INT, DEVINT(C) ;INTERRUPT SERVICE ROUTINE ENTRY POINT
\r
32 MOVE T, 1(CHL) ;INSERT THIS ROUTINE AT FRONT OF CHAIN
\r
38 ;MOVE SYMBOL TABLE UP IN MEMORY
\r
39 ;EXEC MUST BE LOADED IN 15K OR LESS IF GOING INTO 16K MACHINE
\r
41 SETZM DAT ;FIND FIRST NON EX MEM
\r
42 CONO APR,NXM ;CLEAR NON-EX MEM FLAG
\r
43 ADDI DAT,2000 ;TRY NEXT 1K BLOCK
\r
44 MOVE TAC1,(DAT) ;REFERENCE THIS LOCATION
\r
45 CONSO APR,NXM ;NON-EXISTENT?
\r
47 SUBI DAT,1 ;YES, HIGHEST LEGAL LOC
\r
48 MOVEM DAT,DDTMEM ;FOR DDT
\r
49 SUBI DAT,200-1 ;MAKE ROOM FOR DECDUMP
\r
50 HLRE TAC1,JOBSYM ;-LENGTH OF S. T.
\r
51 JUMPE TAC1,JRSTI1 ;0 IF NON S. T. TO MOVE UP
\r
53 HRRZ TAC,JOBSYM ;FIRST ADDRESS
\r
55 HRL TAC,TAC1 ;XWD LENGTH,LENGTH+FIRST ADDRESS
\r
56 SUBI DAT,1(TAC) ;NEW LAST+1-OLD LAST+1
\r
57 HRRM DAT,STO1 ;DIST. TO MOVE
\r
58 MOVE TAC1,JOBSYM ;-N,FIRST ADD.
\r
59 ADDI TAC,1(DAT) ;FORM NEW S.T. POINTER
\r
64 STO1: MOVEM TAC1,.(TAC)
\r
69 ;SETUP LOCATIONS 40 THRU 57
\r
71 JRSTI1: MOVE TAC,[XWD LOC40,40]
\r
74 MOVEM TAC,LINKSR+1 ;DO ONCE ONLY
\r
78 EXTERN CH1,CH2,CH3,CH4,CH5,CH6,CH7
\r
81 JSR UUO0 ;TO UUO HANDLER
\r
99 ;ONCE ONLY CODE - OPERATOR SETUP DIALOGUE
\r
102 EXTERNAL CONMES,RADX10,CRLF,DECIN,DECIN1
\r
103 EXTERNAL THSDAT,MAKEND,JOBFF
\r
104 EXTERNAL ERNAM,OCTPNT,SYSSIZ,CONFIG,SYSNUM,SYSDAT
\r
107 MOVEI TAC,SYSFIN ;SET SIZE OF MONITOR
\r
109 MOVE DAT,LINEP ;SETUP LINE BYTE POINTER
\r
110 MOVE PDP,[XWD ONCEPN,ONCEPD]
\r
118 MOVEI TAC,[ASCIZ /./]
\r
122 MOVEI TAC,[ASCIZ / /]
\r
130 ;ASK FOR TODAYS DATE AND CONVERT
\r
131 ;DATE STORED AS ((Y-64)*12.+M-1)*31.+D-1
\r
133 DATLOP: SETZM THSDAT
\r
139 JRST DATLOP ;JUST CR
\r
140 PUSHJ PDP,DECIN1 ;MONTH
\r
148 PUSHJ PDP,DECIN1 ;DAY
\r
155 PUSHJ PDP,DECIN1 ;YEAR
\r
160 SUBI TAC1,^D64 ;YEAR ZERO
\r
161 IMULI TAC1,^D12*^D31
\r
175 JRST TIMLOP ;JUST A CR
\r
178 SKIPL TAC1 ;CHECK FIRST DIGIT OF HOUR
\r
181 IMUL TAC1,[^D60*^D60*^D60*^D10]
\r
184 SUBI TAC1,60 ;CONVERT TO BINARY
\r
188 IMULI TAC1,^D60*^D60*^D60
\r
194 IMULI TAC1,^D60*^D60
\r
198 ;PRINT IO CONFIGURATION
\r
209 HLLZ ITEM,DEVNAM(DEVDAT)
\r
210 ONCE4: HLRZ DEVDAT,DEVSER(DEVDAT)
\r
212 HLLZ TAC1,DEVNAM(DEVDAT)
\r
215 ONCE6: MOVE PROG,TAC ;SAVE NO.
\r
220 MOVE JDAT,[POINT 6,ITEM]
\r
221 ONCE7: ILDB TAC1,JDAT
\r
225 MOVEI TAC,[ASCIZ /'S/]
\r
234 ;ASK IF SYSMAK IS WANTED
\r
241 JRST ONCE2 ;NO SYSMAK
\r
242 MOVEI TAC,MAKEND ;YES
\r
245 ;IS EXEC DDT WANTED?
\r
247 ONCE2: MOVE DAT,LINEP
\r
253 MOVEI TAC,JOBFF ;FIRST FREE LOCATION
\r
257 ;PRINT OCTAL SIZE OF MONITOR
\r
259 ONCE3: MOVE DAT,LINEP
\r
270 ;ROUTINE TO READ A LINE FROM OPERATORS CONSOLE
\r
271 ;CALL: PUSHJ PDP,GETLIN
\r
272 ; JUST A CR TYPED IN
\r
273 ; A LINE TYPED IN,TAC SET AS BYTE POINTER
\r
275 EXTERN CPOPJ, CPOPJ1
\r
277 GETLIN: MOVE TAC,LINEP
\r
285 CAIN TAC1,177 ;RUBOUT
\r
298 ;ROUTINE TO TYPE A LINE ON OPERATORS CONSOLE
\r
299 ;ECHO CHECK STOPS LINE AND RETURNS
\r
300 ;CALL: DAT SET TO END OF MESSAGE
\r
302 OPOUT: MOVE TAC,LINEP
\r
304 OPOUT1: CAMN TAC,DAT
\r
307 JRST OPOUT2 ;ECHO CHECK
\r
313 OPOUT2: CONSZ TTY,20
\r
321 LINEP: POINT 7,LINBUF
\r
324 ONCEPD: BLOCK ONCEPN
\r
329 TSEXEC: ASCIZ / T. S. EXEC-/
\r
331 TYPE TODAY'S DATE AS ABOVE.
\r
334 TYPE 4 DIGIT NAVY TIME(0953 IS 9:53 AM).
\r
341 DO YOU WANT SYSMAK(TYPE Y IF YES,CR IF NO)?
\r
349 LENGTH: ASCIZ /OCTAL LOCATIONS LONG.
\r