Trailing-Edge
-
PDP-10 Archives
-
de-10-omona-v-mc9
-
monmka.ctl
There are 2 other files named monmka.ctl in the archive. Click here to see a list.
;%1(30) VERSION OF MONMKA 20 OCT 78 /MS
;THIS .CTL FILE ASSEMBLES THE MONITOR SOURCES FOR KA10 CONFIGURATIONS
; (BUT WITHOUT VIRTUAL MEMORY), CREATES THE TOPA10.REL FILE, AND OPTIONALLY
; PRODUCES CREF LISTINGS AND/OR A GLOB CROSS-REFERENCE LISTING.
;
; WARNING-----NEEDS MUCH CPU TIME SUBMIT WITH /TIME:1::
;
;
MAGO:: ;
.CHKPNT MAGO
.SET WATCH ALL
.IF (ERROR) ;Okay, it's not critical to watch version numbers, etc.
;
;AVOID USING VIRTUAL MEMORY
.SET PHYSICAL 256
.IF (ERROR) ;OK, WE MUST BE ON A KA10
;
.PLEASE MONMKA--KA10 MONITOR ASSEMBLY--RESTRICT SYSTEM USAGE TO GAIN SPEED
;
;
;BEFORE ASSEMBLING THE MONITOR, WE NEED FKA.MAC. THIS FILE WAS TRANSFERRED
; FROM THE BLACK PACKS BY MONFIL.CCL@, BUT THAT VERSION OF FKA.MAC MAY BE
; OUT OF DATE IF FGEN.HLP HAS BEEN EDITTED. IF RUNNING MONGEN PRODUCES AN
; IDENTICAL FILE, IT IS BETTER TO USE THE OLD FKA.MAC (TO AVOID UNNECESSARY
; ASSEMBLIES). THEREFORE, WE WILL OVERWRITE FKA.MAC WITH A NEWLY CREATED
; FILE ONLY IF IT IS DIFFERENT. THIS TAKES SOME SLEIGHT OF HAND......
.DELETE FKA.FAK
.IF (ERROR) ;O.K. ONLY FOR REENTRANCY
.RUN DEC:PIP
*FKA.FAK/R_FKA.MAC
.IF (ERROR) *FKA.FAK_MONMKA.CTL
.GET DSK:MONGEN
.VERSION
.IF (ERROR) .E 137
.START
*
*F
*FKA
*KAFULL
*Y ;STANDARD SWITCH SETTINGS
;MONGEN HAS JUST CREATED A STANDARD KA10 FEATURE TEST SWITCHES FILE, FKA.MAC.
; [THIS FILE SHOULD BE IDENTICAL FOR 1050 AND 1055 CONFIGURATIONS.]
;NOW WE COMPARE IT TO ITS PREDECESSOR FKA.MAC (RECENTLY RENAMED TO FKA.FAK)
.RUN DEC:FILCOM
*FAKKA.FAK_FKA.FAK,FKA.MAC
.RUN DEC:TECO
*ERFAKKA.FAKYZ=C
.IF (NOERROR) .GOTO MANUF
;THIS ERROR HAPPENS ONLY IF FILCOM WROTE A ZERO-LENGTH FAKKA.FAK FILE.
;IN THIS CASE, RETAIN THE PREVIOUS FKA.MAC BECAUSE IT IS IDENTICAL.
.DELETE FKA.MAC
.RENAME FKA.MAC=FKA.FAK
MANUF:: ;
.DELETE FAKKA.FAK,FKA.FAK
.IF (ERROR) ;OKAY
;END OF DIDDLING WITH FKA.MAC......
;
;TO ASSEMBLE THE MONITOR USING CONKA WE ALSO NEED FILES NAMED
; HDWKA, TTYKA, AND NETKA. GET THESE FILES FOR THE SYSTEM #002
; CONFIGURATION AND USE THEM HERE. THIS IS ACCOMPLISHED BY A KLUDGEY
; "CALL" ON PART OF THE MK002.CTL FILE.
;
.RUN DEC:TECO
*HK@I#.SUBMIT MONMKA/UNIQ:0/TIME:1::/TAG:MAREE/AFTER:+0:01
*.IF (ERROR) .PLEASE COULD NOT RE-ENTER MONMKA.CTL
*.KJOB/F
*#EWMK002.KLGHPEF
.IF (ERROR) .PLEASE MONMKA.CTL CANNOT CALL MK002.CTL
;NOW CALL MK002.CTL AS A SUBROUTINE
.SUBMIT MK002/UNIQ:0/TIME:10:/TAG:MG002
.IF (ERROR) .PLEASE MONMKA.CTL CANNOT CALL MK002.CTL
;NOW GO AWAY UNTIL MK002.CTL HAS FINISHED RUNNING
.KJOB/F
;COME BACK HERE WHEN MK002.CTL IS FINISHED
;
;THIS IS WHERE THE KLUDGE RE-ENTERS MONMKA AFTER RUNNING THE
; MONGEN PART OF MK002.CTL
MAREE:: ;
.CHKPNT MAREE
.SET WATCH ALL
.IF (ERROR) ;O.K.
.PLEASE CHKPNT MAREE
.DELETE MK002.KLG
.IF (ERROR) ;O.K.
.DELETE HDWKA.MAC,TTYKA.MAC,NETKA.MAC
.IF (ERROR) ;FOR REENTRANCY ONLY
.RENAME HDWKA.MAC=HDW002.MAC
.RENAME TTYKA.MAC=TTY002.MAC
.RENAME NETKA.MAC=NET002.MAC
;NOW WE HAVE ALL THE NEEDED FILES, SO TURN THE ASSEMBLER LOOSE......
;
;FIRST WE ASK THE QUESTION "DO YOU WANT CREF LISTINGS ?"
;
MAASK:: ;
.CHKPNT MAASK
.SET WATCH ALL
.IF (ERROR) ;O.K.
.PLEASE CHKPNT MAASK
.RUN DEC:TECO
.OPERATOR %
*!BEG!
*% OPERATOR - DO YOU WANT MONMKA CREF LISTINGS ? (YES/NO)
*
*!GET! ^^TUM QM-9"EOGET' QM-32"EOGET' QMUN
*!MORE! QN-10"EOEOL' QN-27"EOEOL' QN-125"EOEOL' ^^TUN OMORE
*!EOL! QM-^^^^Y"E
*GENERATE CREF LISTINGS
* ODONE'
*QM-^^^^N"E
* ? CANCEL CREF LISTINGS
* ODONE'
*% OPERATOR - YOU MUST TYPE YES OR NO
* OGET
=!DONE!
.NOOPERATOR
.IF (ERROR) .GOTO MAMAC
;HERE IF ANSWER WAS YES -- MAKE CREF'S
MAMCC:: ;
.CHKPNT MAMCC
.SET WATCH ALL
.IF (ERROR) ;O.K.
.PLEASE CHKPNT MAMCC--BEGINNING COMPILE @CONKA/CREF
;AVOID USING VIRTUAL MEMORY
.SET PHYSICAL 256
.IF (ERROR) ;OK, WE MUST BE ON A KA10
;
.ASSIGN DSK SYS
; Force use of FIELD IMAGE cusps for assembling the monitor . . .
.ERROR %
.COMPILE /CREF @CONKA
.IF (ERROR) .GOTO MAAER
.ERROR
.GOTO MAAOK
;HERE IF ANSWER WAS NO -- (NO CREF'S)
MAMAC:: ;
.CHKPNT MAMAC
.SET WATCH ALL
.IF (ERROR) ;O.K.
.PLEASE CHKPNT MAMAC--BEGINNING COMPILE @CONKA
;AVOID USING VIRTUAL MEMORY
.SET PHYSICAL 256
.IF (ERROR) ;OK, WE MUST BE ON A KA10
;
.ASSIGN DSK SYS
; Force use of FIELD IMAGE cusps for assembling the monitor . . .
.ERROR %
.COMPILE @CONKA
.IF (NOERROR) .GOTO MAAOK
.ERROR
MAAER:: ;
.IF (ERROR) ;OK
.PLEASE ASSEMBLY ERRORS EXIST--MONMKA
.DEASSIGN SYS
.QUEUE L:ERRORA=MONMKA.LOG/DISPOSE:PRESERVE/PRIORITY:51
.IF (ERROR) .PLEASE COULDN'T PRINT MONMKA.LOG - PLEASE QUEUE IT AND
.PLEASE EXAMINE ERROR LOG ON LPT, THEN KILL OR PROCEED ?
;THIS WAITS FOR OPERATOR RESPONSE......
.GOTO MAAGO
MAAOK:: ;
.PLEASE MONMKA CHKPNT MAAOK--MONITOR ASSEMBLES CORRECTLY
;
MAAGO:: ;
.CHKPNT MAAGO
.SET WATCH ALL
.IF (ERROR) ; OKAY
.DEASSIGN SYS
.IF (ERROR) ; OKAY
.RUN DEC:PIP 10
*CMBKA@
; CMBKA.CCL COMBINES .RLA FILES INTO TOPA10.REL LIBRARY FILE.
.RUN DEC:PIP 10
;
;NOW TO COPY RESULTS TO THE BLACK PACKS
MACPY:: ;
.CHKPNT MACPY
.SET WATCH ALL
.IF (ERROR) ;O.K.
.PLEASE CHKPNT MACPY--READY TO COPY FKA.MAC, ..., TOPA10.REL TO BLKA: ?
;THIS WAITS FOR OPERATOR TO CONTINUE......
;
;CMBKA.CCL CREATES TOPMON.RLA AND TOPEND.RLA IN ADDITION TO TOPA10.REL.
; THESE FILES ARE BASICALLY HISTORICAL ARTIFACTS LEFT OVER FROM THE DAYS WHEN
; WE COPIED THE TOPA10.REL FILE ONTO DECTAPE AND IT BECAME TOO BIG TO FIT
; ON ONE DECTAPE. NOW WE WANT TO DELETE THESE FILES TO SAVE SPACE ON OUR
; DISK PACK, BUT THE DELETION IS HERE AFTER THE PAUSE FOR OPERATOR
; RESPONSE IN CASE ANYONE WANTS A DECTAPE COPY OF THE .RLA FILES.
.DELETE TOPMON.RLA,TOPEND.RLA
.IF (ERROR) ;OKAY
.MOUNT BLKA:
.IF (ERROR) .PLEASE CAN'T MOUNT BLKA:--BETTER ABORT
.RUN DEC:PIP
*BLKA:[7,5111]<100>/X/B_FKA.MAC,HDWKA.MAC,TTYKA.MAC,NETKA.MAC,TOPA10.REL
.IF (ERROR) .PLEASE TROUBLE COPYING ONTO BLKA:
;
;NEXT PRODUCE GLOBAL CROSS-REFERENCE LISTING TOPA10.GLB
;
MAGLB:: ;
.CHKPNT MAGLB
.SET WATCH ALL
.IF (ERROR) ; OKAY
.PLEASE MONMKA CHKPNT MAGLB--KILL THIS JOB IF NO KA10 GLOB DESIRED
;THIS PAUSES FOR OPERATOR RESPONSE
;
.RUN DEC:FUDGE2
=DSK:TOPA10.FUD_TOPA10/L
.IF (ERROR) ; NICE TRY
.R GLOB 15
*COMMON.RLA,COMDEV.RLA,COMNET.RLA,COMMOD.RLA
*DSK:TOPA10.GLB=TOPA10.REL
.IF (ERROR) ; NICE TRY
;
;COPY TOPA10.GLB TO BLACK PACKS
;
MACP2:: ;
.CHKPNT MACP2
.SET WATCH ALL
.IF (ERROR) ;O.K.
.PLEASE CHKPNT MACP2--READY TO COPY TOPA10..FUD, TOPA10.GLB TO BLKA: ?
;THIS WAITS FOR OPERATOR TO CONTINUE......
.MOUNT BLKA:
.IF (ERROR) .PLEASE CAN'T MOUNT BLKA:--BETTER ABORT
.RUN DEC:PIP
*BLKA:[7,5111]<100>/X/B_TOPA10.FUD,TOPA10.GLB
.IF (ERROR) .PLEASE TROUBLE COPYING ONTO BLKA:
;
.PLEASE TO LIST TOPA10.GLB PROCEED, OTHERWISE KILL......
;THIS WAITS FOR THE OPERATOR TO CONTINUE......
; WE WILL PROBABLY NOT WASTE THE PAPER TO PRODUCE THIS LISTING NORMALLY.
;
.ASSIGN BLKA QUE
;SPECIAL HANDLING FOR GALAXY
.R ISIT ;GALAXY
.IF (NOERROR) .LOCATE 50
.QUEUE TOPA10.GLB,TOPA10.FUD/PRIORITY:1/FORM:NORMF
.IF (ERROR) .PLEASE COULDN'T PRINT FILES TOPA10.FUD OR TOPA10.GLB - PROCEEDING
.DEASSIGN QUE
.LOCATE
;ALSO GET A HARD-COPY LISTING OF THE GLOB ON THE REAL LINE PRINTER
.QUEUE TOPA10.GLB
.IF (ERROR) .PLEASE LIST TOPA10.GLB BY HAND
;
MACRF:: ;
.CHKPNT MACRF
.SET WATCH ALL
.IF (ERROR) ; OKAY
.PLEASE MONMKA CHKPNT MACRF
;
; NOW GET ALL THE KA10 CREF LISTINGS THAT HAVE BEEN MADE
.PLEASE READY TO CREF ?
;THIS WAITS FOR OPERATOR TO CONTINUE (PAUSE SO OPERATOR CAN, OPTIONALLY,
; HAVE LPTSPL DO ITS OUTPUT TO A LISTING MAGTAPE OR CAN DELETE
; UNWANTED .CRF FILES)......
.PLEASE CREFS BEGUN. EDDT AND EJBDAT MUST BE
.PLEASE CREF'D BY HAND IF LISTINGS DESIRED (USUALLY DISCARDED)
.ASSIGN DSK LPT
;USE A PRIVATE QUEUE SO WE CAN RUN A PRIVATE COPY OF LPTSPL TO MAGTAPE
.ASSIGN BLKA QUE
;WE MUST NOW DO THINGS DIFFERENTLY IF GALAXY IS RUNNING
.R ISIT ;GALAXY
.IF (NOERROR) .LOCATE 50
.RUN DEC:CREF
*FKA
.IF (NOERROR) .QUEUE FKA.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*S
.IF (NOERROR) .QUEUE S.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*COMMON
.IF (NOERROR) .QUEUE COMMON.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*COMDEV
.IF (NOERROR) .QUEUE COMDEV.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*COMMOD
.IF (NOERROR) .QUEUE COMMOD.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*FILFND
.IF (NOERROR) .QUEUE FILFND.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*FILIO
.IF (NOERROR) .QUEUE FILIO.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*FILUUO
.IF (NOERROR) .QUEUE FILUUO.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*DPXKON
.IF (NOERROR) .QUEUE DPXKON.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*FHXKON
.IF (NOERROR) .QUEUE FHXKON.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*FSXKON
.IF (NOERROR) .QUEUE FSXKON.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*CDPSER
.IF (NOERROR) .QUEUE CDPSER.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*CDRSRX
.IF (NOERROR) .QUEUE CDRSRX.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*CLOCK1
.IF (NOERROR) .QUEUE CLOCK1.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*COMCON
.IF (NOERROR) .QUEUE COMCON.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*CORE1
.IF (NOERROR) .QUEUE CORE1.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*CP1SER
.IF (NOERROR) .QUEUE CP1SER.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*DATMAN
.IF (NOERROR) .QUEUE DATMAN.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*DISSER
.IF (NOERROR) .QUEUE DISSER.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*DLSINT
.IF (NOERROR) .QUEUE DLSINT.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*DL1INT
.IF (NOERROR) .QUEUE DL1INT.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*DTASRN
.IF (NOERROR) .QUEUE DTASRN.LST/PRIORITY:1/FORM:NORMF
.DELETE EDDT.CRF
.IF (ERROR) ; IT'S OKAY--OPERATOR MAY HAVE CREF'D BY HAND
.RUN DEC:CREF
*ERRCON
.IF (NOERROR) .QUEUE ERRCON.LST/PRIORITY:1/FORM:NORMF
.DELETE EJBDAT.CRF
.IF (ERROR) ; IT'S OKAY--OPERATOR MAY HAVE CREF'D BY HAND
.RUN DEC:CREF
*IPCSER
.IF (NOERROR) .QUEUE IPCSER.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*KASER
.IF (NOERROR) .QUEUE KASER.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*KALOCK
.IF (NOERROR) .QUEUE KALOCK.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*LPTSER
.IF (NOERROR) .QUEUE LPTSER.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*METCON
.IF (NOERROR) .QUEUE METCON.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*MSGSER
.IF (NOERROR) .QUEUE MSGSER.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*NULSEG
.IF (NOERROR) .QUEUE NULSEG.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*PLTSER
.IF (NOERROR) .QUEUE PLTSER.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*PSISER
.IF (NOERROR) .QUEUE PSISER.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*PTPSER
.IF (NOERROR) .QUEUE PTPSER.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*PTRSER
.IF (NOERROR) .QUEUE PTRSER.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*PTYSER
.IF (NOERROR) .QUEUE PTYSER.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*QUESER
.IF (NOERROR) .QUEUE QUESER.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*RTTRP
.IF (NOERROR) .QUEUE RTTRP.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*SCHED1
.IF (NOERROR) .QUEUE SCHED1.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*SCNSER
.IF (NOERROR) .QUEUE SCNSER.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*SEGCON
.IF (NOERROR) .QUEUE SEGCON.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*SWPSER
.IF (NOERROR) .QUEUE SWPSER.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*TMPUUO
.IF (NOERROR) .QUEUE TMPUUO.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*UUOCON
.IF (NOERROR) .QUEUE UUOCON.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*VBCSER
.IF (NOERROR) .QUEUE VBCSER.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*PATCH
.IF (NOERROR) .QUEUE PATCH.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*SYSINI
.IF (NOERROR) .QUEUE SYSINI.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*SYSCHK
.IF (NOERROR) .QUEUE SYSCHK.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*ONCMOD
.IF (NOERROR) .QUEUE ONCMOD.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*REFSTR
.IF (NOERROR) .QUEUE REFSTR.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*ONCE
.IF (NOERROR) .QUEUE ONCE.LST/PRIORITY:1/FORM:NORMF
.RUN DEC:CREF
*NETPRM
.IF (NOERROR) .QUEUE NETPRM.LST/PRIORITY:1/FORM:NORMAF
.RUN DEC:CREF
*COMNET
.IF (NOERROR) .QUEUE COMNET.LST/PRIORITY:1/FORM:NORMAF
.RUN DEC:CREF
*CCIINT
.IF (NOERROR) .QUEUE CCIINT.LST/PRIORITY:1/FORM:NORMAF
.RUN DEC:CREF
*D76INT
.IF (NOERROR) .QUEUE D76INT.LST/PRIORITY:1/FORM:NORMAF
.RUN DEC:CREF
*D78INT
.IF (NOERROR) .QUEUE D78INT.LST/PRIORITY:1/FORM:NORMAF
.RUN DEC:CREF
*D85INT
.IF (NOERROR) .QUEUE D85INT.LST/PRIORITY:1/FORM:NORMAF
.RUN DEC:CREF
*NETSER
.IF (NOERROR) .QUEUE NETSER.LST/PRIORITY:1/FORM:NORMAF
.RUN DEC:CREF
*RDXSER
.IF (NOERROR) .QUEUE RDXSER.LST/PRIORITY:1/FORM:NORMAF
.RUN DEC:CREF
*RPXKON
.IF (NOERROR) .QUEUE RPXKON.LST/PRIORITY:1/FORM:NORMAF
.RUN DEC:CREF
*TAPSER
.IF (NOERROR) .QUEUE TAPSER.LST/PRIORITY:1/FORM:NORMAF
.RUN DEC:CREF
*TAPUUO
.IF (NOERROR) .QUEUE TAPUUO.LST/PRIORITY:1/FORM:NORMAF
.RUN DEC:CREF
*TCXKON
.IF (NOERROR) .QUEUE TCXKON.LST/PRIORITY:1/FORM:NORMAF
.RUN DEC:CREF
*TM2KON
.IF (NOERROR) .QUEUE TM2KON.LST/PRIORITY:1/FORM:NORMAF
.RUN DEC:CREF
*TMXKON
.IF (NOERROR) .QUEUE TMXKON.LST/PRIORITY:1/FORM:NORMAF
.RUN DEC:CREF
*TSKSER
.IF (NOERROR) .QUEUE TSKSER.LST/PRIORITY:1/FORM:NORMAF
.RUN DEC:CREF
*TYPSER
.IF (NOERROR) .QUEUE TYPSER.LST/PRIORITY:1/FORM:NORMAF
.RUN DEC:CREF
*XTCSER
.IF (NOERROR) .QUEUE XTCSER.LST/PRIORITY:1/FORM:NORMAF
.DEASSIGN LPT
.DEASSIGN QUE
.LOCATE
;
;
.GOTO MAXIT
%ERR:: .GOTO MAERR
%CERR:: .GOTO MAERR
MAERR:: .PLEASE ERROR IN MONMKA--EXAMINE .LOG FILE
.QUEUE MONMKA.LOG/DISPOSE:PRESERVE
.GOTO MAXIT
MAXIT:: .PLEASE MONMKA FINISHED--LOAD KA10 MONITORS NEXT
%FIN:: ;
.KJOB/F
;[END OF MONMKA.CTL]