

Ready

HZLDPY  10:30 AM        10-Apr-73
1 !!!!!!!! HAZELTINE DISPLAY 4A EDIT 2 11/25/72 !!!!!!!!!
2 ! EDIT 2/27/73  R .N. BIALAC   IIS.
3 !  PRESENTED TO USERS OF HAZELTINE 2000 ON DEC SYSTEMS


     BY  INTERACTIVE INFORMATION SYSTEMS
         P.O. BOX 37403
         CINCINNATI, OHIO  45222

  MODIFIED FROM DEC VT5DPY BY RICK BIALAC AND KIM SHERIDAN
100   DIM J%(15,6),B%(7,1),D%(4,3),C%(5),M%(30),T(15)
150   INPUT "INTERVAL";S9% : IF S9%=0% THEN S9%=15%
200   J%(I%,0%)=-1% FOR I%=0% TO 15% :
        B%(I%,0%)=-1% FOR I%=0% TO 7% :
        D%(I%,0%)=-1% FOR I%=0% TO 4% :
        C%(I%)=0% FOR I%=0% TO 3% :
        C%(4%)=PEEK(2048%) : C%(5%)=PEEK(2050%)
300   CHANGE SYS(CHR$(6%)+CHR$(-3%)) TO M% :
        M%(I%)=M%(I%)+SWAP%(M%(I%+1%)) FOR I%=5% TO 27% STEP 2%
399    !  CLEAR      SC REEN
400  GOSUB9990:X%, Y%= 0%
402 S$=SYS(CHR$(6%)+CHR$(9%)+CHR$(0%))
403 R9$="STATUS ON "+DATE$(C%(4%))+"  "+TIME$(C%(5%))+" UP:"
404    I%=FNS%(1%,0%,MID(S$,3%,INSTR(3%,S$,CHR$(0%))-3%))
405 I%=FNS%(29%,0%,R9$)
410   I%=FNS%(0%,2%,"JOB   WHO  WHERE  WHAT SIZE STATE  RUN-TIME")+
        FNS%(51%,2%,"BUSY DEVICES")+
        FNS%(45%,3%,"DEV JOB WHY  DEV JOB WHY")+
        FNS%(50%,9%,"DISK STRUCTURE")+
        FNS%(47%,16%,"SML  BIG   ERS  TTY")
420  I%=FNS%(49%,17%,"0    0     0    0" ): GOSUB 10000
421 GOSUB 10000
1000 J9%,J%=0%: GOSUB 10000
1010  J%=J%+2% : J0%=PEEK(J%+M%(11%)) : IF J0%<0% THEN 2000 ELSE
        IF J0%=0% THEN 1010 ELSE J8%=0% :
        IF J%(J9%,0%)<>J% THEN J%(J9%,0%)=J% : J8%=1% :
        I%=FNS%(0%,J9%+3%,NUM$(J%/2%))
1020  J1%=PEEK(J0%+20%) : IF J8% OR J%(J9%,1%)<>J1% THEN
        J%(J9%,1%)=J1% ELSE 1050
1030  S$=" **,** " : IF J1% THEN
        S$=NUM$(ASCII(CHR$(SWAP%(J1%)))) :
        S$=SPACE$(5%-LEN(S$))+MID(S$,2%,LEN(S$)-2%)+","+
        RIGHT(NUM$(ASCII(CHR$(J1%))),2%) :
        S$=S$+SPACE$(7%-LEN(S$))
1040  I%=FNS%(4%,J9%+3%,S$)
1050  J1%=PEEK(PEEK(J0%)) :
        J2%=ASCII(CHR$(SWAP%(PEEK(J1%+28%))))/2% :
        IF ASCII(CHR$(PEEK(J1%+2%)))<>J% THEN J2%=-1%
        ELSE IF PEEK(J1%+30%) AND 8192% THEN 1060 ELSE J2%=-1%
