Trailing-Edge
-
PDP-10 Archives
-
dec-10-omona-u-mc9
-
monmk0.ctl
There are 2 other files named monmk0.ctl in the archive. Click here to see a list.
; %1(16) VERSION OF MONMK0.CTL 8 MAR 1977 ALAN FRANTZ/MS/RAP
; THIS FILE WAS FORMERLY NAMED MONMKA (BUT MONMKB BECAME MONMKA AT 50640).
;
;THIS FILE COPIES ALL THE NECESSARY FILES FOR BUILDING A MONITOR ONTO DEVICE
; MONI:, MON2: OR MON4: FROM THEIR PERMANENT STORAGE AREAS ON THE "BLACK PACKS".
; IT RETRIEVES THE FIELD IMAGE VERSIONS OF ALL THE CUSPS WHICH IT
; MAY NEED, IT CHANGES ALL .CT FILES INTO .CTL FILES, AND PRINTS A SORTED
; CHECKSUMMED DIRECTORY OF THESE FILES. FINALLY, IT RUNS VCHK
; AND DATDMP (IF NEEDED).
;
;SUBMIT THIS BATCH JOB WHILE LOGGED IN UNDER SOME PPN WHICH HAS A QUOTA ON
; STRUCTURE MONI:, MON2: OR MON4: THE COMMAND TO START THE JOB IS SIMPLY
; .SUBMIT MONMK0/TIME:15:
;
.CHKPNT M0GO
M0GO::
.SET WATCH VERSION
.IF (ERROR) ;O.K.
;AVOID USING VIRTUAL MEMORY
.SET PHYSICAL 256
.IF (ERROR) ;OK, WE MUST BE ON A KA10
;
.MOUNT MONI:
.IF (NOERROR) .GOTO M001
;IF CAN'T USE MONI:, USE MON2:
.MOUNT MON2:
.IF (NOERROR) .GOTO M001
;IF CAN'T USE MON2:, USE MON4:
.MOUNT MON4:
.IF (NOERROR) .GOTO M001
.PLEASE COULD NOT MOUNT MONI:, MON2: OR MON4: --MONMK0 ABORTING
.KJOB/F
M001::
.MOUNT BLKA:
.IF (NOERROR) .GOTO M002
.PLEASE COULD NOT MOUNT BLKA: --MONMK0 ABORTING
.KJOB/F
M002::
;USE A PIP INDIRECT FILE TO SPECIFY WHICH FILES TO COPY FROM BLKA:
.RUN DSKB:PIP[10,7] 15
*/X/B_BLKA:[7,5112]MONFIL.CCL
*MONFIL@
.IF (ERROR) .PLEASE TROUBLE COPYING FILES FROM BLKA: --PROCEEDING
;
.DISMOUNT BLKA:
M0FIM::
.CHKPNT M0FIM
.SET WATCH VERSION
.IF (ERROR) ;O.K.
.RUN DSKB:PIP[10,7] 10
*/X/B_DEC: COMPIL.*,MACRO.*,LINK.*,LNK???.*,JOBDAT.MAC,DDT.MAC,JOBDAT.REL,FILDDT.*
.IF (ERROR) .PLEASE COULD NOT COPY FIELD IMAGE FILES FROM DEC:--PROCEEDING
;
TECO:: ;
.CHKPNT TECO
.SET WATCH VERSION
.IF (ERROR) ;O.K.
;
;NEXT WE NEED TO KNOW WHAT THE VERSION NUMBER OF THIS MONITOR WILL
; BE SO THAT IT CAN BE PLUGGED INTO ALL THE .CTL FILES WHICH
; RUN MONGEN. USE TECO TO INTERROGATE THE OPERATOR....
.OPERATOR T
.RUN DSKB:TECO[10,7]
*!START! TYPE 3-CHAR MONITOR VERSION NUMBER, E.G., 214 FOR 60214.
*0U1HK!GET! ^^TUT QT-^^^^0"LOERR'QT-^^^^9-1"LOPUT'
* Q1"EOERR'QT-^^^^A"LOERR'QT-^^^^Z-1"GOERR'
*!PUT!QTI%1-3"LOGET'^^TUT QT-13"E^^TUT QT-10"E
* EWVER.TMPEX''
* !ERR!QT-10"N^^TUTOERR' TRY AGAIN...
= OSTART
.NOOPERATOR
.RUN DSKB:DIRECT[10,7]
*CT=*.CT/F
.RUN DSKB:TECO[10,7]
*ERVER.TMPYHXV
*BJI60EWMONITR.VERHPEF ! MONITR.VER IS USED BY TWICE.CTL !
*ERCT.DIRY<ZUZ A QZ-Z;>BJ
*<S.;-DI >BJ
*<SCT;0XAL.,ZXBHKGAZJ2RI.BJ<S^S.;-C-DBJ>
*BJHT
* IERZJ@I//HXMMM 1JDIWZJRILHXMMM
*Y0U6<N###;-3DGV%6>Q6=EF
*HKGBBJ>
;
;AT THIS POINT, ALL THE .CT FILES HAVE BEEN CHANGED INTO .CTL FILES BY
; HAVING THE CURRENT VERSION # SUBSTITUTED FOR ### THROUGHOUT.
;.DELETE VER.TMP
;.DELETE *.CT
;.IF (ERROR) ;TOUGH
;
GET:: ;
.CHKPNT GET
.SET WATCH VERSION
.IF (ERROR) ;O.K.
;SOMETIMES WE MAKE SPECIAL CASE SUBSTITUTIONS BY HAND.
;PAUSE TO LET THIS HAPPEN.
.PLEASE COPY ANY SPECIAL CASE FILES (JOBDAT,DDT), THEN PROCEED
;THIS WAITS FOR OPERATOR TO CONTINUE......
;
;NOW MAKE CHECKSUMMED DIR....
.RUN DSKB:DIRECT[10,7]
*MONFIL=/SORT/CHECKSUM
.IF (ERROR) ;TOUGH
;
SORT::
.CHKPNT SORT
.SET WATCH VERSION
.IF (ERROR) ;O.K.
.RUN DSKB:SORT[10,7]
*MONFIL.DSF=MONFIL.DIR/KEY:1:11:A/RECORD:80
.IF (ERROR) ;TOUGH
.QUEUE MONFIL.DSF
;
;At this point the main work of MONMK0 is done and we are
; ready to begin assembling the monitor, but before leaving MONMK0
; we start up some other parallel tasks.....
;
;IN PARALLEL TO MONITOR ASSEMBLIES LET'S CHECK ALL MONITOR SOURCE FILES TO
; DETERMINE IF THEY PROPERLY MATCH <'S AND >'S. USE VCHK.CTL FOR THIS.
.Q I:=VCHK/UNIQ:0/TIME:1::,/DISP:DEL
.IF (ERROR) .PLEASE COULDN'T RUN VCHK.CTL
;
;ALSO CREATE ANOTHER FILE WHICH DEPENDS ON THE MONITOR SOURCES,
; NAMELY, DATDMP......
; ;We no longer make DATDMP, but here is how we used to do so in MONMKB...
; ;CREATE DATDMP.SAV FROM COMMOD.REL
; .RUN DSKB:LOADER[10,7]
; =JOBDAT,COMMOD/P
; .IF (ERROR) ;IT'S OKAY, UNDEFINED GLOBALS ARE EXPECTED.
; .SAV MON:DATDMP
;
.PLEASE MONMK0 IS FINISHED--BEGIN MONITOR ASSEMBLIES (MONMKA,I,V,L,W,G, AND H)
.GOTO M0XIT
%ERR:: .GOTO M0ERR
%CERR:: .GOTO M0ERR
M0ERR:: .PLEASE ERROR IN MONMK0--EXAMINE .LOG FILE
.QUEUE MONMK0.LOG/DISPOSE:PRESERVE
.GOTO M0XIT
M0XIT::
%FIN::
.KJOB/F
;[END OF MONMK0.CTL]