image of READY prompt

Wang2200.org

Listing of file='BMT02' on disk='vmedia/731-0071G.wvd.zip'

# Sector 1302, program filename = 'BMT02'
0418 COM Q9$(5)3,Q8$(20)3,Q$10,Q0$1,Q1(2),H$50
0419 DIM I9(5),I9$75,R9$1,I9$(10)8,I8$3,Q8$1,Q3$4,Q$(4)64,Q1$2,Q0(7),Q5$,Q9(8)
     ,Q1$(4)64,Q2$(4)64,Q3$(4)64,Q4$4,Q6$80,E$2,L$4,Q6(3,2)
   : DIM Q5(2,2),Q7$(2)60,Q5$(1)1,Q7(1,1),Q9$85
   : ON ERRORE$,L$GOTO 1900
0422 LOAD T"PSUB.DAT"5500,5999BEG 500
   : ERRORGOSUB '100(ERR,422)
   : GOTO 422
0500 SELECT PRINT 005
0505 GOSUB '205(1,"204")
   : IF R9$<>HEX(00)THEN STOP "S.S"#
   : LOAD T<R9>R9$()5550,5999BEG 510
   : ERRORGOSUB '100(ERR,505)
   : GOTO 505
0510 A$=Q2$
   : $PSTAT="MONON  "
   : Q=5
   : GOSUB '204
   : IF Q2$="0"THEN 515
   : GOTO 1058
0515 Q2$=A$
   : $IF OFF /005,545
0517 GOSUB '205(1,"162")
   : IF R9$<>HEX(00)THEN STOP "S.S"#
   : LOAD T<R9>R9$()5550,5999BEG 518
   : ERRORGOSUB '100(ERR,517)
   : GOTO 517
0518 A$=Q2$
   : Q6(1,1)=3
   : Q6(1,2)=2
   : Q6(2,1)=2
   : Q6(2,2)=17
   : Q6(3,1)=56
   : RESTORE LINE2100
   : Q=0
   : Q1$="01"
   : GOSUB '162
   : PRINT AT(4,39);#PART
   : Q2$=A$
   : GOSUB 1705
   : IF Q2$<>"A"OR I=0THEN 530
   : Q6$=ALL(23)
   : Q7$()=ALL(00)
0520 FOR Q9=1TO 2
   : READ Q9$
   : PRINTUSING TO Q7$(Q9),Q6$,Q9$
   : Q5(Q9,1)=9+Q9
   : Q5(Q9,2)=10
   : NEXT Q9
   : Q1=1
   : Q1$="02"
   : A=LEN(Q8$())/3
   : MAT REDIM Q8$(1)1
   : A$=Q8$(1)
   : Q8$(1)=HEX(F0)
   : Q=2
0521 GOSUB '162
   : IF Q2$=HEX(F0)THEN 1058
   : Q2$="A"
   : IF Q1=1THEN PRINT HEX(03);AT(2,0,80);"Press LOAD RUN to execute"
   : IF Q1=1THEN $RELEASETERMINALTO I
   : ELSE PRINT AT(10,0,80);AT(11,0,80);AT(17,51);" '0 - Release to Background
     ";AT(18,42,29);" CANCEL/EDIT - Exit"
   : Q8$(1)=A$
   : MAT REDIM Q8$(20)3
   : $IF OFF /005,545
0530 GOSUB 2030
   : PRINT AT(7,0);Q6$
   : GOSUB 2035
   : PRINT AT(7,60);Q6$
   : GOSUB 2040
   : PRINT AT(7,10);Q6$
0545 IF Q2$<>"A"THEN 1005
   : GOSUB '205(1,"201")
   : IF R9$<>HEX(00)THEN STOP "S.S."#
   : LOAD T<R9>R9$()3800,3999BEG 550
   : ERRORGOSUB '100(ERR,545)
   : GOTO 545
0550 Q$="MONR"
   : Q1$="02"
   : MAT REDIM Q4$(5)50
   : Q4$(1)=Q9$()
   : STR(Q4$(),51)=Q8$()
   : GOSUB '201
   : IF Q2$="0"THEN 560
   : GOSUB '100(VAL(Q2$),550)
   : $BREAK75
   : GOTO 550
