Listing of file='OPSUBS' on disk='vmedia/701-2739G.wvd.zip'
# Sector 591, program filename = 'OPSUBS' 5552 DEFFN'200 : MAT REDIM Q4$(5)50,Q1$(250)1 : Q9(1)=Q1(1) : Q9(2)=Q1(2) : DATA LOAD DC OPEN T#Q9(2),"Pqueue" : ERRORQ2$=BIN(ERR) : GOTO 5555 5553 GOSUB '195 : IF Q2$<>"0"THEN 5555 : IF STR(Q1$,2,1)="2"OR STR(Q1$,2,1)="3"THEN Q4$()=Q1$() 5555 R1$(1)="P" : IF Q2$="0"THEN R1$(2)=HEX(00) : ELSE R1$(1)=Q2$ : RETURN 5558 DEFFN'201 : GOSUB 5570 : GOSUB '196 : GOTO 5555 5562 DEFFN'202 : Q9(2)=Q1(2) : Q9(1)=Q1(1) : DATA LOAD DC OPEN T#Q9(2),"Pqueue" : ERRORQ2$=BIN(ERR) : GOTO 5555 5563 MAT REDIM Q1$(25)10 : Q1$="02" : GOSUB '197 : GOTO 5555 5566 DEFFN'203 : GOSUB 5570 : GOSUB '198 : GOTO 5555 5570 MAT REDIM Q1$(250)1 : Q1$()=Q4$() : Q9(1)=Q1(1) : Q9(2)=Q1(2) : DATA LOAD DC OPEN T#Q9(2),"Pqueue" : ERRORQ2$=BIN(ERR) : RETURN CLEAR : GOTO 5555 5571 STR(Q$,5,1)=BIN(#PART) : STR(Q$,6,2)=BIN(#ID,2) : STR(Q$,8,1)=BIN(#TERM) : RETURN 5580 DEFFN'204 : DATA LOAD DC OPEN T"BUMPmain" : ERRORQ2$=BIN(ERR) : GOTO 5588 5584 MAT REDIM Q$(50)3 : DATA LOAD DC Q$() : DATA SAVE DC CLOSE : SELECT #Q<Q$(1)> : Q1(2)=Q : Q2$="0" : LIMITS T#Q,"Pqueue",Q1(1),Q8,Q9 : ERRORQ2$=BIN(ERR) 5588 R1$(1)="P" : IF Q2$="0"THEN R1$(2)=HEX(00) : ELSE R1$(1)=Q2$ : RETURN 5590 DEFFN'196 : GOSUB '199 : IF Q2$<>"0"THEN RETURN : Q8=0 : IF STR(Q$(1),9,2)<=STR(Q$(1),7,2)THEN 5596 : ELSE Q2$="1" : GOTO 5624 5596 STR(Q$,9,2)=HEX(FFFF) : IF STR(Q1$,2,1)="2"OR STR(Q1$,2,1)="4"THEN Q9(8)=10 : ELSE Q9(8)=8 : Q9(7)=1 : GOSUB 5750 : IF Q2$<>"2"THEN 5600 : Q9(1)=0 : GOSUB 5786 : IF Q3<>0THEN 5780 : GOTO 5624 5600 IF STR(Q1$,2,1)<"3"THEN 5610 : Q1=Q1+1 : STR(Q$,9,2)=STR(Q$(Q1),9,2) : MAT REDIM Q4$(25)10 : IF Q1=1THEN 5606 : Q4$()=Q$() 5602 FOR Q9=Q1TO 2STEP -1 : Q4$(Q9)=Q4$(Q9-1) : NEXT Q9 5604 IF Q8=0THEN 5608 : Q8,Q9(1)=Q8-1 : GOSUB 5786 : IF Q3<>0THEN 5780 : MAT REDIM Q$(25)10 : Q4$(1)=Q$(25) : Q$()=Q4$() : Q9(1)=Q8+1 : GOSUB 5794 : IF Q3<>0THEN 5780 : Q1=25 5606 Q9(1)=Q8 : GOSUB 5786 : IF Q3<>0THEN 5780 : MAT REDIM Q$(25)10 : Q4$()=Q$() : IF Q1=1THEN 5604 : GOTO 5602 5608 Q4$(2)=Q$ : Q$()=Q4$() : Q9(1)=0 : GOSUB 5794 : IF Q3<>0THEN 5780 : Q2$=HEX(0001) : Q1=VAL(STR(Q$,9,2),2) : GOTO 5612 5610 Q1=Q1+1 : STR(Q$(Q1),1,8)=Q$ : STR(Q$,9,2)=STR(Q$(Q1),9,2) : Q1=VAL(STR(Q$(Q1),9,2),2) : Q2$=HEX(0001) : GOSUB 5796 : IF Q3<>0THEN 5780 5612 Q9(1)=Q9(4)+INT(Q1/Q9(5)) : GOSUB 5786 : IF Q3<>0THEN 5780 : Q3=Q9(3)*MOD(Q1,Q9(5)) : STR(Q$(),Q3+1,Q9(3))=Q1$() : DBACKSPACE #Q9(2),1S : GOSUB 5796 : IF Q3<>0THEN 5780 : Q9(1)=0 : GOSUB 5786 : IF Q3<>0THEN 5780 : MAT REDIM Q$(25)10 : STR(Q$(1),9,2)=STR(Q$(1),9,2)ADDCSTR(Q2$,1,2) : Q2$="0" 5624 STR(Q$(1),1,1)=HEX(00) : Q9(1)=0 : GOSUB 5794 : IF Q3<>0THEN 5780 5627 DATA SAVE DC CLOSE#Q9(2) : ERRORQ3=ERR : GOTO 5780 5628 Q9$=$PSTAT(#PART) : IF STR(Q9$,1,3)="MON"THEN 5631 : Q9=1 5629 IF Q9>16THEN 5631 : Q9$=$PSTAT(Q9) : ERRORGOTO 5631 5630 IF STR(Q9$,1,3)="MON"THEN $ALERTQ9 : Q9=Q9+1 : GOTO 5629 5631 RETURN 5632 DEFFN'199 : Q8$=BIN(#PART) : Q2$=BIN(#ID,2) : IF STR(Q1$,1,1)<>"2"THEN 5642 : GOSUB 5788 : IF Q3<>0THEN 5780 : DBACKSPACE #Q9(2),BEG : IF HEX(00)=STR(Q$(1),1,1)THEN 5662 : IF STR(Q$(1),1,1)=Q8$AND STR(Q$(1),2,2)=Q2$THEN 5640 : Q2$="5" : GOTO 5627 5640 STR(Q$(1),1,1)=HEX(00) : GOSUB 5796 : IF Q3<>0THEN 5780 : DBACKSPACE #Q9(2),BEG : GOTO 5662 5642 FOR Q9=1TO 25 : $OPEN 5650,#Q9(2) : GOSUB 5788 : IF Q3<>0THEN 5780 : DBACKSPACE #Q9(2),BEG : IF STR(Q$(),1,1)=Q8$AND STR(Q$(),2,2)=Q2$THEN 5661 : IF STR(Q$(1),1,1)=HEX(00)THEN 5652 5650 $CLOSE#Q9(2) : $BREAK10 : NEXT Q9 : Q2$="5" : GOTO 5627 5652 IF STR(Q1$,1,1)="1"THEN 5661 : STR(Q$(1),1,1)=Q8$ : STR(Q$(1),2,2)=Q2$ : GOSUB 5796 : IF Q3<>0THEN 5780 : DBACKSPACE #Q9(2),BEG : GOSUB 5788 : IF Q3<>0THEN 5780 : DBACKSPACE #Q9(2),BEG : IF Q8$=STR(Q$(1),1,1)AND Q2$=STR(Q$(1),2,2)THEN 5661 : GOTO 5650 5661 $CLOSE#Q9(2) 5662 Q9(5)=VAL(STR(Q$(1),5,1)) : Q9(3)=VAL(STR(Q$(1),4,1)) : Q9(4)=VAL(STR(Q$(1),6,1)) : Q2$="0" : MAT REDIM Q$(25)10 : RETURN 5666 DEFFN'195 : STR(Q1$,1,1)="2" : GOSUB '199 : IF Q2$<>"0"THEN RETURN : ON POS("12345"=STR(Q1$,2,1))GOTO 5672,5688,5690,5702,5704 : Q2$="1" : GOTO 5684 5672 Q9(1)=INT(Q1/25) : GOSUB 5786 : IF Q3<>0THEN 5780 : MAT REDIM Q$(25)10,Q4$(Q)10 : IF MOD(Q1,25)=0THEN DBACKSPACE #Q9(2),1S : Q8=0 : FOR Q9=Q1TO Q+Q1-1 : IF MOD(Q9,25)<>0THEN 5678 : GOSUB 5788 : IF Q3<>0THEN 5780 : MAT REDIM Q$(25)10 5678 IF STR(Q$(MOD(Q9,25)+1),,1)=HEX(FF)THEN 5680 : Q4$(Q9-Q1+1)=Q$(MOD(Q9,25)+1) : Q8=Q8+1 : NEXT Q9 5680 Q=Q8 5682 Q2$="0" 5684 DATA SAVE DC CLOSE#Q9(2) : ERRORQ3=ERR : GOTO 5780 5686 RETURN 5688 Q9(7)=1 : IF LEN(Q$)<8THEN Q9(8)=LEN(Q$) : ELSE Q9(8)=8 : GOTO 5692 5690 Q9(7)=9 : Q9(8)=2 5692 GOSUB 5750 : IF Q2$="2"THEN 5694 : Q2$="3" : GOTO 5684 5694 Q9(6)=VAL(STR(Q$(Q9),9,2),2) : Q9(1)=Q9(4)+INT(Q9(6)/Q9(5)) : GOSUB 5786 : IF Q3<>0THEN 5780 : MAT REDIM Q$(256)1 : MAT REDIM Q1$(Q9(3))1 : Q9(6)=Q9(3)*MOD(Q9(6),Q9(5)) : Q1$()=Q$() : GOTO 5682 5702 Q9(7)=1 : IF LEN(Q$)<8THEN Q9(8)=LEN(Q$) : ELSE Q9(8)=8 : GOSUB 5750 : IF Q2$="2"THEN 5682 : ELSE Q2$="3" : GOTO 5684 5704 Q=VAL(STR(Q$(1),9,2),2)-1 : GOTO 5682 5706 DEFFN'197 : GOSUB '199 : IF Q2$<>"0"THEN RETURN : ON POS("12"=STR(Q1$,2,1))GOTO 5710,5712 : Q2$="1" : GOTO 5624 5710 Q9(7)=1 : IF LEN(Q$)<8THEN Q9(8)=LEN(Q$) : ELSE Q9(8)=8 : GOTO 5714 5712 Q9(7)=9 : Q9(8)=2 5714 GOSUB 5750 : IF Q2$="2"THEN 5716 : Q2$="3" : Q9(1)=0 : GOSUB 5786 : IF Q3<>0THEN 5780 : MAT REDIM Q$(25)10 : GOTO 5624 5716 STR(Q$(Q9),1,1)=HEX(FF) : Q$=Q$(Q9) : IF Q8>0THEN Q9(6)=(Q8*25)+Q9 : ELSE Q9(6)=Q9 : FOR Q9=Q9(6)TO Q1 : IF MOD(Q9,25)<>0THEN 5724 : DSKIP #Q9(2),1S : MAT REDIM Q1$(3)84 : DATA LOAD DC #Q9(2),Q1$(1),Q1$(2),STR(Q1$(3),1,82) : ERRORQ3=ERR : GOTO 5780 5722 MAT REDIM Q1$(25)10 : Q$(25)=Q1$(1) : DBACKSPACE #Q9(2),2S : GOSUB 5796 : IF Q3<>0THEN 5780 : MAT REDIM Q$(25)10 : Q8=Q8+1 : Q$()=Q1$() : NEXT Q9 : GOTO 5726 5724 Q$(MOD(Q9,25))=Q$(MOD(Q9,25)+1) : NEXT Q9 5726 IF MOD(Q9,25)=0THEN Q$(25)=Q$ : ELSE Q$(MOD(Q9,25))=Q$ : GOSUB 5796 : IF Q3<>0THEN 5780 : Q9(1)=0 : GOSUB 5786 : IF Q3<>0THEN 5780 : STR(Q$(1),9,2)=STR(Q$(1),9,2)SUBCHEX(0001) : Q2$="0" : GOTO 5624 5734 DEFFN'198 : GOSUB '199 : IF Q2$<>"0"THEN RETURN : ON POS("123"=STR(Q1$,2,1))GOTO 5736,5738,5738 : Q2$="1" : GOTO 5624 5736 Q9(7)=1 : IF LEN(Q$)<8THEN Q9(8)=LEN(Q$) : ELSE Q9(8)=8 : GOTO 5740 5738 Q9(7)=9 : Q9(8)=2 5740 GOSUB 5750 : IF Q2$="2"THEN 5742 : Q9(1)=0 : GOSUB 5786 : IF Q3<>0THEN 5780 : Q2$="3" : GOTO 5624 5742 STR(Q2$,1,2)=HEX(0000) : Q1=VAL(STR(Q$(Q9),9,2),2) : IF STR(Q1$,2,1)="1"THEN 5612 : STR(Q$(Q9),1,8)=STR(Q$,1,8) : GOSUB 5796 : IF Q3<>0THEN 5780 : IF STR(Q1$,2,1)="2"THEN 5612 : Q9(1)=0 : GOSUB 5786 : IF Q3<>0THEN 5780 : Q2$="0" : GOTO 5624 5750 Q8=0 : Q1=VAL(STR(Q$(1),9,2),2) : IF Q1>24THEN 5758 : FOR Q9=2TO Q1 5754 IF STR(Q$(Q9),Q9(7),Q9(8))<>STR(Q$,Q9(7),Q9(8))THEN 5756 : ELSE Q2$="2" : DBACKSPACE #Q9(2),1S : STR(Q$,9,2)=STR(Q$(Q9),9,2) : RETURN 5756 NEXT Q9 : IF Q1<=24THEN 5774 : GOTO 5760 5758 FOR Q9=2TO 25 : GOTO 5754 5760 DSKIP #Q9(2),1S : FOR Q8=1TO INT(Q1/25) : GOSUB 5788 : IF Q3<>0THEN 5776 : MAT REDIM Q$(25)10 : FOR Q9=1TO 25 : IF STR(Q$(Q9),Q9(7),Q9(8))<>STR(Q$,Q9(7),Q9(8))THEN 5772 : ELSE Q2$="2" : DBACKSPACE #Q9(2),1S : STR(Q$,9,2)=STR(Q$(Q9),9,2) : RETURN 5772 NEXT Q9 : NEXT Q8 : Q1=MOD(Q1,25) 5774 Q2$="0" : DBACKSPACE #Q9(2),1S : RETURN 5776 RETURN CLEAR 5780 $CLOSE#Q9(2) : Q2$=BIN(Q3) : DATA SAVE DC CLOSE#Q9(2) : ERRORGOTO 5782 5782 RETURN 5786 DBACKSPACE #Q9(2),BEG : DSKIP #Q9(2),Q9(1)S : ERRORGOTO 5800 5788 Q3=0 : MAT REDIM Q$(3)84 : DATA LOAD DC #Q9(2),Q$(1),Q$(2),STR(Q$(3),1,82) : ERRORGOTO 5800 5790 RETURN 5794 DBACKSPACE #Q9(2),BEG : DSKIP #Q9(2),Q9(1)S : ERRORGOTO 5800 5796 Q3=0 : MAT REDIM Q$(3)84 : DATA SAVE DC #Q9(2),Q$(1),Q$(2),STR(Q$(3),1,82) : ERRORGOTO 5800 5798 RETURN 5800 Q3=ERR : RETURN 5802 DEFFN'21(S$) : SCRATCH TS$ : SAVE T()S$,3799 : PRINT S$;" RESAVED" : RETURN 5808 DEFFN'23(S$) : SCRATCH T/B30,S$ : MOVE TS$TO T/B30,() : RETURN 5812 DEFFN'24(S$) : SELECT LIST 215 : LIST S$,D,3799 : LIST S$,V : LIST S$,' : LIST S$,#,3799 : LIST HEX(0C0C0C)0,0 : SELECT LIST 005 : RETURN