JOBST2.LIT
                              Job Status Monitor

                       Original JOBSTS by Irv Bromberg

                           JOBST2.LIT for AMOS 2.x
                            by James A. Jarboe IV
                               Version 2.0(101)

I always found JOBSTS.LIT to be an extremely helpful tool for monitoring a 
job's JCB and attached TCB when programming. The original JOBSTS did have
some drawbacks. Source code was not available and all JCB offsets and flags
where limited to AMOS 1.3D. JOBSTS.LIT only displayed some of the JCB offsets
and a very limited display of TCB information so all information could fit
on one 80 X 24 screen.

After some mild disassembly, major bit fidling and inane revelations during
a caffiene frenzy in the wee hours of the morning, JOBSTS.LIT has been
enhanced to work with AMOS 2.x as JOBST2.LIT.

JOBST2.LIT requires AMOS/L 2.x or later and is re-entrant and re-usable.
It also has a screen display similar to the original JOBSTS for a job's
JCB, TCB and address registers. 

There is also an option to display ALL JCB offset information for a job and
ALL TCB information for a TRMDEF attaced to a job. These displays can be
accessed by pressing a J, or ^J for complete JCB information, and K or ^K
for complete TCB information for a TRMDEF attached to the current job 
displayed.

Also, JOBST2.LIT can display the SYSTEM communications area by pressing
^Z or Z.

JOBST2 assumes that the user's display screen size is 24 rows by 80 columns.

JOBST2 responds to the following control commands which may be typed as
control codes or as alphabetic letters in uppercase or lowercase:

^A              show normal standard display with registers.
^C              quit, return to monitor-level.
^D              show all numbers in DECIMAL radix (base 10).
^E (Shift-Home) switch to last job in system.
^H              show all numbers in HEX radix (base 16).
^J (Down Arrow) show more of and only JCB information.
^K (Up Arrow)   show more of and only TCB information for attached TRMDEF.
^M (Return)     repaint screen.
^N              show normal standard display with registers.
^O              show all numbers in OCTAL radix (base 8).
^P              take picture of screen, send output to JOBSTS.LOG.
^Q              resume updating display (after freeze command used).
^R (Prev Page)  switch to previous job (loop around to last job).
^S              freeze display, only responds to ^Q command to resume.
^T (Next Page)  switch to next job (loop around to first job).
^Z              display SYSTEM communications area.
^^ (Home)       switch to first job in system.
^[ (Escape)     same as CTRL-C:  quit, return to monitor-level.
^-              toggle signed/unsigned register contents display (dft=signed).
0               switch to originally specified job.
1-9             switch to job number 1-9 depending on which number hit.
?               display this help screen.

When the job status is being displayed it is constantly updated to reflect
any activity in the monitored job.   A line is redisplayed only when it
changes. This speeds up display and lowers system hog time.

At the right end of the JOBPRV line, JOBST2 displays some numbers, for
example "Job# 3/16/17" which means that the monitored job is the third job
in a system with 16 jobs assigned and 17 jobs allocated.

The number immediately to the right of JOBCMS: is the size of the command
file currently being processed, in bytes.  The number and character at the
right end of the JOBCMS line is the character in JOBCMS+1(JCB) which is a
special memory location used by the monitor in processing command files.

The JOBUSR field shows the job's current login as dev#:[p,pn] but if that
location is defined as an ersatz device this info will be preceded by
the ersatz device name.

The JOBRTD field shows the job's current root account as dev#:[p,pn]. If that
location is defined as an ersatz device this info will be preceded by 
the ersatz device name.

The IDVCHR field shows the set characteristic flag values for the current
I/O device.

The TDVFLG field shows the set characteristic flag values for the current
terminal driver.

Each time a picture is taken the entire screen is also updated.  The picture
is appended to JOBSTS.LOG if it already exists otherwise a new JOBSTS.LOG
file is created.  Each picture has a header line containing a date-time
stamp.  Blank lines on the screen are not sent to the log file.

JOBST2.LIT is an enhanced version of the original JOBSTS.LIT by Irv Bromberg.
The major enhancements are:

 o  Will only work on AMOS 2.x or greater.

 o  AMOS 2.x compatibilty with JCB offsets and flag values.

 o  AMOS 2.x compatibility with TCB offsets and flag values.

 o  Supports TRMRST and TRMWST.

 o  ^J or J displays full JCB information.

 o  ^K or K displays full TCB information.

 o  ^N, N, ^A or A, displays selected JCB, TCB and address registers.

 o  Output to JOBSTS.LOG is LOKSER compatible so multiple jobs may
    output to the same log file.

 o  Displays the IDV flags for I/O drivers on TCB information.

 o  Displays the TDV flags for terminal drivers on TCB information.

 o  Displays the SYSCOM area.

Although this program is distributed as JOBST2.LIT, I would rename it to
JOBSTS.LIT and discard the old original JOBSTS.LIT if you are up and running
AMOS 2.x or greater.

The following are examples of the 4 different screen types that can be
displayed or monitored for any job. The bold letters on fields such as
JOBPRV, JOBSTS, JOBTYP, etc indicated that these flag values are set.
Lower case indicates that the flag value is not set. On the screen display
the upper case letters are also in bright display, while the lower case
letters are in dim display.

The initial JOBST2.LIT screen display.

==================== JOBSTS.LIT 2.0(101) 9-Jun-94 01:18:41 ====================
JOBNAM=JOB1       JCB=225376   JOBPRI=13.      JOBCPU=2436379. JOBPRG=JOBSTS 
JOBBAS=24010204JOBSIZ=1044348. JOBATT=0        JOBUSR=DSK1:[50,45] 
JOBSPR=233324  JOBUSP=231664   JOBSSP=227404   JOBRTD=DSK1:[50,45] 
JOBTBE=233324  JOBBPT=0        JOBTRC=0        JOBRBK=DSK0:JOBSTS.LIT[1,4] 
JOBDSR=476752  JOBDSW=104051   JOBMSR=0        JOBUSN=James A. Jarboe I V 
JOBPRV: RSM WSM RPD WPD DIA OPR PRV  Job# 1/19/24 
JOBSTS: tiw tow slp iow exw smw ccc msg mon siw plk sus lok fil nxt 
JOBTYP: usr nul new lpt hex DER ver CCA grd tsk cab pre pro srq prm nlk 
JOBTY2: rem agt BTG red 
JOBCMS: 0 mon sil trc kin ptl int 12 ^J 
D0: 30506      D1: 50          D2: 3261032     D3: 36152 
D4: 44640      D5: 36152       D6: 5           D7: 225376 
A0: 134607     A1: 225376      A2: 52230       A3: 24054651 
A4: 4000000015 A5: 51774       A6: 51774       PC: 12377000000 
US: 233312     SS: 231534      SR: t s xnzvc 
TRMNAM=TERM1   TCB=3261032     TDV=AM65        IDV=AM135=0:38400 
T.STS: IMI ECS lcl dat ilc xlt nfk OIP led asn dis VLD ldt ext osp 
IBS=150 ILS=150 ICC=0 BCC=0 ECC=0 OBS=150 POB=4382 POO=6058 LCH=160 p 
IBF= 
ILB=JOBSTS JOB1^M^J 

*** Display ALL JCB information for a job by pressing J

==================== JOBSTS.LIT 2.0(101) 9-Jun-94 01:18:47 ====================
JOBNAM=JOB1       JCB=225376   JOBPRI=13.      JOBCPU=2438013. JOBPRG=JOBSTS 
JOBBAS=24010204JOBSIZ=1044348. JOBATT=0        JOBUSR=DSK1:[50,45] 
JOBSPR=233324  JOBUSP=231664   JOBSSP=227404   JOBRTD=DSK1:[50,45] 
JOBTBE=233324  JOBBPT=0        JOBTRC=0        JOBRBK=DSK0:JOBSTS.LIT[1,4] 
JOBDSR=477066  JOBDSW=104120   JOBMSR=0        JOBUSN=James A. Jarboe I V 
JOBPRV: RSM WSM RPD WPD DIA OPR PRV  Job# 1/19/24 
JOBSTS: tiw tow slp iow exw smw ccc msg mon siw plk sus lok fil nxt 
JOBTYP: usr nul new lpt hex DER ver CCA grd tsk cab pre pro srq prm nlk 
JOBTY2: rem agt BTG red 
JOBCMS: 0 mon sil trc kin ptl int 12 ^J 
JOBSIM: top us4 us3 us2 us1 tim itc tin 
JOBSIP: top us4 us3 us2 us1 tim itc tin 
JOBEXI=0       JOBERC=0        JOBWAT=0        JOBFPE=0        JOBCON=26:31:07 
JOBFPC=0       JOBDSC=24264550 JOBLVL=100.     JOBEXP=100.     JOBFCP=0 
JOBERR=0       JOBSIV=0        JOBSIT=0        JOBERS=0        JOBPLK=0 
JOBESP=5701414 JOBIEE=0        JOBRFU=0        JOBRMF=0        JOBNTB=0 
JOBRES=0       JOBTSP=0        JOBSIS=0        JOBCOF=0        JOBROF=0 
JOBDFP=505051717               JOBTRM=3261032  JOBLNG=205014   ENGLISH 
JOBPRM=. 
JOBCMD= 

*** Display TCB information for TRMDEF attached to a job by pressing T

==================== JOBSTS.LIT 2.0(101) 9-Jun-94 01:18:44 ====================
TRMNAM=TERM1   TCB=3261032     TDV=AM65        IDV=AM135=0:38400 
 T.STS: IMI ECS lcl dat ilc xlt nfk OIP led asn dis VLD ldt ext osp 
T.STS2: ocp acq jlvl 
 T.MRP: mro mrf 
IDVCHR: ASNC sync TRTS RRTS CTS BGEN drcv jlvl smrt 
TDVFLG: alp BLF KID clr MLT AMS STS LCL EOL EOS UND BLN DIM RVA CID LID 
        PRT 132 SMT BOX MOD phr NSP gra gry pro VRC ext 
T.OQX:163446   T.OBX:36        T.OBF:3275100   T.OBD:1752 
T.IMP:3274154  T.SEM:0         T.LED:0         T.FXT:0 
T.INC:0        T.OTC:0         T.EXC:0         T.MDV:0 
T.TCX:0        T.MBF:0         T.MLT:0         T.ASJ:0 
T.IBF:3274424  T.ILB:3274174   T.TDF:234       T.JLK:225376    JOB1 
T.IDV:3261276  T.TDV:3270672   T.AWAT:0 
IBS=150 ILS=150 ICC=0 BCC=0 ECC=0 OBS=150 POB=11639 POO=12582 LCH=160 p 
IBF= 
ILB=JOBSTS JOB1^M^J 

** Display of SYSCOM area by pressing Z

==================== JOBSTS.LIT 2.0(101) 9-Jun-94 01:18:52 ====================
SYSNAM:AMOS 2.2C(452)-4        SYSLNG:205014   ENGLISH 
SYSTEM:  UP lnk cpa net lok m10 CPB vnt tst cpc LNG nbp hfp M20 SIS m30 
        EXD nel cpd TBX EXT car cpe CPF cpg m40 
SYSTEM1: CTCC AMSL amlc rr jr cpu32 
DEVTBL:3355622 DDBCHN:0        MEMBAS:11731204 MEMEND:30000000 SYSBAS:3703622 
JOBTBL:273164  JOBCUR:225376   JOBESZ:5726     LOKSEM:1        LOKSE2:0 
TIMQUE:210434  WEREUP:171441   SPXSAV:0        SPXINT:4314     LPTQUE:0 
TRMDFC:3261022 TRMIDC:42542    TRMTDC:42752    LOKADR:55232    UPTIME:26:31:24 
NETTBL:0       NETBUF:0        DCACHE:63516    WHYBOT:52777    HLDADR:0 
HLDVAL:0       TMRLOK:0        HLDTIM:0        DRVTRK:37777777777 
SCKTLS:161752  ZSYDSK:207014   SYSMEM:0        SYSLNK:30000000 SCLKON:377 
 QFREE:706     QFREE2:162456   MEMQUE:157662   SYSUFD:0        DVRUFD:0 
CMDUFD:0       BASUFD:0        ERSATZ:3522676  AMGDSP:0        SCHSEM:0 
QUESEM:177400  RIOQUE:0        LEDDSP:0        TRMFXC:0        TRMMDC:0 
HRBCMD:14362   PRESEM:0        PREFLG:0        PREJCB:0        NULTMR:17562 
FPNPTR:0       HRBERR:0        MTSRES:3263372  LOKFLH:162566   USMEXT:14354 
SVCPTR:4352    RFDVEC:14356    RFDPTR:0        PLKJCB:0        PLKCNT:0 
TIMIDX:23244   ESPVEC:5401752  DDBSEM:0        DDBSM2:0        HCFLAG:0 
SMEMSM:177400  SYSCOF:0        TBXDSP:5401706  RPCDSP:0        EXTDSP:0 
QXFRAD:56010   ETHZON:0        TTYPTR:44300    XTABLE:0        TDEFPL:0 
UNXVEC:1       OSI4VC:0        NETVEC:110174   SCHEDW:0        SEM522:0 
VEC522:0       FLEVEL:210616104TOUTPT:30332    MSGBFE:3703622  SCZDSP:0 
CPUTYP:4 - AM135