1060  IF J8% OR J%(J9%,2%)<>J2% THEN J%(J9%,2%)=J2% ELSE 1100
1070  IF J2%=-1% THEN S$="DET " ELSE
        S$="KB"+RIGHT(NUM$(J2%),2%)
1080 I%=FNS%(12%,J9%+3%,S$)
1100  J1%=PEEK(J%+M%(23%)) : IF J8% OR J%(J9%,3%)<>J1% THEN
        J%(J9%,3%)=J1% : I%=FNS%(17%,J9%+3%,RAD$(J1%))
1110  J1%=PEEK(J%+M%(25%)) : IF J8% OR J%(J9%,4%)<>J1% THEN
        J%(J9%,4%)=J1% : I%=FNS%(20%,J9%+3%,RAD$(J1%))
1120  J1%=ASCII(CHR$(PEEK(J0%+16%))) :
        IF J8% OR J%(J9%,5%)<>J1% THEN J%(J9%,5%)=J1% :
        I%=FNS%(24%,J9%+3%,CHR$(48%+J1%)+"K")
1130  J1%=PEEK(J%+M%(15%)) : J2%=1% : IF J1% AND PEEK(J%+M%(13%))
        THEN 1160 ELSE J2%=J2%+2% : IF J1%<0% THEN 1160 ELSE
        J1%=J1%/4%
1140  J2%=J2%+2% : IF J1% AND 1% THEN 1160 ELSE J1%=J1%/2% :
        IF J1% THEN 1140
1160  T%=SWAP%(J2%) : J1%=M%(9%)
1170  T1%=PEEK(J1%) : IF T1%=-1% THEN T%=T%+1% ELSE
        IF ASCII(CHR$(T1%))<>J% THEN J1%=J1%+2% : GOTO 1170
1180  IF T% AND 1% THEN S$=" SW" ELSE S$="   "
1190  IF J8% OR J%(J9%,6%)<>T% THEN J%(J9%,6%)=T% :
        I%=FNS%(28%,J9%+3%,MID("RNRSHBXXFPSLCRMTLPDTPPPRTTKBDF",
        J2%,2%)+S$)
1200  T=PEEK(J0%+8%) : IF T<0 THEN T=T+65536.
1210  IF J8% OR T(J9%)<>T THEN T(J9%)=T ELSE 1900
1220  T0=T : T=INT(T/10.) : T0=T0-T*10. : GOSUB 29000 :
        S$=SPACE$(7%-LEN(S$))+S$+"."+CHR$(48%+T0) :
        I%=FNS%(34%,J9%+3%,S$)
1900  J9%=J9%+1% : GOTO 1010
2000  IF J9%<>16% THEN IF J%(J9%,0%)<>-1% THEN
        I%=FNS%(0%,J9%+3%,SPACE$(43%)) : J%(J9%,0%)=-1% :
        J9%=J9%+1% : GOTO 2000
2010  J%=46% : FOR J0%=1% TO 4% : ON J0% GOTO 2020,2030,2040,2050
2020  J1%=PEEK(2110%) : GOTO 2060
2030  J1%=PEEK(2114%) : GOTO 2060
2040  J1%=ASCII(CHR$(PEEK(2%))) : J%=J%+1% : GOTO 2060
2050  J1%=ASCII(CHR$(SWAP%(PEEK(2%))))
2060  IF J1%<>C%(J0%-1%) THEN C%(J0%-1%)=J1% :
        S$=NUM$(J1%) : I%=FNS%(J%,17%,SPACE$(5%-LEN(S$))+S$)
2070  J%=J%+5% : NEXT J0% : J%=M%(21%) : J1%=M%(17%) : T%=1% :
        T1%=M%(19%) : J9%=0% : GOSUB 3000 : GOSUB 3000 :
        GOSUB 3000 : GOTO 4000
3000  FOR J0%=0% TO PEEK(M%(5%)+T%-1%) : J2%=PEEK(T1%) :
        IF J2%<0% THEN 3900 ELSE J8%=0%
