.MCALL .MODULE .MODULE RESCNF,VERSION=6,COMMENT=,IDENT=NO ; 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. ;++ ; Edit Who Date Description of modification ; ---- --- ---- --------------------------- ; 001 WLD 16-NOV-90 Eliminate reference to MONSF ; (FBMON$). ; 002 WLD 20-NOV-90 Under mapped monitors, show ; RUN is set [NO]VBGEXE ; 003 WLD 29-NOV-90 Under unmapped monitors, show ; MODE is set [NO]SJ ; 004 WLD 03-DEC-90 Under mapped monitors, show ; MODE is set [NO]SJ ;-- ; Edit History: ; 001 George Stevens Overlaid version of RESORC. Created ; from RESORC Version 97 ; 002 22-MAR-90 Bill Gavin Add 'Show CLI' line to SHOW CONFIG display .ENABL LC .NLIST BEX ; Declare External Macros ; .MCALL .CLIDF .MCALL .GVAL .PEEK ; Define CLIFLG offsets ; .CLIDF $INDDV =: 426 ;Fixed offset pointer to INDDEV CLIFLG =: -2 ;CLI flags UCFON =: 001 ;UCF on DCLON =: 002 ;DCL on CCLON =: 004 ;CCL on UCLON =: 010 ;UCL on UCFKMN =: 200 ;UCF to KMON command passing CLITYP =: -1 ;CLI type UCFRUN =: 000 ;UCF running DCLRUN =: 001 ;DCL running CCLRUN =: 002 ;CCL running UCLRUN =: 003 ;UCL running INDDEV =: 0 ;IND device name FBMON$ =: 000001 ;Added to support showing ;MODE is set [NO]SJ. ;Used only by RESCNF in RESORC. ;Should be defined by the .CF1DF ;macro in SYSTEM.MAC. EMTARE::.BLKW 10. ; MAXIUM SIZE REQUEST. ATCLIF::.WORD 0 ; Addr of CLIFLG CLIFL:: .WORD 0 ; Word to hold CLI flag byte CLISET::.WORD 0 ; hi byte 0 if running as UCF ; hi byte <> if not running as UCF ; low byte CLIFLG value on entry ; with UCFON and UCFKMN or'ed in. .NLIST .INCLUDE /SRC:RESPFX.MAC/ .LIST .SBTTL SYSTAT - Print the current system status ;+ ;This routine displays the system software configuration. ;- ORIGIN RESCNF .ENABL LSB CONFIG:: FORMAT #BUFFER,,<#MONDEV,#1,#MONAME,#2> .PRINT #BUFFER ;Tell where booted from MOV $CNFG1(R5),R1 ;R1 = Configuration word 1. CLR XMFLAG ;Init XMFLAG BIT #C1.XM,R1 ;Is this XM? BEQ 10$ ;No, then 22 bit addressing won't be on. INC XMFLAG ;Say we're using XM CMP $MEMSZ(R5),#<248.*32.> ;Is there more than 248KB. BLOS 10$ ;No, then don't report. PRINT Q22ON,<22 bit addressing is on> 10$: .GTJB #AREA,#BUFFER ;Are we the foreground job? TST BUFFER ;No, job number is 0 BNE 20$ ;Branch if so... user should know it BIT #C1.FJOB,R1 ;Is a foreground job running? BEQ 20$ ;Branch if not PRINT FGJOB, 20$: .PRINT #CRLF ;Space it out. PRINT USRSET,^%USR is set \<200>\% ;Tell how the USR is set. BIT #C1.USR,R1 ;Is it NO? BEQ 30$ ;Branch if not .PRINT #NO ;Else say so 30$: .PRINT #SWAP PRINT XITSET,^%EXIT is set \<200>\% ;Tell what EXIT is set. BIT #C2.XSW,$CNFG2(R5) ;Is it NO? BEQ 40$ ;Branch if not .PRINT #NO ;Else say so 40$: .PRINT #SWAP PRINT INDSET,^%KMON is set \<200>\% BIT #S.IND,$STWRD(R5) ;Is IND processing on? BNE 50$ ;Yes .PRINT #NO ;No 50$: PRINT INDON, ;Report IND/NOIND TST XMFLAG ;Mapped monitor? BEQ 52$ ;BR if not. PRINT RUNSET,^%RUN is set \<200>\% ;RUN is set [NO]VBGEXE BIT #CF3.VB,$CNFG3(R5) BNE 51$ ;BR if RUN is set VBGEXE. .PRINT #NO 51$: .PRINT #VBG 52$: PRINT MODSET,^%MODE is set \<200>\% ;MODE is set [NO]SJ BIT #FBMON$,$CNFG1(R5) ;Has mode been set SJ? BEQ 53$ ;BR if not. .PRINT #NO 53$: .PRINT #SJ PRINT TTSET,^%TT is set \<200>\% ;Tell him how loud TT is. BIT #S.ECHO,$STWRD(R5) ;Well? BNE 60$ ;Branch if QUIET .PRINT #NO ;Say NO 60$: PRINT QUIET, ;Say QUIET PRINT IFABLV,^%ERROR is set \<200>\% ;Tell him what the abort level is MOV #ABSLEV,R1 ;Point to abort level strings MOVB $IALEV(R5),R2 ;Get the level it's set to 70$: TST @R1 ;End of table? BEQ 80$ ;Branch out if yes BITB @R1,R2 ;Error level match? BNE 80$ ;Branch if yes CMP (R1)+,(R1)+ ;Position pointer to next mask BR 70$ ;Loop back for next check 80$: TST (R1)+ ;Point to appropriate message of ERROR setting .PRINT @R1 ;Print the level PRINT SLSET,^%SL is set \<200>\% ;Tell how SL is set BIT #C1.SL,$CNFG1(R5) ;Is SL on? BNE 100$ ;If yes, branch BIT #C1.SLKM,$CNFG1(R5) ; Is SL set KMON BEQ 90$ .PRINT #SLKMON ;KMON BR 110$ 90$: .PRINT #OFF ;No BR 110$ 100$: .PRINT #ON ;Yes 110$: PRINT EDSET,^%EDIT is set \<200>\% MOV #EDIVAL,R1 ;Get start of edit value table MOV #EDIPRT,R0 ;Get start of edit msg table MOVB PROGDF(R5),R2 ;Get the editor type byte BICB #DEFALT,R2 ;Ignore any defalt flagging 120$: TSTB @R1 ;At end of the editor list? BEQ 130$ ;If yes, branch CMPB R2,(R1)+ ;Found it? BEQ 150$ ;If yes, branch TST (R0)+ ;Bump msg pointer BR 120$ 130$: TST XMFLAG ;Are we running XM? BEQ 140$ ;If not, branch CMPB R2,KEXVAL ;Is it KEX? BEQ 150$ ;If yes, branch 140$: .PRINT #PUNK ;Else unknown .PRINT #CRLF ;Print SET EDIT is Unknown BR 160$ 150$: .PRINT @R0 ;Print editor 160$: PRINT FOSET,^%FORTRAN is set \<200>\% TST XMFLAG ;Are we running XM? BNE 170$ ;If so, branch CLRB F77+3 ;Clear out XM suffix, make F77XM into F77 170$: MOV #FORVAL,R1 ;Get start of FORTRAN value table MOV #FORPRT,R0 ;Get start of FORTRAN msg table MOVB PROGDF+1(R5),R2 ;Get the FORTRAN editor type byte BICB #DEFALT,R2 ;Ignore any defalt flagging 180$: TSTB @R1 ;At end of the FORTRAN list? BEQ 190$ ;If yes, FORTRAN is unknown CMPB R2,(R1)+ ;Found it? BEQ 200$ ;If yes, branch TST (R0)+ ;Bump msg pointer BR 180$ 190$: .PRINT #PUNK ;Else unknown .PRINT #CRLF ;Print SET FORTRAN is Unknown BR 210$ 200$: .PRINT @R0 ;Print compiler 210$: MOVB $IDDEP(R5),R1 ;Get the indirect file nesting depth BIC #177400,R1 ; FORMAT #BUFFER,, .PRINT #BUFFER ;Print it ; Display Global Control C status BIT #,$CNFG2(R5) ;Global .SCCA? BEQ 300$ ;Branch if not PRINT SCCAST,^%Global .SCCA flag is \<200>\% ; How is global .SCCA? ;>>>here we should check all 4 bits BITB #,INDSTA(R5) ;Is Global .SCCA on? BNE 230$ ; If yes, branch PRINT DSB, ; Say it's off BR 300$ ; Return 230$: PRINT ENB, ; Say it's on ; BR 300$ ; Return ; Display CLI status ; Get the CLI flag bits from Fixed Area 300$: .PRINT #CRLF ; Space it out. .GVAL #EMTARE,#$INDDV ; Get addr of INDDEV ADD #CLIFLG-INDDEV,R0 ; Get addr of CLIFLG/TYP MOV R0,R1 ; Save this addr MOV R1,ATCLIF ; and in memory .PEEK #EMTARE,R1 ; Get CLIFLG/TYP MOV R0,CLIFL ; Save old value PRINT CLSET,^%CLI is set \<200>\% ; "CLI is set " BIT #,CLIFL ; DCL status BNE 310$ PRINT SNO,\> 310$: PRINT CLDCL,\> ; "DCL" BIT #,CLIFL ; CCL status BNE 320$ PRINT SNO 320$: PRINT CLCCL,\> ; "CCL" BIT #,CLIFL ; UCL status BNE 330$ PRINT SNO 330$: PRINT CLUCL,\> ; "UCL" BIT #,CLIFL ; UCF status BNE 340$ PRINT SNO 340$: PRINT CLUCF, ; "UCF" 500$: RETURN .DSABL LSB .END