0560 Q0$(1)=Q$
   : Q0$=HEX(00)
   : GOTO 1059
1005 H$=Q4$(2)
   : Q0$=HEX(00)
   : GOSUB '205(1,"200")
   : IF R9$<>HEX(00)THEN STOP "S.S."#
   : LOAD T<R9>R9$()5550,5999BEG 1006
1006 A$=Q2$
   : Q1$="03"
   : Q$=Q0$(1)
   : GOSUB '200
   : Q8$()=STR(Q4$(),51)
   : Q9$()=Q4$(1)
   : Q1$="03"
   : Q$=Q0$(3)
   : GOSUB '200
   : Q2$=A$
   : ON POS("EeCcfd"=Q2$)GOTO 1025,1024,1040,1039,1009,1009
   : GOTO 1010
1009 Q0$=Q0$OR HEX(80)
1010 IF STR(Q4$(2),18,1)="S"THEN 1020
1015 Q$=Q0$(3)
   : GOSUB '205(1,"202")
   : IF R9$<>HEX(00)THEN STOP "S.S."#
   : LOAD T<R9>R9$()5550,5999BEG 1017
   : ERRORGOSUB '100(ERR,1015)
   : GOTO 1015
1017 Q1$="02"
   : GOSUB '202
   : ON POS("03"=STR(Q2$,1,1))GOTO 1050
   : GOSUB '100(VAL(Q2$),1017)
   : $BREAK75
   : GOTO 1017
1020 STR(Q0$(3),4,1)="F"
   : Q$=Q0$(3)
   : GOSUB '205(1,"203")
   : IF R9$<>HEX(00)THEN STOP "S.S."#
   : LOAD T<R9>R9$()5550,5999BEG 1022
   : ERRORGOSUB '100(ERR,1020)
   : GOTO 1020
1022 Q1$="03"
   : GOSUB '203
   : ON POS("03"=Q2$)GOTO 1050,1050
   : GOSUB '100(VAL(Q2$),1022)
   : $BREAK75
   : GOTO 1022
1024 Q0$=Q0$OR HEX(80)
1025 $IF OFF /005,1030
   : IF Q7$=" "THEN GOSUB 2050
   : ELSE Q6$=Q7$
   : PRINT AT(23,0,80);HEX(020402000E);Q6$;HEX(0F070C)
1030 STR(Q0$(3),4,1)="E"
   : Q$=Q0$(3)
   : GOSUB '205(1,"203")
   : IF R9$<>HEX(00)THEN STOP "S.S."#
   : LOAD T<R9>R9$()5550,5999BEG 1035
   : ERRORGOSUB '100(ERR,1030)
   : GOTO 1030
1035 Q4$(2)=H$
   : Q1$="02"
   : GOSUB '203
   : ON POS("03"=Q2$)GOTO 1050,1050
   : GOSUB '100(VAL(Q2$),1035)
   : $BREAK75
   : GOTO 1035
1039 Q0$=Q0$OR HEX(80)
1040 Q$=Q0$(3)
   : GOSUB '205(3,"201202200")
   : IF R9$<>HEX(00)THEN STOP "S.S."#
   : LOAD T<R9>R9$()5550,5999BEG 1044
   : ERRORGOSUB '100(ERR,1040)
   : GOTO 1040
1044 GOSUB '202
   : Q$=Q0$(3)
   : IF Q2$="0"THEN 1045
   : GOSUB '100(VAL(Q2$),1044)
   : $BREAK75
   : GOTO 1044
1045 Q1$()=Q4$()
   : STR(Q$,4,1)="P"
   : Q1$="02"
   : Q9(1)=Q1(1)
   : Q9(2)=Q1(2)
   : DATA LOAD DC OPEN T#Q9(2),"Pqueue"
   : ERRORGOSUB '100(ERR,1045)
   : GOTO 1045
1046 GOSUB '196
   : IF Q2$="0"THEN GOTO 1050
   : GOSUB '100(VAL(Q2$),1046)
   : GOTO 1046