3010  IF J8% OR D%(J9%,0%)<>SWAP%(J0%)+T% THEN J8%=1% :
        D%(J9%,0%)=SWAP%(J0%)+T% :
        I%=FNS%(45%,J9%+10%,MID("DFDKDP",T%,2%)+
        RIGHT(NUM$(J0%),2%))
3020  T$="" : IF J8% OR D%(J9%,1%)<>J2% THEN D%(J9%,1%)=J2% :
        S$=NUM$(ASCII(CHR$(J2%))) :
        I%=FNS%(49%,J9%+10%,SPACE$(5%-LEN(S$))+RIGHT(S$,2%)) :
        IF J2% AND 16384% THEN T$="PRI" ELSE T$="PUB"
3030  IF J8% OR D%(J9%,2%)<>PEEK(J%) THEN D%(J9%,2%)=PEEK(J%)
        ELSE 3060
3040  T=D%(J9%,2%) : IF T<0 THEN T=T+65536.
3050  S$=NUM$(T) : I%=FNS%(53%,J9%+10%,SPACE$(7%-LEN(S$))+
        RIGHT(S$,2%))
3060  IF J8% OR D%(J9%,3%)<>PEEK(J1%) THEN D%(J9%,3%)=PEEK(J1%)
        ELSE 3080
3070  S$=NUM$(ASCII(CHR$(D%(J9%,3%)))) :
        I%=FNS%(59%,J9%+10%,SPACE$(4%-LEN(S$))+RIGHT(S$,2%)) :
        S$=NUM$(ASCII(CHR$(SWAP%(D%(J9%,3%))))) :
        I%=FNS%(62%,J9%+10%,SPACE$(4%-LEN(S$))+RIGHT(S$,2%))
3080  IF T$="" THEN 3100 ELSE IF J2% AND 8192% THEN
        T$=T$+"+LK" ELSE T$=T$+"   "
3090  I%=FNS%(65%,J9%+10%,T$)
3100  J9%=J9%+1%
3900  T1%=T1%+2% : J%=J%+2% : J1%=J1%+2% : NEXT J0% : T%=T%+2% :
        RETURN
4000  IF J9%<>5% THEN IF D%(J9%,0%)<>-1% THEN
        I%=FNS%(45%,J9%+10%,CHR$(30%)) : X%=X%-1% :
        D%(J9%,0%)=-1% : J9%=J9%+1% : GOTO 4000
5000  T1%=M%(5%)+6% : T%=PEEK(PEEK(M%(7%)+6%)) : J9%=0% :
        GOSUB 25000 FOR J2%=0% TO 12% STEP 2%
5010  IF J9% AND 1% THEN IF B%(J9%,0%)<>-1% THEN
        I%=FNS%(58%,J9%/2%+4%,CHR$(30%)) :
        B%(J9%,0%)=-1% : J9%=J9%+1% : X%=X%-1%
5020  IF J9%<>8% THEN IF B%(J9%,0%)<>-1% THEN
        I%=FNS%(45%,J9%/2%+4%,CHR$(30%)) :
        X%=X%-1% : B%(J9%,0%),B%(J9%+1%,0%)=-1% :
        J9%=J9%+2% : GOTO 5020
6000  T=((PEEK(2048%)-PEEK(36%))*1440.+PEEK(38%)-PEEK(2050%))
        *60.+60.-ASCII(CHR$(PEEK(2052%))) : GOSUB 29000 :
        I%=FNS%(62%,0%,SPACE$(8%-LEN(S$))+S$)
6010  J%=PEEK(2050%) : IF C%(5%)<>J% THEN C%(5%)=J% :
        I%=FNS%(49%,0%,TIME$(J%))
6020  J%=PEEK(2048%) : IF C%(4%)<>J% THEN C%(4%)=J% :
        I%=FNS%(39%,0%,DATE$(J%))
