Listing of file='B327041' on disk='vmedia/bsc_3271_rel_1.14.04.wvd.zip'
# Sector 663, program filename = 'B327041' 0010 REM B327041 02/13/84 Off-List prompting : GOTO 170 : ON AGOTO 20 0015 COM E$(5)80,D9,C1,P(4),B1,B2 0020 COM D0,D$3,D2$3,D4$5 : DIM S1$1,B1$5,B2$5,D5$2,F$(1)80,R$(30)40,R0$(3)83,R1$(15)16,R0$83,R$18,R4 $3,R5$3,R6$3,R7$1,R8$1,R1$1,S1$(3)80,S2$(3)80,Z6 : DIM R3$40,R3$(3)83 0170 A=0 : DATA LOAD DC OPEN T#2,S0$ : DSKIP #2,1S : INIT(" ")E$() : FOR C1=1TO 4 : DATA LOAD DC #2,R0$() : B$=STR(R0$(),1,1) : IF B$=" "THEN 188 : STR(E$(C1),15)="2" : IF B$=HEX(05)THEN STR(E$(C1),15)="0" : HEXUNPACKB$TO STR(E$(C1),16,2) : STR(E$(C1),19)=STR(R0$(),8,1) 0188 NEXT C1 0190 DATA LOAD DC #2,R0$() : IF END THEN 200 : IF R0$(1)<>" "THEN A=A+1 : IF R0$(2)<>" "THEN A=A+1 : IF R0$(3)<>" "THEN A=A+1 : IF A/3=INT(A/3)THEN 190 0200 R9=A : T=6 : D2$="005" : S1$="1" : D4$="2221" : D5$="66" : R$=" " : C1,S0=0 : L0=2 : SELECT @PART"3270UNIV" : GOSUB 340 : GOTO 3000 0240 % ##################################################################### 0245 A=A+1 : PRINTUSING 250,A,STR(R0$(MOD(A-1,3)+1),1,18); : RETURN 0250 % ### = ################### 0260 % ######## = ##################### ###### = ###################### # 0265 % ######## = ##################### 0280 DEFFN'0 : C$="C" 0290 PRINT HEX(06);AT(T,0,3*80);" Type A=Abort job C=Continue off-line utilit y"; : LINPUT -C$ : ON POS("AC"=C$)+1GOTO 290,310 : IF N=1THEN 345 : GOTO 370 0310 $CLOSE : RETURN CLEAR ALL : COM CLEAR B$ : LOAD T#0,N$(1) 0340 R$(),D$,C$=" " : S2=0 0345 GOSUB 1010 0370 PRINT AT(T,0);BOX(3,79) : H3=-1 : $CLOSE#5 : $PSTAT="Listing" : PRINT AT(T,1,3*80);"Enter Printer address from following list" : D$=D2$ : F$()="215 216 217 218 204 005" : GOSUB '101(2,40) : D2$=D$ : GOSUB 1740 : IF A>15THEN 450 : D4$=STR(S1$(A),8,5) : IF D4$<>"2281"THEN 450 : B=VAL(STR(S1$(A),3)) : CONVERT BTO D5$,(##) 0450 GOSUB 2920 : MAT REDIM R0$(3)83 : PRINT AT(11,0);"Report/Stream Pages/Blocks # Del Report/Stream Pages/Blocks # Del " : GOSUB 2605 : PRINT AT(6,0);R : GOSUB 770 0550 GOSUB 1030 : ON VAL(R1$)-48GOTO 570,1390 0570 PRINT AT(10,0);"Items to list are:"; : PRINT AT(11,0);"No. Report Name Pages # Del No. Report Name Pages # Del "; 0600 R$,R4$="?" : R5$="001" : R6$="999" : R7$="1" : R8$="N" : PRINT AT(T,1,3*80);R4$;TAB(5);"Key report number";TAB(30);"Key space RETU RN to execute or reprompt." : PRINTUSING 260,R5$,"Starting page",R6$,"Ending page" : PRINTUSING 260,R7$,"Number of copies",R8$,"Delete ? Y or N" 0620 GOSUB 1070 : IF R4$=" "THEN 680 : IF R4$="?"THEN 620 : STR(R4$,1,3)=STR(R4$,POS(STR(R4$,1,3)<>" ")) : STR(R4$,1,3)=STR(R4$,POS(STR(R4$,1,3)<>"0")) : CONVERT R4$TO A : ERRORGOTO 620 0630 IF A<1OR A>R9THEN 620 : DBACKSPACE #2,BEG : DSKIP #2,INT((A+2)/3)+4S : DATA LOAD DC #2,R0$() : R$,R0$=R0$(MOD(A-1,3)+1) : PRINT AT(T,5,75);STR(R$,1,18) : IF STR(R0$,22,1)="0"THEN 620 : GOSUB 1090 : GOSUB 1110 : GOSUB 1130 : IF R7$="0"THEN 710 : GOSUB 1150 0660 IF R>29THEN 2145 : R2=R2+1 : R=R+1 : R$(R)=R4$ : STR(R$(R),5)=R5$ : STR(R$(R),9)=R6$ : STR(R$(R),13)=R7$ : STR(R$(R),14)=R8$ : STR(R$(R),15)=R$ : STR(R$(R),40)="1" 0670 GOSUB 2610 : GOTO 600 0680 GOSUB 1250 : RETURN 0710 IF R<1THEN 670 : R$=STR(R4$,,3)&" "&STR(R5$,,3)&" "&STR(R6$,,3) : GOSUB 740 : GOTO 670 0740 FOR A=RTO 1STEP -1 : IF STR(R$,,11)<>STR(R$(A),,11)THEN 750 0745 IF A<30THEN R$(A)=R$(A+1) : A=A+1 : IF A<RTHEN 745 : R$(R)=" " : R=R-1 : R2=R2-1 : A=1 0750 NEXT A : RETURN 0770 IF D2$<>"005"THEN 780 : D4$="CRT" : PRINT AT(3,41,5);D4$ : PRINT AT(4,41,39) : RETURN 0780 PRINT AT(T,1,3*80);"Enter Printer model from the following list" : F$()="2221 2231 2263 2273 2281 PC" : GOSUB '201(3,40) : PRINT AT(4,41,39) : GOSUB 800 : PRINT AT(T,0,3*80) : RETURN 0800 PRINT AT(4,41);D5$;TAB(48);"= Form length (in lines) " 0810 PRINT AT(T,1,3*80);"Enter form (page) length in lines" : PRINT AT(4,40); : LINPUT ?-D5$ : PRINT AT(T,0,3*80) : A=NUM(D5$) : IF A=0THEN 830 : CONVERT STR(D5$,1,A)TO A : ERRORGOTO 830 0820 IF A<1OR INT(A)<>ATHEN 830 : RETURN 0830 PRINT AT(10,0,3*80);"Reenter - Value must be numeric and >0" : GOTO 810 0850 DEFFN'101(A,C) 0860 GOSUB '100(A,C,D$,F$()) : IF E=0THEN RETURN : GOSUB 5230 : PRINT AT(T+2,1,79);"Reenter -- ";A$ : IF E>1THEN GOSUB 890 : GOTO 860 0890 PRINT AT(T,1,80);"Type C=Continue (Reselect),'0=Exit list utility"; : IF S2<>0THEN PRINT ", or A=Abort List Stream - " : PRINT AT(T,50+SGN(S2)*27); : LINPUT ?-C$ : ON POS("AC"=C$)GOTO 920,910 : GOTO 890 0910 RETURN CLEAR : GOTO 370 0920 IF S2=0THEN 890 : PRINT AT(T+2,0,5*80) : RETURN 0930 DEFFN'100(A,C,D$,F$()) : E=0 : PRINT AT(T+1,0); : PRINTUSING 240,F$() : PRINT AT(A,C); : LINPUT ?-D$ : IF D$=" "THEN 965 : PRINT AT(T+1,0,3*80) : MAT SEARCHF$(),=D$TO A$STEP 4 : IF VAL(A$,2)=0THEN 965 : B$=BIN(#TERM+48) : S2=0 0940 S2=S2+1 : IF S2>4THEN 955 : IF STR(E$(S2),15,3)<>D$THEN 940 : IF STR(D$,2,2)>"05"THEN 960 : IF STR(E$(S2),19,1)<>B$THEN 940 : RETURN 0955 MAT SEARCHSTR(E$(),15),=" "TO A$STEP 80 : S2=INT((VAL(A$,2)+79)/80) : IF S2=0OR S2>4THEN 975 : IF STR(D$,2,2)<="05"THEN 963 0960 GOSUB 5100 0963 $PSTAT="List "&D$ : RETURN 0965 E=1 : RETURN 0975 E=4 : RETURN 0980 DEFFN'201(A,C) 0990 GOSUB '200(3,40,D4$,F$()) : IF E=0THEN RETURN : GOSUB 5230 : PRINT AT(T+2,1);"Reenter -- ";A$ : GOTO 990 1000 DEFFN'200(A,C,D4$,F$()) : E=0 : PRINT AT(T+1,0); : PRINTUSING 240,F$() 1005 PRINT AT(A,C); : LINPUT ?-D4$ : IF D4$=" "THEN 1005 : MAT SEARCHF$(),=STR(D4$,1,5)TO A$STEP 5 : IF VAL(A$,2)=0THEN 965 : RETURN 1010 PRINT HEX(03);"3270"; : IF E0$(5)="A"THEN PRINT " Active"; : PRINT " Spooler File Off-line List Utility ('0 = Exit)" : PRINT 1020 PRINTUSING 260,D1$,"Spooler disk address",D2$,"Printer address" : PRINTUSING 260,S$,"Spooler file name",D4$,"Printer model" : PRINT R9;TAB(10);"= Reports available" : PRINT " ";TAB(10);"= Items in list queue" : GOSUB 2470 : RETURN 1030 SELECT PRINT 005 : PRINT AT(T,1,3*80);" Key queueing mode Scroll lists '11=Up ' 12=Down '13=Top" : PRINT " 1 = REPORT mode - List by report name regardless of stream '14 =Rpts Queued" : PRINT " 2 = STREAM mode - List by block number within a single stream" : R1$="?" 1050 PRINT AT(T,1); : KEYIN R1$,,1685 : IF R1$<"1"OR R1$>"2"THEN 1050 : RETURN 1070 SELECT PRINT 005 : PRINT AT(6,0); : LINPUT ?-R4$ : RETURN 1090 PRINT AT(7,0); : LINPUT ?-R5$ : IF POS(R5$="+")>0THEN 1090 : IF STR(R5$,1,1)<>" "AND STR(R5$,2,1)=" "THEN IF STR(R5$,3,1)<>" "THEN 109 0 : CONVERT R5$TO A : ERRORGOTO 1090 1095 IF A<1THEN 1090 : CONVERT ATO R5$,(###) : RETURN 1110 PRINT AT(7,40); : LINPUT ?-R6$ : IF STR(R6$,1,1)="+"THEN 1112 : IF STR(R6$,1,1)<>" "AND STR(R6$,2,1)=" "THEN IF STR(R6$,3,1)<>" "THEN 111 0 1112 CONVERT R6$TO C : ERRORGOTO 1110 1115 IF C<1THEN 1110 : A1=POS(R6$<>" ") : R6$=STR(R6$,A1) : IF STR(R6$,1,1)="+"THEN RETURN : IF A>CTHEN 1110 : CONVERT CTO R6$,(###) : RETURN 1130 PRINT AT(8,0); : LINPUT ?-R7$ : IF NUM(R7$)<1THEN 1130 : RETURN 1150 PRINT AT(8,40); : LINPUT ?-R8$ : IF R8$="Y"OR R8$="N"THEN RETURN : GOTO 1150 1250 A=3 1255 PRINT AT(T,1,A*80);HEX(06);"Ready to execute? '0 = Exit list utility or return to prompt 1" : PRINT " Type 1=Yes 2=Change mode 3=Reprompt all" : C$="?" : LINPUT ?-C$ : PRINT AT(8,2); : ON VAL(C$)-48GOTO 1300,550,340 : GOTO 1250 1300 IF STR(D$,2,2)>"05"THEN GOSUB 1310 : GOSUB 1780 : RETURN 1310 SELECT #5<D$> : $IF ON #5,1320 : GOTO 1350 1320 $OPEN 1350,#5 : $IF OFF #5,1350 : $PSTAT="\CC\E9\F3\F4\E9\EE\E7" : RETURN 1350 GOTO 5160 1390 PRINT AT(11,0);" Stream name Blocks # Del Stream name Blocks # Del" : GOSUB 2605 : S1$="?" : B1$="00001" : B2$="all" : R7$="1" : R8$="N" : PRINT AT(T,1,3*80);S1$;TAB(5);"Key print stream. Key space RETURN to execute or reprompt." 1415 FOR A=1TO 4 : PRINTUSING " # = Strm ## blocks received = ##### ";A," ";B2$(A); : NEXT A 1430 PRINT AT(T,1); : LINPUT S1$ : IF S1$=" "THEN 680 : IF S1$="?"THEN 1430 : IF S1$<"1"OR S1$>"4"THEN 1610 : B2$=B2$(VAL(S1$)-48) : IF B2$="00000"THEN 1625 1440 PRINT AT(T,1,3*80);S1$;TAB(5);"= Print stream requested Key space RET URN to execute or reprompt." : PRINTUSING 260,B1$,"Starting block",B2$,"Ending block" : PRINTUSING 265,R7$,"Number of copies" : CONVERT B2$TO C : CONVERT B1$TO D 1460 PRINT AT(T,30,50);" Key '0 to exit or reprompt." : PRINT AT(T+1,0); : LINPUT ?B1$ : CONVERT B1$TO B1 : ERRORGOTO 1620 1470 IF B1<1OR INT(B1)<>B1THEN 1620 : IF B1>CTHEN 1630 : IF POS(B1$="+")>0THEN 1620 : CONVERT B1TO B1$,(#####) 1510 PRINT AT(T+1,40); : LINPUT -B2$ : IF B2$="all"THEN 1530 : CONVERT B2$TO B2 : ERRORGOTO 1620 1515 IF E0$(5)="A"THEN C=65536 : IF B2<1OR INT(B2)<>B2OR B2>CTHEN 1635 : A1=POS(B2$<>" ") : B2$=STR(B2$,A1) : IF STR(B2$,1,1)="+"THEN 1545 : IF B1>B2THEN 1635 : CONVERT B2TO B2$,(#####) 1530 R$=S1$ : STR(R$,2)=B1$ : STR(R$,7)=B2$ : PRINT AT(T+2,0,1*80); : PRINTUSING 265,R7$,"Number of copies" : GOTO 1560 1545 IF B1+B2>CTHEN 1635 : GOTO 1530 1560 GOSUB 1130 : IF R7$="0"THEN 1650 : IF R>29THEN 2145 : R2=R2+1 : R=R+1 : R$(R)=R$ : STR(R$(R),13)=R7$ : STR(R$(R),14)=R8$ : STR(R$(R),40)="2" : GOTO 1390 1610 PRINT AT(T+2,1,80);" *** stream number must be 1 or 2 or 3 or 4" : GOTO 1430 1620 PRINT AT(T+2,1,80);" *** block number must be numeric 00001 - 32768" : GOTO 1460 1625 PRINT AT(T+2,1,80);" *** Unable to list - there is no data in stream ";S 1$ : GOTO 1430 1630 PRINT AT(T+2,1,80);" *** block number must be numeric value ";D;"-";C : GOTO 1460 1635 PRINT AT(T+2,1,80);" *** block number must be numeric value ";D;"-";C : GOTO 1510 1650 IF R<1THEN 1390 : GOSUB 740 : GOTO 1390 1685 ON VAL(R1$)-10GOSUB 1690,1700,1715,2550 : IF VAL(R1$)<>14THEN 1050 : GOSUB 1010 : PRINT AT(T-1,0);R : PRINT AT(T,0);BOX(3,79) : GOSUB 2605 : GOTO 1030 1690 Z6=3 : GOSUB 2700 : GOSUB 2705 : Z5=Z7-(Z4-1) : IF Z5<0THEN GOSUB 1694 : IF Z5=0AND Z7=R9THEN Z6=1 : GOSUB 2660 : RETURN 1691 IF (MOD(Z4,3))=1THEN Z4=Z4+2 : ELSE Z4=Z4+1 : RETURN 1694 Z5=R9+Z5 : ON (MOD(R9,3))GOTO 1696,1697 : RETURN 1696 Z5=Z5+1 1697 Z5=Z5+1 : IF Z5>R9THEN Z5=0 : RETURN 1700 Z6=2 : GOSUB 2700 : GOSUB 2705 : GOSUB 2660 : RETURN 1715 Z6=1 : GOSUB 2700 : GOSUB 2705 : GOSUB 2660 : RETURN 1740 HEXPACKC$FROMSTR(D2$,2,2) : MAT REDIM S1$(3)80 : DATA LOAD DC OPEN T#0,"3270*PQ" : DATA LOAD DC #0,S1$() : MAT REDIM S1$(15)16 : A=0 : B$=BIN(#TERM+48) : IF C$>HEX(05)THEN B$=" " 1760 A=A+1 : IF A>15THEN RETURN : IF S1$(A)=" "THEN RETURN : IF C$<>STR(S1$(A),2,1)THEN 1760 : IF B$=" "THEN RETURN : IF STR(S1$(A),16,1)<>B$THEN 1760 : RETURN 1780 GOSUB 1740 : DBACKSPACE #0,1S : IF A<16THEN 1830 : A=0 1800 A=A+1 : IF A>15THEN 1810 : IF STR(S1$(A),2,1)<>" "THEN 1800 : GOTO 1830 1810 A=15 1830 BIN(R$)=1 : STR(R$,2)=C$ : CONVERT STR(D5$,1,2)TO D5 : BIN(STR(R$,3))=D5 : STR(R$,4)=D2$ : STR(R$,8)=D4$ : STR(R$,14)=D5$ : STR(R$,16)=B$ : S1$(A)=R$ : MAT REDIM S1$(3)80 : DATA SAVE DC #0,S1$() : C=A-1 : DSKIP #0,CS : DATA LOAD DC #0,S1$() : MAT REDIM S1$(20)12 : A=0 1980 A=A+1 : IF A>20THEN 1981 : IF S1$(A)<>" "THEN 1980 1981 IF R2=0THEN 2050 1985 IF R2>0THEN 2002 : A=0 1986 A=A+1 : IF A>20THEN 2010 : IF STR(S1$(A),3,8)<>S$THEN 1986 : C=VAL(STR(S1$(A),1,2),2) : IF C+R2>0THEN 2000 : FOR A=1TO 19 : S1$(A)=S1$(A+1) : NEXT A : S1$(20)=" " : R2=R2+C : IF R2=0THEN 2010 : ELSE GOTO 1985 2000 STR(S1$(A),1,2)=BIN(C+R2,2) : GOTO 2010 2002 IF A<20THEN 2005 : PRINT AT(8,0,80);TAB(10);"Max.of 20 items can be queued per printer" : A=2 : GOTO 1255 2005 S1$(A)=BIN(R2,2) : STR(S1$(A),3)=S$ : BIN(STR(S1$(A),11))=#TERM 2010 DBACKSPACE #0,1S : MAT REDIM S1$(3)80 : DATA SAVE DC #0,S1$() 2050 GOSUB 2870 : IF R0$(1)=" "THEN 2080 : IF STR(R0$(),,1)<>C$THEN 2060 : IF C$>HEX(05)THEN 2080 : IF VAL(STR(R0$(),8))-48=#TERMTHEN 2080 2060 S2=S2+1 : IF S2<5THEN 2050 : E=4 : PRINT AT(8,0,80);"Queue conflict -- Last list not entered" : GOTO 1250 2080 DBACKSPACE #2,1S : A$=C$ : STR(A$,2)=D4$ : STR(A$,7)=BIN(D5) : STR(A$,8)=BIN(#TERM+48) : R0$(1)=A$ : IF R<1THEN 2310 : IF R<31THEN 2150 2145 PRINT AT(8,0,80);TAB(10);"Maximum of 30 items may be queued." : A=2 : GOTO 1255 2150 B=2 : FOR A=1TO R : A$=R$(A) : IF STR(A$,40,1)="2"THEN 2240 : CONVERT STR(A$,1,3)TO C : ERRORGOTO 2350 2175 STR(R$,1)=BIN(C,2) : CONVERT STR(A$,5,3)TO C : ERRORGOTO 2350 2185 STR(R$,3)=BIN(C,2) : IF STR(A$,9,1)<>"+"THEN 2190 : CONVERT STR(A$,9,3)TO D : D1=C+D : CONVERT D1TO R6$,(###) : STR(A$,9,3)=R6$ 2190 CONVERT STR(A$,9,3)TO C : ERRORGOTO 2350 2195 STR(R$,5)=BIN(C,2) : BIN(STR(R$,7))=VAL(STR(A$,13))-48 : C$=HEX(00) : B$=R6$ : GOTO 2285 2240 CONVERT STR(A$,1,1)TO C : ERRORGOTO 2350 2245 STR(R$,1)=BIN(C,2) : CONVERT STR(A$,2,5)TO C : ERRORGOTO 2350 2252 STR(R$,3)=BIN(C,2) : STR(R$,5)=HEX(FFFE) : IF STR(A$,7,3)="all"THEN 2270 : IF STR(A$,7,1)<>"+"THEN 2260 : CONVERT STR(A$,7,5)TO D : D1=C+D : CONVERT D1TO B2$,(#####) : STR(A$,7,5)=B2$ 2260 CONVERT STR(A$,7,5)TO C : ERRORGOTO 2350 2265 STR(R$,5)=BIN(C,2) 2270 BIN(STR(R$,7))=VAL(STR(A$,13))-48 : C$=HEX(80) : B$=B2$ 2285 IF STR(A$,14,1)="Y"THEN OR (C$,40) : IF B$="+"THEN OR (C$,01) : STR(R$,8,1)=C$ : R0$(B)=R$ : B=B+1 : NEXT A 2310 IF R=0THEN B=1 : IF R<30THEN STR(R0$(),(B*8)-7)=" " : MAT REDIM R0$(3)83 : DATA SAVE DC #2,R0$() : RETURN 2350 STOP "ERROR IN LIST QUEUE - LINE # "# 2470 GOSUB 2700 : A=0 : GOSUB '102 2500 PRINT : DATA LOAD DC #2,R0$() : IF END THEN 2540 : Z=Z+1 : IF R0$(1)=" "THEN RETURN : GOSUB 245 : IF R0$(2)=" "THEN RETURN : GOSUB 245 : IF R0$(3)=" "THEN RETURN : GOSUB 245 : IF Z>22.5THEN 2540 : IF A<R9OR A=R9THEN 2500 2540 Z7=A : RETURN 2550 PRINT HEX(03); : N=1 : IF R>0THEN 2590 : PRINT AT(5,0);"No reports are currently queued." 2570 PRINT AT(23,0);"Key any character to return to Off-line List.";AT(23,0) : KEYIN C$ : N=0 : RETURN 2590 PRINT AT(2,0);TAB(15);R;"Items in List Queue for Printer ";D2$ : PRINT : B=1 : GOSUB 2630 : GOTO 2570 2605 PRINT AT(10,0);"Items to list are:" 2610 PRINT AT(5,0);R : IF R=0THEN 2620 : Z=12 : PRINT AT(12,0) : B=1 : IF R>30THEN 2145 : IF R>12THEN B=R-11 : GOSUB 2630 : GOTO 2620 : PRINT AT(5,0);R : IF R=0THEN 2620 : IF MOD(R,2)<>0THEN PRINT AT(12,0,(R+1)*40) : ELSE PRINT AT(12,0); : B=1 : IF R>30THEN 2145 : IF R>12THEN B=R-11 : GOSUB 2630 2620 Z7,T8=0 : GOSUB 2700 : GOSUB 2705 : T8=Z7-(Z4-1) : IF T8=0THEN 2625 : IF T8<0THEN GOSUB 2710 : T8=T8-1 2625 IF T8=0THEN Z6=1 : GOSUB '102 : GOSUB 2740 : RETURN 2630 FOR A=BTO R : R$=R$(A) : IF R<12AND MOD(R,2)<>0THEN IF A=RTHEN PRINT TAB(80);HEX(0C) : IF STR(R$(A),40)="1"THEN 2640 : PRINTUSING "Stream # ##### - ##### # # \8B",STR(R$,1,1);STR(R $,2,5),STR(R$,7,5),STR(R$,13,1),STR(R$,14,1); : NEXT A : RETURN 2640 PRINTUSING "### ################## ### - ### # # \8B",STR(R$,1,3);STR(R $(A),15,18),STR(R$,5,3),STR(R$,9,3),STR(R$,13,1),STR(R$,14,1); : NEXT A : RETURN 2660 ON Z6GOSUB 2670,2680,2690 : IF T8+R9<Z4THEN Z6=1 : GOSUB '102 : GOTO 2740 2670 T8=0 : Z6=1 : RETURN 2680 T8=Z7 : IF Z7=R9THEN 2670 : RETURN 2690 T8=Z5-(Z4-1)-1 : IF T8<0THEN GOSUB 2710 : T8=T8-1 : IF T8=0THEN Z6=1 : RETURN 2700 Z=11+R/2+2 : IF R>12THEN Z=19 : IF Z<>19AND MOD(R,2)=1THEN Z=Z+.5 : PRINT AT(Z-1,0,2*80) : PRINT AT(Z,0);"Reports available are: "; : RETURN 2705 Z=Z+1 : IF MOD(R,2)=1THEN Z=Z+.5 : IF R>12THEN Z=20 : Z4=((23-Z)+1)*3 : IF INT(Z4)<>Z4THEN Z4=Z4+1 : Z4=INT(Z4) : IF Z4>R9THEN Z4=R9 : IF (MOD(Z4,3))<>0THEN GOSUB 1691 : RETURN 2710 T8=R9+T8 : ON (MOD(R9,3))GOTO 2720,2730 : RETURN 2720 T8=T8+1 2730 T8=T8+1 : RETURN 2740 PRINT AT(Z-1,0); : IF T8=1THEN T8=0 : IF T8<3THEN 2750 : Z9=T8/3 : DSKIP #2,Z9S 2750 PRINT : DATA LOAD DC #2,R0$() : IF END THEN GOSUB 2800 : IF T8=R9AND Z6=1THEN RETURN : IF R0$(1)=" "THEN GOSUB 2800 : IF T8=R9AND Z6=1THEN RETURN : GOSUB 2790 : IF R0$(2)=" "THEN 2810 : GOSUB 2790 : IF R0$(3)=" "THEN 2820 : GOSUB 2790 : IF Z>22.5THEN 2840 : Z=Z+1 : IF T8=R9THEN GOSUB 2830 : GOTO 2750 2790 T8=T8+1 : PRINTUSING 250,T8,STR(R0$(MOD(T8-1,3)+1),1,18); : RETURN 2800 IF T8=R9AND Z6=1THEN 2840 : GOSUB 2835 : PRINT : DATA LOAD DC #2,R0$() : RETURN 2810 IF T8=R9AND Z6=1THEN 2840 : GOSUB 2860 2820 IF T8=R9AND Z6=1THEN 2840 : GOSUB 2860 : GOSUB 2835 : IF Z>22.5THEN 2840 : Z=Z+1 : GOTO 2750 2830 IF Z6=1THEN 2840 2835 GOSUB '102 : T8=0 : RETURN 2840 Z7=T8 : ON MOD(T8,3)GOSUB 2850,2860 : IF Z<22THEN PRINT AT(Z+1,0,) : RETURN 2850 PRINT " "; 2860 PRINT " "; : RETURN 2870 DATA LOAD DC OPEN T#2,S0$ : DSKIP #2,S2S : MAT REDIM R0$(3)83 : DATA LOAD DC #2,R0$() : MAT REDIM R0$(31)8 : RETURN 2890 DEFFN'102 : DBACKSPACE #2,BEG : DSKIP #2,5S : RETURN 2920 GOSUB 2870 : R,R1,R2=0 : IF R0$()=" "THEN RETURN : R1=-1 2985 R1=R1+1 : IF R1<31THEN IF R0$(R1+1)<>" "THEN 2985 : GOSUB 4010 : R1=R1-1 : R=R1 : RETURN 3000 A=0 : B$=BIN(#TERM+48) 3010 A=A+1 : IF A>5THEN 3100 : IF E$(A)=" "THEN 3050 : IF STR(E$(A),15,3)<>D2$THEN 3010 : IF STR(D$,2,2)>"05"THEN 3050 : IF STR(E$(A),19,1)<>B$THEN 3010 3050 E$(A)=".. Printer "&D2$&" "&B$&" Reserved" : C$="C" : PRINT HEX(06);AT(T,0,3*80);" Type A=Abort job B=Begin listing C=Contin ue prompts"; : LINPUT -C$ : ON POS("ABC"=C$)+1GOTO 290,310,3100,170 3100 D0=4 : N$(5)="B327043" : LOAD T#0,"B327042" 4010 FOR A=2TO R1 : R3$=R0$(A) : C$=STR(R3$,8) : AND (C$,40) : IF C$<>HEX(40)THEN STR(A$,14,1)="N" : ELSE STR(A$,14,1)="Y" : C$=STR(R3$,8) : AND (C$,80) : IF C$<>HEX(80)THEN 5030 : CONVERT VAL(STR(R3$,1,2),2)TO STR(A$,1,1),(#) : CONVERT VAL(STR(R3$,3,2),2)TO STR(A$,2,5),(#####) : CONVERT VAL(STR(R3$,5,2),2)TO STR(A$,7,5),(#####) : CONVERT VAL(STR(R3$,7))TO STR(A$,13,1),(#) : STR(A$,40)="2" 4070 R$(A-1)=A$ : NEXT A : RETURN 5030 CONVERT VAL(STR(R3$,1,2),2)TO STR(A$,1,3),(###) : IF STR(A$,1,1)<>"0"THEN 5040 : IF STR(A$,2,1)="0"THEN 5032 : ELSE STR(A$,1,1)=STR(A$,2,1) : STR(A$,2,1)=STR(A$,3,1) : STR(A$,3,1)=" " : GOTO 5040 5032 STR(A$,1,1)=STR(A$,3,1) : STR(A$,2,2)=" " 5040 CONVERT VAL(STR(R3$,3,2),2)TO STR(A$,5,3),(###) : CONVERT VAL(STR(R3$,5,2),2)TO STR(A$,9,3),(###) : CONVERT VAL(STR(R3$,7))TO STR(A$,13,1),(#) : MAT COPY R0$()TO R3$() : CONVERT STR(A$,1,3)TO C : DBACKSPACE #2,BEG : DSKIP #2,INT((C+2)/3)+4S : DATA LOAD DC #2,R3$() : IF END THEN 2050 : B=MOD(C-1,3)+1 : STR(A$,15,18)=STR(R3$(B),1,18) : STR(A$,40)="1" : GOTO 4070 5100 SELECT #5<D$> : $IF ON #5,5110 : ERRORGOTO 5160 5105 $IF OFF #5,5110 : GOTO 5160 5110 $OPEN 5150,#5 : $IF OFF #5,5160 : $CLOSE#5 : Y=0 5130 Y=Y+1 : IF Y>15THEN RETURN : F$=$PSTAT(Y) : ERRORY=ERR 5140 IF STR(F$,1,5)<>"List "THEN 5130 : IF STR(F$,6,3)=D$THEN 5160 : GOTO 5130 5150 Y=Y+1 : IF Y>15THEN RETURN : F$=$PSTAT(Y) : ERRORY=ERR 5155 IF STR(F$,1,8)<>"\CC\E9\F3\F4\E9\EE\E7"THEN 5150 5160 RETURN CLEAR : PRINT " device not available" : GOTO 890 5230 RESTORE LINE5230,E : READ A$ : RETURN : DATA "device address not in table","device not available","printer not re ady","Four available slots are filled"