1050 Q8$=Q0$AND HEX(01)
   : IF Q8$<>HEX(00)THEN 1600
   : Q8$=Q0$AND HEX(10)
   : IF Q8$<>HEX(00)THEN 1055
   : $CLOSE
   : Q0$=Q0$AND HEX(80)
1055 $IF OFF /001,1056
   : KEYIN Q8$
   : IF Q8$=HEX(F0)THEN Q0$=Q0$OR HEX(80)
   : IF Q8$=HEX(00)THEN $RELEASETERMINAL
1056 Q8$=Q0$AND HEX(80)
   : IF Q8$=HEX(00)THEN 1059
   : Q$=Q0$(1)
   : GOSUB '205(1,"202")
   : IF R9$<>HEX(00)THEN STOP "S.S."#
   : LOAD T<R9>R9$()5550,5999BEG 1057
   : ERRORGOSUB '100(ERR,1056)
   : GOTO 1056
1057 Q1$="02"
   : GOSUB '202
   : ON POS("03"=Q2$)GOTO 1058,1058
   : GOSUB '100(VAL(Q2$),1057)
   : $BREAK75
   : GOTO 1057
1058 Q$=STR(R3$(),,9)
   : R3$()=STR(R3$(),10)
   : MAT REDIM Q4$(5)50
   : COM CLEAR Q9$()
   : $PSTAT="       "
   : LOAD TQ$
   : ERRORGOSUB '100(ERR,1058)
   : GOTO 1058
1059 $IF OFF /005,1060
   : GOSUB 2055
   : PRINT AT(10,0,80);Q6$
1060 Q=25
   : Q1=1
   : MAT REDIM Q4$(25)10
   : GOSUB '205(1,"200")
   : IF R9$<>HEX(00)THEN STOP "S.S."#
   : LOAD T<R9>R9$()5550,5999BEG 1062
   : ERRORGOSUB '100(ERR,1060)
   : GOTO 1060
1062 Q1$="05"
   : GOSUB '200
   : IF Q2$="0"THEN 1063
   : GOSUB '100(VAL(Q2$),1062)
   : $BREAK75
   : GOTO 1062
1063 I3=Q
   : FOR I2=0TO INT(I3/25)
   : IF I2<INT(I3/25)THEN Q=25
   : ELSE Q=MOD(I3,25)
   : Q1=((I2)*25)+1
1064 Q1$="01"
   : GOSUB '200
   : IF Q2$="0"THEN 1065
   : GOSUB '100(VAL(Q2$),1064)
   : $BREAK100
   : GOTO 1064
1065 FOR Q9=1TO Q
   : IF STR(Q4$(Q9),4,1)<>"Z"THEN 1068
   : IF STR(Q4$(Q9),5,3)<>STR(Q0$(1),5,3)THEN 1068
   : GOSUB '205(1,"202")
   : IF R9$<>HEX(00)THEN STOP "S.S."#
   : LOAD T<R9>R9$()5550,5999BEG 1066
   : ERRORGOSUB '100(ERR,1065)
   : GOTO 1065
1066 Q$=Q4$(Q9)
   : Q1$="02"
   : GOSUB '202
   : ON POS("03"=Q2$)GOTO 1067,1067
   : GOSUB '100(VAL(Q2$),1066)
   : $BREAK75
   : GOTO 1066
1067 Q$=Q0$(1)
   : GOTO 1057
1068 NEXT Q9
   : NEXT I2
1070 Q1$="05"
   : GOSUB '200
   : IF Q2$="0"THEN 1072
   : GOSUB '100(VAL(Q2$),1070)
   : $BREAK75
   : GOTO 1070
1072 I3=Q
   : FOR I2=0TO INT(I3/25)
   : IF I2<INT(I3/25)THEN Q=25
   : ELSE Q=MOD(I3,25)
   : Q1=((I2)*25)+1
1074 Q1$="01"
   : GOSUB '200
   : IF Q2$="0"THEN 1076
   : GOSUB '100(VAL(Q2$),1074)
   : $BREAK75
   : GOTO 1074