6025  GOTO  20000
9990  H8(0)=6  :H8(1)=126
9992  H8(2)=28:  H8(3)=12
9994  H8(4)=127:  H8(5)=127
9996  H8(6)=127:   GOSUB 10080
10000 PRINT:RETURN
10010 H8(6)=127:GOTO 10080!  CLEAR SCREEN
10020 H8(0)=3:H8(1)=126:H8(2)=29:H8(3)=127:GOTO 10080!CLEAR SCREEN
10030 !  10010 IS REALLY  CLEAR FOREGROUND
10040 H8(0)=2:H8(1)=126:H8(2)=31:GOTO 10080!SET FOREGROUND
10045       H8(4)=H8(4) + 96% IF H8(4) < 32% : H8(5) = H8(5) + 96%
10050 H8(3)=H8(3)+96% IF H8(3)<32% :H8(4)=H8(4)+96% :
        H8(0)=6%:H8(1)=126%:H8(2)=17%:H8(5)=127%:H8(6)=127%
10060 H8(0)=2:H8(1)=126:H8(2)=25:GOTO 10080!SET BACKGROUND
10070 H8(0)=4:H8(1)=126:H8(2)=26:H8(3)=127:H8(4)=127:GOTO 10080!INSERT L
10080 CHANGE H8 TO H8$:PRINT H8$;:RETURN
11076 PRINT"    ONE",S$
20000  GOSUB 10000:X%,Y% = 0%:  SLEEP S9%:  GOTO 1000
25000 FOR J0%=0% TO PEEK(T1%) : J%=ASCII(CHR$(PEEK(T%+2%))) :
        IF J%=0% THEN 25900 ELSE IF J% AND 1% THEN 25900 ELSE
        IF J2%=0% THEN IF PEEK(T%+30%) AND 8192% THEN 25900
25010 J8%=0% : IF B%(J9%,0%)<>SWAP%(J0%)+J2% THEN J8%=1% ELSE
        25100
25020 B%(J9%,0%)=SWAP%(J0%)+J2% : GOSUB 26000 :
        I%=FNS%(I%,J9%/2%+4%,MID("KBDTLPPRPPCRMT",J2%+1%,2%)+
        RIGHT(NUM$(J0%),2%))
25030 GOSUB 26000 : I%=FNS%(I%+5%,J9%/2%+4%,RIGHT(NUM$(J%/2%),2%))
25100 J%=PEEK(T%+30%) : IF J8% OR B%(J9%,1%)<>J% THEN
        B%(J9%,1%)=J% ELSE 25200
25110 S$="INIT" : IF J%<0% THEN S$="AS  " :
        IF ASCII(CHR$(J%)) THEN S$="A+IN"
25120 GOSUB 26000 : I%=FNS%(I%+8%,J9%/2%+4%,S$)
25200 J9%=J9%+1%
25900 T%=T%+32% : NEXT J0% : T1%=T1%+2% : RETURN
26000 I%=45% : IF J9% AND 1% THEN I%=58%
26010 RETURN
29000 S$="" : T%=0% : T1%=T/3600. : IF T1% THEN T=T-3600.*T1% :
        GOSUB 29500 : S$=S$+":"
29010 T1%=T/60% : IF T1% OR T% THEN T=T-60%*T1% :
        GOSUB 29500 : S$=S$+":"
29020 T1%=T
29500 T$=NUM$(T1%+T%*100%) : S$=S$+MID(T$,2%+T%,LEN(T$)-2%-T%) :
        T%=1% : RETURN
32100 DEF FNS%(Q0%,Q1%,Q0$)
32105 Q0%=Q0%+1%
32110 H8(0%)=6%:H8(1%)=126%:H8(2%)=17%:H8(3%)=Q0%:H8(4%)=Q1%:
           H8(5%)=127%:H8(6%)=127%
32120 H8(3)=H8(3)+96% IF H8(3)<32% :H8(4)=H8(4)+96%
32125 CHANGE H8 TO H8$:PRINT H8$;:PRINT Q0$
32130  FNS%=0%: FNEND
32767 END

Ready

?
