.TITLE STATUS .IDENT /03DEC6/ ; ; STATUS TASK TO DISPLAY SYSTEM STATUS ; ; AUTHOR: M. KELLOGG ; SYSTEM: RSX-11D ; DATE: 17-NOV-76 ; REVISIONS: ; 19-NOV-76 (MK) ATL DISPLAY ADDED. ; 23-NOV-76 (MK) TERMINALS DISPLAY ADDED. ; 23-NOV-76 (MK) UNLOCKS DISPLAY TERMINAL IF IT IS LOCKED ; 24-NOV-76 (MK) UNLOCK CODE COMMENTED OUT (NOT NEEDED, SINCE THE ; DISPLAY NO LONGER HAS A TERMINAL CHARACTERISTIC.) ; 3-DEC-76 (MK) CODE ADDED TO DISPLAY STARTUP TIME (SEE 'NODES' ; SUBROUTINE) ; ; THIS TASK DISPLAYS SYSTEM STATUS INFORMATION ON THE TEC SCOPE. ; IT SHOULD BE SCHEDULED TO RUN AT SOME FAIRLY FREQUENT INTERVAL, LIKE ; 1 OR 2 SECONDS. FOR BEST RESULTS, IT SHOULD BE FIXED IN MEMORY. ; ; NOTE: WHEN STATUS IS INITIALLY LOADED AND RUN, THE SCREEN IS ERASED, ; AND THE STARTUP TIME IS WRITTEN ON THE DISPLAY. ; THEREAFTER, THE SCREEN IS NOT ERASED, AS LONG AS STATUS IS FIXED. ; ; AT PRESENT, THE FOLLOWING DISPLAYS ARE IMPLEMENTED: ; ; 0. STARTUP TIME (1 LINE, STARTING AT 0) ; 1. FREE NODES, DATE AND TIME (1 LINE, STARTING AT 1) ; 2. MOUNTED VOLUMES (3 LINES, STARTING AT 3) ; 3. TERMINAL INFORMATION (2 LINES, STARTING AT 7) ; 4. ATL (7 LINES, STARTING AT 10) ; LUN==1 ;LUN FOR TEC SCOPE PAR2=177644 PDR2=177604 ; .MCALL QIOW$,EXIT$S,DIR$ ; .MACRO .INH MOV @#PS.EXP,-(SP) BISB #340,@#PS.EXP .ENDM .INH ; .MACRO .ENB MOV (SP)+,@#PS.EXP .ENDM .ENB ; SETCUR::QIOW$ IO.WLB+8.,LUN,1,,,, CURBUF: .BYTE 33,'F CURCH:: .BYTE 177 CURLIN::.BYTE 177 .BYTE 33,'S ERASE: QIOW$ IO.WLB+8.,LUN,1,,,, ERBUF: .BYTE 34 ERFLG: .BYTE 0 LINOUT::QIOW$ IO.WLB+8.,LUN,1,,,, CHCNT==LINOUT+Q.IOPL+2 ;CHAR COUNT PARAM FOR LINE OUTPUT BUFF:: .BLKB 100. ; STATUS: ; MOV .CRTSK,R0 ;POINT TO CURR TASK ATL ; .INH ;INTERRUPTS OFF ; MOV A.HA(R0),@#PAR2 ;MAP TO TASK HEADER ; MOV #3402,@#PDR2 ;1000 BYTES, READ ONLY ; MOV H.LUT+<4*LUN>+37776,R0 ;GET DISPLAY PUD ADDR ; .ENB ;INTERRUPTS ON ; BITB #UF.TL,U.FB(R0) ;DISPLAY LOCKED OFF? ; BEQ 1$ ;NO ; BICB #UF.TL+UF.OFL,U.FB(R0) ;YES - UNLOCK IT MOV #1,R0 ;NORMAL LINE NUMBER FOR NODE DISP 1$: TSTB ERFLG ;ERASE FLAG SET? BNE 10$ ;NO DIR$ #ERASE ;ERASE SCREEN CLR R0 ;DO SPECIAL STARTUP DISPLAY INCB ERFLG ;RESET ERASE FLAG 10$: ; ; GENERATE DISPLAYS ; CALL NODES MOV #3,R0 CALL MVOL MOV #7,R0 CALL TERMS MOV #10.,R0 CALL ATL EXIT$S .END STATUS