1076 FOR Q9=1TO Q
   : IF STR(Q4$(Q9),4,1)="A"THEN 1080
1078 NEXT Q9
   : NEXT I2
   : GOTO 1082
1080 GOSUB 1500
   : IF Q2$="0"THEN 1671
   : GOTO 1078
1082 Q1$="05"
   : GOSUB '200
   : IF Q2$="0"THEN 1084
   : GOSUB '100(VAL(Q2$),1082)
   : $BREAK75
   : GOTO 1082
1084 I3=Q
   : FOR I2=0TO INT(I3/25)
   : IF I2<INT(I3/25)THEN Q=25
   : ELSE Q=MOD(I3,25)
   : Q1=((I2)*25)+1
1086 Q1$="01"
   : GOSUB '200
   : IF Q2$="0"THEN 1088
   : GOSUB '100(VAL(Q2$),1086)
   : $BREAK100
   : GOTO 1086
1088 FOR Q9=1TO Q
   : IF STR(Q4$(Q9),4,1)="P"THEN 1101
1090 NEXT Q9
   : NEXT I2
1092 $IF OFF /005,1095
   : GOSUB 2060
   : PRINT AT(10,0,80);Q6$
1095 $PSTAT="MONOFF "
   : SELECT ON ALERTGOSUB 1950
1097 $IF OFF /001,1100
   : KEYIN Q8$
   : IF Q8$=HEX(F0)THEN GOTO 1058
1100 $BREAK255
   : GOTO 1097
1101 GOSUB 1500
   : IF Q2$<>"0"THEN 1090
1102 DATA LOAD DC OPEN T#Q1(2),"Pqueue"
   : ERRORGOSUB '100(ERR,1102)
   : GOTO 1102
1103 Q9(2)=Q1(2)
   : Q1$="0"
   : GOSUB '199
   : IF Q2$<>"0"THEN 1107
   : Q1$="14"
   : GOSUB '200
   : IF Q2$="0"THEN 1108
1104 DATA LOAD DC OPEN T#Q1(2),"Pqueue"
   : ERRORGOSUB '100(ERR,1104)
   : GOTO 1104
1105 Q9(2)=Q1(2)
   : Q1$="2"
   : GOSUB '199
   : IF Q2$<>"0"THEN 1106
   : NEXT Q9
   : NEXT I2
   : GOTO 1092
1106 GOSUB '100(VAL(Q2$),1105)
   : GOTO 1105
1107 GOSUB '100(VAL(Q2$),1102)
   : GOTO 1102
1108 I2=INT(I3/25)
   : NEXT I2
1110 MAT REDIM Q4$(5)50
   : Q1$="03"
   : GOSUB '200
   : ON POS("03"=Q2$)GOTO 1115,1050
   : GOSUB '100(VAL(Q2$),1110)
   : $BREAK75
   : GOTO 1110
1115 STR(Q$,4,1)="R"
   : GOSUB '205(1,"203")
   : IF R9$<>HEX(00)THEN STOP "S.S."#
   : LOAD T<R9>R9$()5550,5999BEG 1120
   : ERRORGOSUB '100(ERR,1115)
   : GOTO 1115
1120 Q1$="03"
   : GOSUB '203
   : ON POS("03"=Q2$)GOTO 1125,1125
   : GOSUB '100(VAL(Q2$),1120)
   : $BREAK75
   : GOTO 1120
1125 Q0$(3)=Q$
   : $IF OFF /005,1130
   : GOSUB 2065
   : PRINT AT(10,0,80);Q6$
1130 Q8$=Q0$AND HEX(10)
   : IF STR(Q4$(2),12,3)<>"   "THEN SELECT #6<STR(Q4$(2),12,3)>
   : ERRORQ2$="E"
   : SELECT PRINT 005
   : GOTO 1005
1140 I=LEN(STR(R3$()))-9
   : MAT COPY -R3$()<1,I>TO -R3$()<10,I>
   : STR(R3$(),,9)="BMT02"
   : Q7$=" "
   : COM CLEAR Q9$()
   : $PSTAT="       "
   : IF STR(Q4$(2),12,3)<>"   "THEN LOAD T#6,STR(Q4$(2),4,8)
   : ELSE LOAD TSTR(Q4$(2),4,8)
   : ERRORQ2$="E"
   : R3$()=STR(R3$(),10)
   : SELECT PRINT 005
   : GOTO 1005
