Listing of file='36parton' on disk='vmedia/mvp-diag-2.6.2.wvd.zip'
# Sector 3699, program filename = '36parton' 0060 SELECT PRINT 005(80) : PRINT HEX(0306) : A1=#PART : A$="T# DIAG" : CONVERT A1TO STR(A$,3,2),(##) : DEFFN@PARTA$ 0070 DIM A,A$,A1,A1$1,B,B5$100,C,C$1,D,D$5,E,E$,F,F$29,G$,I,K$7,L,M$20,P,P$30, P$(16)30,P2,Q,R,R1,S,S$,T1$32,U,X 0090 $PSTAT="PART-MON" : $FORMATF$=A8,A1,P1.1,P1,P2.2,A1,P1,A1,A8,P1,P1,P1,P1,P1 : X=0 : C$=" " : I=0 : KEYIN A1$,180,180 : GOTO 180 0110 R1=INT(R/2) : PRINT HEX(0306);AT(9-R1,0);BOX(2,78);BOX(R+2,78);AT(9-R1,9);BOX(R+2,7);AT (9-R1,21);BOX(R+2,5);AT(9-R1,31);BOX(R+2,11);AT(9-R1,51);BOX(R+2,5);AT(9- R1,73);BOX(R+2,5) 0120 PRINT AT(8-R1,20);"PARTITION STATUS MONITOR" 0130 PRINT AT(9-R1,1);" USER OP. MEM PART PROG TERMINAL GLOBAL LAST - PARTITION # - TERM" 0140 PRINT AT(10-R1,1);"MESSAGE SYSTEM BANK SIZE # STATUS NAME ERR TEXT GLOBAL DATA ADDR" 0150 PRINT AT(22,28);"KEY 'RETURN' TO CANCEL" : PRINT AT(21,1);"DISPLAY CHANGE OF STATUS KEY; (01-16) PARTITION, (17) ALL PARTITIONS, (00) NONE" : X=R : RETURN 0180 C=C+1 : PRINT AT(8-R1,45);"- PASS # ";C : R=0 0200 FOR P=1TO 16 : R=R+1 : P$=$PSTAT(P) : ERRORGOSUB 250 0220 ON C$GOSUB 500,520,540,560,580,600 : IF C$=HEX(FF)THEN 830 : P$(P)=P$ : NEXT P 0221 KEYIN A1$,230,221 : IF R<>XTHEN GOSUB 110 : GOSUB 650 : GOTO 180 0230 GOSUB 280 : GOTO 180 0250 STR(P$,30,1)=HEX(FF) : R=R-1 : RETURN 0280 A1=NUM(A1$) : IF A1=1THEN 300 : IF A1$<>HEX(0D)THEN RETURN : C$=HEX(FF) : RETURN 0300 PRINT AT(21,0,80);AT(21,30);"PARTITION ";A1$;"\A0" : B5$="MONITORING PARTITION FOR A CHANGE IN STATUS" : STR(B5$,23,1)=A1$ 0310 KEYIN A1$,320,310 : GOTO 310 0320 A1=NUM(A1$) : IF A1=1THEN 340 : IF A1$<>HEX(0D)THEN 380 : C$=HEX(FF) : GOTO 380 0340 STR(B5$,24,1)=A1$ : C$=HEX(01) : CONVERT STR(B5$,23,2)TO P2 : IF P2=17THEN 360 : IF P2<1OR P2>16THEN 380 : GOTO 390 0360 C$=HEX(02) : STR(B5$,22,4)="ANY " : GOTO 390 0380 C$=HEX(00) : GOSUB 150 : RETURN 0390 PRINT AT(21,0,79);AT(21,12);"SELECT STATUS TO MONITOR; (0) ALL, (1) ERROR , (2) ADDRESS" 0400 KEYIN A1$ : IF A1$="0"THEN 420 : IF A1$="1"THEN 440 : IF A1$="2"THEN 460 : GOTO 400 0420 STR(B5$,42,4)="ANY " : GOTO 470 0440 C$=ADDHEX(02) : STR(B5$,42,4)="ERR " : GOTO 470 0460 C$=ADDHEX(04) : STR(B5$,42,4)="ADDR" : GOTO 470 0470 PRINT AT(21,0,79);AT(21,15);STR(B5$,1,60) : RETURN 0500 IF P$(P)=P$OR P<>P2THEN RETURN : GOTO 610 0520 IF P$(P)=P$THEN RETURN : GOTO 610 0540 IF STR(P$(P),25,1)=STR(P$,25,1)OR P<>P2THEN RETURN : GOTO 610 0560 IF STR(P$(P),25,1)=STR(P$,25,1)THEN RETURN : GOTO 610 0580 IF STR(P$(P),29,1)=STR(P$,29,1)OR P<>P2THEN RETURN : GOTO 610 0600 IF STR(P$(P),29,1)=STR(P$,29,1)THEN RETURN : GOTO 610 0610 PRINT HEX(07020400020E) : I=R : R=11-R1+P-1 : GOSUB 660 : R=20 : P$(P)=P$ : GOSUB 660 : R=I 0620 PRINT HEX(0F);AT(22,15,40);"BOTTOM LINE = NEW STATUS // KEY 'RETURN' TO C ONTINUE" : KEYIN A1$ : IF A1$<>HEX(0D)THEN 620 : R=I : I=0 0630 PRINT AT(20,0,80);AT(18,30,30);AT(22,15,60);AT(22,28);"KEY 'RETURN' TO CA NCEL" : RETURN 0650 R=11-R1 : FOR P=1TO 16 : IF STR(P$(P),30,1)=HEX(FF)THEN 790 0660 $UNPACK(F=F$)P$(P)TO M$,T1$,A,B,S,D$,D,S$,G$,E,F,L,Q,U 0670 IF T1$="M"THEN 680 : IF T1$="VP"THEN 690 : T1$="------" : GOTO 710 0680 T1$="MVP" : GOTO 700 0690 T1$="VP-" 0700 CONVERT ATO STR(T1$,4,3),(#.#) 0710 IF S$="A"THEN 720 : IF S$="D"THEN 730 : IF S$="W"THEN 740 : S$="--------" : GOTO 750 0720 S$="ATTACHED" : GOTO 750 0730 S$="DETACHED" : GOTO 750 0740 S$="WAITING " 0750 PRINT AT(R,0); 0760 CONVERT UTO K$,(##) 0770 CONVERT ETO E$,(##) 0780 PRINTUSING 800,M$,T1$,B,S,D$,D,S$,G$,E$,F,L,Q,K$ : R=R+1 0790 IF I<>0THEN RETURN : NEXT P : RETURN 0800 % ######## ###### # ## # # ######## ######## ## ## ## ## ## 0810 RETURN 0830 LOAD T"TERMINAL" 0840 DEFFN'0 : SCRATCH T"RCPARTON" : SAVE T()"RCPARTON"