.MCALL .MODULE .MODULE RTMON,VERSION=13,COMMENT=,AUDIT=YES ; Copyright (c) 1998 by Mentec, Inc., Nashua, NH. ; All rights reserved ; ; This software is furnished under a license for use only on a ; single computer system and may be copied only with the ; inclusion of the above copyright notice. This software, or ; any other copies thereof, may not be provided or otherwise ; made available to any other person except for use on such ; system and to one who agrees to these license terms. Title ; to and ownership of the software shall at all times remain ; in Mentec, Inc. ; ; The information in this document is subject to change without ; notice and should not be construed as a commitment by Digital ; Equipment Corporation, or Mentec, Inc. ; ; Digital and Mentec assume no responsibility for the use or ; reliability of its software on equipment which is not supplied ; by Digital or Mentec, and listed in the Software Product ; Description. ;++ ;COND ; VT1$00 (1) VT100 support ; 0 no VT100 support ; 1 VT100 support ; ; VT5$2 1 VT52 support ; (0) no VT52 support ; 0 VT52 support ; ; BO$TH VT1$00&VT5$2 ;-- .IIf ndf VT1$00 VT1$00=1 .IIf ndf VT5$2 VT5$2=0 BO$TH =: VT1$00&VT5$2 .ENABL LC .NLIST BEX .ENABL GBL ; Insert verbiage here ; R. Billig, J. Harris - Authors 5/79 ; L. Parent - Modifications: 2/80 ; J. Williams - add support for VT100 11/83 ; J. Williams - V5.4 Null Job changes ; J. Williams - conditionalize terminal support ; I. Ziemba - add AUDIT=YES to .MODULE info. ; R. Hamilton - do queue-element traverse at high priority, ; 8-Sep-89 impose a limit ; - Fix infinite loop clearing FGND line 8 when ; FGND job unloaded ; - blank SYSn jobs when no system task support ; - display extended unit device names ; - Remove default support for VT52 ; - Refuse to run as virtual (or VBGEXE) job ; 6-Jun-91 WFG ACTION #7462 - Incorporate DATE formatting into ; this program to eliminate dependance on FORLIB ; 013 4-Feb-1998 Tim Shoppa ; - add age support, 4-digit display years ; System MACRO requirements .MCALL .GTJB, .EXIT, .PRINT, .TWAIT, .RCTRL, .TTYOU, .GVAL, .MTPS .MCALL .TTinR .Poke .SCCA .Assume .Br ...CMV .MCALL .DATE ; SYSLIB modules referenced .GLOBL TIME, R50ASC ; FORTRAN-callable SYSLIB routines .GLOBL $DEVTR Call$F ; SYSLIB support routines ; PSECT ordering .PSect SYSDAT .PSect SYSCOD .PSect SYSMSG .SBTTL Definitions IniSec =: 2. ;number of seconds in initialization TPerSc =: 60. ;number of ticks in a second ; Get Job Parameter Block GT.NUM =: 0 ;Job number * 2 GT.HGH =: 2 ;High memory limit GT.LOW =: 4 ;Low memory limit GT.IOC =: 6 ;Adrs of I/O channel space GT.IMP =: 10 ;Adrs of job's impure area GT.CON =: 12 ;Console TT unit number (*byte*) GT.NAM =: 22 ;ASCII job name (6 characters) GT.END =: 30 ;*End of Parameter Block* ; Job Impure Area Offsets I.STATE =: 0 ;Status bits I.QHDR =: 2 ;I/O queue header I.CMPE =: 4 ;Completion queue last element I.CMPL =: 6 ;Completion queue head I.CHWT =: 10 ;Pointer to channel during I/O wait I.PCHW =: 12 ;Saved I.CHWT during completion I.PERR =: 14 ;Saved ERRBYT during completion I.CNSL =: 16 ;Pointer to TCB for this job's console (MTTY) I.TID =: 22 ;Pointer to job's ID area I.JNUM =: 24 ;Job number I.CNUM =: 26 ;Number of channels defined I.CSW =: 30 ;Pointer to channel area I.IOCT =: 32 ;Number of outstanding I/O operations I.SCTR =: 34 ;Suspend counter (<0 => suspended) I.BLOK =: 36 ;Blocking bits for job ; RMON Fixed Offset Definitions RMON =: 54 ;Base address of RMON SYUNIT =: 275 ;Byte, system unit number $CNFG2 =: 370 ;Configuration word 2 EIS$ =: 000400 ;Extended Instruction Set present SYSGEN =: 372 ;Sysgen options word MMGT$ =: 000002 ;Extended memory support RTEM$ =: 000010 ;RTEM bit STASK$=: 040000 ;System job support TSXP$ =: 100000 ;Non-RT-11 system MONAME =: 406 ;Booted monitor name $PNAME =: 404 ;Offset to $PNAME table $NULJB =: 444 ;Pointer to null job code BRDOT2=:401 ;BR .+2 INCLB =:5227 ;INC #... KMONIN =: 450 ;<> means KMON is BG job $CNFG3 =: 466 ;Configuration word 3 CF3.64=: 400 ; Extended unit support $SLOT2 =: 502 ; $SLOT*2 value ; Job Status Word Definitions JSW =: 44 ;Address of JSW NOWAIT =: 000100 ;don't wait for terminal I/O $VIRT =: 002000 ;Virtual Job (which RTMON isn't) SPMODE =: 010000 ;Special TT mode in JSW ; Channel Definitions CSWMSK =: ^C<76> ;Mask for device index in CSW C.UNIT =: 11 ;Offset in channel of device unit byte ; PSW Definitions PR0 =: 000000 ;Priority 0 mask PR7 =: 000340 ;Priority 7 mask ;Character definitions SEP =: '- ; Separator Bel =: 007 ;Bell character HT =: 011 ;Horizontal tab char LF =: 012 ;Line feed CR =: 015 ;Carriage return SO =: 016 ;Shift out SI =: 017 ;Shift in Ctrl.R =: 'R-100 ;^R Ctrl.W =: 'W-100 ;^W Ctrl.Z =: 'Z-100 ;^Z ESC =: 033 ;Escape character SPC =: 040 ;Space character A.Dot =: '. ;Dot A.Coln =: ': ;Colon A.Pcnt =: '% ;Percent A.Zero =: '0 ;Zero character G.CkBd =: 141 ;Line-drawing set checkerboard NoCrLf =: 200 ;Suppress CR LF terminator E.CSI =: '[ ;Esc command string introducer E.PVT =: '? ;Esc private introducer E.SEP =: '; ;Esc separator E.VT52 =: '2 ;Esc SM/RS VT52 emulation parameter E.RM =: 'l ;Esc reset mode E.HOME =: 'H ;Esc home E.CUP =: 'H ;Esc cursor position E.EEOS =: 'J ;Esc erase to end of screen E.CURS =: 'Y ;Esc (VT52) cursor positioning E.GRAF =: 'F ;Esc (VT52) enter graphics mode E.ANSI =: 'G ;Esc (VT52) enter ANSI mode E.EEOL =: 'K ;Esc erase to end of line E.V100 =: '< ;Esc (VT52) enter VT100 mode E.SCS1 =: ') ;Esc SCS intermediate for G1 E.LDS =: '0 ;Esc SCS terminal for Line-drawing set .SBTTL Blocking, State Conditions ; The following macro is used to define masks on I.BLOK and the ; corresponding messages to be printed. .MACRO BITDEF BIT,REASON,LABEL .WORD BIT .IIF NB