1500 Q2$="2"
   : FOR Q8=1TO LEN(Q9$())/3
   : IF STR(Q4$(Q9),1,3)=Q9$(Q8)THEN 1510
   : NEXT Q8
   : Q2$="1"
1505 FOR Q8=1TO LEN(Q8$())/3
   : IF STR(Q4$(Q9),1,3)=Q8$(Q8)THEN 1520
   : NEXT Q8
   : RETURN
1510 SELECT #6<STR(Q4$(Q9),1,3)>
   : ERRORGOTO 1515
1512 $OPEN 1515,#6
   : Q0$=Q0$OR HEX(10)
   : GOTO 1520
1515 NEXT Q8
   : IF Q2$="2"THEN 1505
   : RETURN
1520 Q$=Q4$(Q9)
   : Q2$="0"
   : RETURN
1600 $IF OFF /005,1605
   : GOSUB 2070
   : PRINT AT(10,0,80);Q6$
1605 Q$=Q0$(2)
   : STR(Q$,4,1)="L"
   : GOSUB '205(1,"200")
   : IF R9$<>HEX(00)THEN STOP "S.S."#
   : LOAD T<R9>R9$()5550,5999BEG 1610
   : ERRORGOSUB '100(ERR,1605)
   : GOTO 1605
1610 Q1$="04"
   : GOSUB '200
   : ON POS("03"=Q2$)GOTO 1110,1625
   : GOSUB '100(VAL(Q2$),1610)
   : $BREAK25
   : GOTO 1610
1625 Q$=Q0$(2)
   : STR(Q$,4,1)="B"
   : Q1$="04"
   : GOSUB '200
   : ON POS("03"=Q2$)GOTO 1640,1630
   : GOSUB '100(VAL(Q2$),1625)
   : $BREAK25
   : GOTO 1625
1630 $IF OFF /005,1635
   : GOSUB 2060
   : PRINT AT(10,0,80);Q6$
1635 $BREAK255
   : GOTO 1600
1640 Q$=Q0$(2)
   : STR(Q$,4,1)="B"
   : GOSUB '205(1,"202")
   : IF R9$<>HEX(00)THEN STOP "S.S."#
   : LOAD T<R9>R9$()5550,5999BEG 1645
   : ERRORGOSUB '100(ERR,1640)
   : GOTO 1640
1645 Q1$="01"
   : GOSUB '202
   : ON POS("03"=Q2$)GOTO 1650,1650
   : GOSUB '100(VAL(Q2$),1645)
   : $BREAK75
   : GOTO 1645
1650 STR(Q0$(1),4,1)="R"
   : Q$=Q0$(1)
   : GOSUB '205(1,"203")
   : IF R9$<>HEX(00)THEN STOP "S.S."#
   : LOAD T<R9>R9$()5550,5999BEG 1655
   : ERRORGOSUB '100(ERR,1650)
   : GOTO 1650
1655 Q1$="03"
   : GOSUB '203
   : ON POS("03"=Q2$)GOTO 1660,1660
   : GOSUB '100(VAL(Q2$),1655)
   : $BREAK75
   : GOTO 1655
1660 Q8$=Q0$AND HEX(10)
   : IF Q8$<>HEX(00)THEN $CLOSE
   : Q0$=Q0$AND HEX(80)
   : $IF OFF /005,1665
   : PRINT AT(10,0,80)
1665 GOTO 1050
1671 DATA LOAD DC OPEN T#Q1(2),"Pqueue"
   : ERRORGOSUB '100(ERR,1671)
   : GOTO 1671
1672 Q9(2)=Q1(2)
   : Q1$="0"
   : GOSUB '199
   : IF Q2$<>"0"THEN 1677
   : Q1$="14"
   : GOSUB '200
   : IF Q2$="0"THEN 1679
1673 DATA LOAD DC OPEN T#Q1(2),"Pqueue"
   : ERRORGOSUB '100(ERR,1673)
   : GOTO 1673
1674 Q9(2)=Q1(2)
   : Q1$="2"
   : GOSUB '199
   : NEXT Q9
   : NEXT I2
   : GOTO 1082
1677 GOSUB '100(VAL(Q2$),1672)
   : GOTO 1672
1679 I2=INT(I3/25)
   : NEXT I2
   : Q0$=Q0$OR HEX(01)
   : $IF OFF /005,1680
   : GOSUB 2070
   : PRINT AT(10,0,80);Q6$
1680 Q0$(2)=Q$
   : GOSUB '205(1,"202")
   : IF R9$<>HEX(00)THEN STOP "S.S."#
   : LOAD T<R9>R9$()5550,5999BEG 1685
   : ERRORGOSUB '100(ERR,1680)
   : GOTO 1680
1685 Q1$="01"
   : GOSUB '202
   : ON POS("03"=Q2$)GOTO 1690,1690
   : GOSUB '100(VAL(Q2$),1685)
   : $BREAK25
   : GOTO 1685
1690 Q$=Q0$(1)
   : STR(Q$,4,1)="Q"
   : GOSUB '205(1,"203")
   : IF R9$<>HEX(00)THEN STOP "S.S."#
   : LOAD T<R9>R9$()5550,5999BEG 1695
   : ERRORGOSUB '100(ERR,1690)
   : GOTO 1690
1695 Q1$="03"
   : GOSUB '203
   : ON POS("03"=Q2$)GOTO 1600,1600
   : GOSUB '100(VAL(Q2$),1655)
   : $BREAK25
   : GOTO 1695
1705 I=0
   : PACK(##)A$FROM#TERM
   : STR(A$,2,1)="W"
   : FOR Q9=1TO 16
   : Q9$=$PSTAT(Q9)
   : ERRORGOTO 1722
1715 IF STR(Q9$,15,2)=A$THEN 1720
   : NEXT Q9
   : GOTO 1725
1720 I=Q9
   : RETURN
1722 Q9=16
   : NEXT Q9
1725 FOR Q9=2TO 16
   : Q9$=$PSTAT(Q9)
   : ERRORRETURN
1730 IF STR(Q9$,15,2)=HEX(0057)AND STR(Q9$,17,8)=" "THEN 1720
   : NEXT Q9
   : RETURN
1805 DEFFN'100(E,L)
   : $PSTAT="MONON  "
   : $BREAK25
   : IF E<81OR E>89THEN 1820
   : PRINT HEX(03);"ERROR TYPE = ";E;"!";" PROGRAM BMT02 STOPPED ON LINE ";L;"
     !"
   : STOP
1820 $BREAK25
   : RETURN
1900 ON POS(" A"=STR(Q2$,1,1))GOTO 419,422
   : GOTO 1005
1950 SELECT OFF ALERT
   : $PSTAT="MONON  "
   : RETURN CLEAR
   : GOTO 1055
2030 Q6$=HEX(020400040E)&"Status"
   : RETURN
2035 Q6$="Processing Program"
   : RETURN
2040 Q6$="File Name or Document ID"&HEX(020400000E)
   : RETURN
2050 Q6$=HEX(020402000E)&"Fatal Error Ocurred While Running "&STR(Q4$(),54,8)&
     HEX(020400000E)
   : RETURN
2055 Q6$="Normal Interrogation"
   : RETURN
2060 Q6$="Waiting"
   : RETURN
2065 Q6$="Running   "&STR(Q4$(),1,50)&"       "&STR(Q4$(),54,8)
   : RETURN
2070 Q6$="Exclusive Mode Interrogation"
   : RETURN
2100 DATA "TASK SCHEDULER MODE SELECTION"," "
   : DATA "*05Scheduler Activated by Partition:"
   : DATA "RUN - Execute"
   : DATA "CANCEL/EDIT - Exit"
   : DATA "Background Mode (Release Terminal to Available Partition)"
   : DATA "Foreground Mode (Monitor Scheduler Processing)"