Listing of file='B327043' on disk='vmedia/bsc_3271_rel_1.14.04.wvd.zip'
# Sector 842, program filename = 'B327043'
0010 REM B327043 02/14/84 Off-List Set-up & Prompts
0040 ON AGOTO 65,65,65
: STOP "BRANCH FLAG NOT SET IN A Line = "#
: DIM J$2,R0$(3)83,R1$(15)16,R2$(20)12,R3$(30)8,E1$16,E2$16,R3$8
0065 DATA LOAD DC OPEN T#0,"3270*PQ"
0070 C1=A
: ON C1GOSUB 100,230,1200
: A=0
0072 A=A+1
: IF A=5THEN 185
: IF P(A)=-1THEN 72
: PRINT AT(4,0,);AT(8,31);"Loading Lister"
: C1=0
: P$=HEX(00)
: LOAD DC T#0,"B327044"
0100 FOR D=1TO L0
: GOSUB 550
: CONVERT D5$TO A
: F$(9,D)=BIN(A,2)
: NEXT D
0120 IF E$(L0)<>" "THEN 140
: L0=L0-1
: IF L0>1THEN 120
0140 D=1
: S0=0
: X0=10
: Y0=12*80
: A=0
: RETURN
0170 DEFFN'0
: C$="C"
0180 PRINT HEX(06);AT(6,0,17*80);"Type A=Abort job C=Continue off-line utilit
y";
: LINPUT -C$
: ON POS("AC"=C$)+1GOTO 180,200
: X=X-1
: PRINT AT(X0,0,Y0)
: X0=10
: Y0=12*80
: RETURN
0185 GOSUB '99(0,"There is no data to list queued from this terminal")
: PRINT AT(2,25);"or the device is unavailable"
: A=10
: GOSUB 222
0200 $CLOSE
: RETURN CLEAR ALL
: COM CLEAR B$
: LOAD DC T#0,N$(1)
0220 DEFFN'99(A,A$)
: SELECT PRINT 005
: PRINT HEX(03);BOX(3,79);HEX(0A0E);TAB(40-LEN(A$)/2);A$
0222 IF A=0THEN RETURN
: SELECT P2
: FOR A=ATO 0STEP -1
: PRINT A;HEX(0C)
: NEXT A
: SELECT P
: RETURN
0230 PRINT AT(T,0,20*80)
0245 PRINT AT(T+5,0,);" What do you wish to do?"
: RESTORE
: C=0
: FOR C=1TO 6
: READ R0$
: PRINT R0$
: NEXT C
0255 DATA "1 = Restart print of current list item","2 = Abort print of current
list item","3 = Abort print and remove list queue","4 = Abort print and
retain list queue","5 = Retain queues and return to prompts for more item
s","6 = Display queue"
0260 GOSUB 335
: IF B$=" "THEN RETURN
: C$=B$
: IF A>CTHEN 245
: C=A
: IF C=5THEN 320
: PRINT AT(T,1,);
: RESTORE C
: READ R0$
: PRINT R0$
: PRINT AT(T+5,0,);" On which printer?"
: FOR A=1TO L0
: PRINT A;" = ";STR(E$(A),1,34);" ";STR(E$(A),41,18)
: NEXT A
0280 GOSUB 335
: IF B$=" "THEN 230
: D=A
: IF E$(D)=" "THEN 280
: PRINT AT(T+1,0,80);A;"= ";STR(E$(A),1,34);" ";STR(E$(A),41,18);" Page ="
;VAL(F$(6,D),2)
: IF C=6THEN 320
: A$=STR(E$(D),24,10)
: IF A$="Finished"THEN 355
: IF C<>1THEN 320
: IF A$="Aborted"THEN IF STR(E$(D),16,1)="1"THEN 2200
0300 PRINT AT(T+5,0,);" Restart at what Page?"
: PRINT " RETURN = current position"
: PRINT " or PAGE NUMBER"
: PRINT " or + PAGES"
: PRINT " or - PAGES"
0305 B1$=" "
: PRINT AT(T+5,0);
: LINPUT -B1$
: IF B1$=" "THEN RETURN
: CONVERT B1$TO B1
: ERRORGOTO 305
0310 B1(D)=VAL(F$(2,D),2)
: B2(D)=VAL(F$(4,D),2)
: D(D)=0
: F$(5,D)=BIN(1,2)
: IF STR(B1$,1,1)="-"THEN 314
: IF STR(B1$,1,1)="+"THEN 311
: F$(7,D)=BIN(B1,2)
: F$(6,D)=BIN(1,2)
: GOTO 320
0311 F$(6,D)=ADDCBIN(B1,2)
: F$(7,D)=F$(6,D)
: F$(6,D)=BIN(1,2)
: GOTO 320
0314 B1=ABS(B1)
: F$(6,D)=SUBCBIN(B1,2)
: F$(7,D)=F$(6,D)
: F$(6,D)=BIN(1,2)
: IF F$(7,D)>HEX(F000)THEN F$(7,D)=BIN(1,2)
0320 ON CGOSUB 350,365,375,385,410,460
: RETURN
0335 B$=" "
: PRINT AT(T+5,0);
: LINPUT ?-B$
: IF B$=" "THEN RETURN
: IF B$<"1"OR B$>"9"THEN 335
: A=VAL(B$)-48
: RETURN
0350 GOSUB 2000
: D(D)=0
: B1(D)=VAL(F$(2,D),2)
: RETURN
0355 PRINT AT(T+1,40,40);
: IF C=1THEN PRINT "it cannot be restarted"
: GOTO 245
0365 GOSUB 2000
: A=3
: RETURN CLEAR
: GOTO 70
0375 GOSUB 2000
0376 IF STR(E$(D),24,10)="Finished"THEN RETURN
: GOSUB 1200
: GOTO 376
0385 GOSUB 2000
: STR(E$(D),24,9)="Aborted"
: D(D)=-1
: RETURN
0410 GOSUB '99(9,"Function not yet available")
: RETURN
0460 GOSUB '99(0,"Outstanding queue items")
: PRINT AT(2,21);STR(E$(D),,17);" lines per page =";VAL(F$(9,D),2)
: DBACKSPACE #2,BEG
: C=VAL(F$(3,D))
: DSKIP #2,CS
: DATA LOAD DC #2,R0$()
: MAT COPY R0$()TO R3$()
: C=1
0465 C=C+1
: R3$=R3$(C)
: IF R3$=" "THEN 520
: IF STR(R3$,8,1)>HEX(40)THEN 500
: A=VAL(R3$,2)
: GOSUB 680
: PRINTUSING "Item = ## Report = ### Pages = #### - #### copies = # ###
###############";C-1,VAL(STR(R3$,1),2),VAL(STR(R3$,3),2),VAL(STR(R3$,5),2
),VAL(STR(R3$,7,1)),A$
: GOTO 465
0500 PRINTUSING "Item = ## Stream = ### Blocks = #### - #### copies = #";C-1
,VAL(STR(R3$,1),2),VAL(STR(R3$,3),2),VAL(STR(R3$,5),2),VAL(STR(R3$,7,1))
: GOTO 465
0520 PRINT AT(22,0);" # Key any key to return to other prompts";AT(22,1);
: KEYIN C$,,540
0540 GOSUB '99(0,"Wang 2200/3270 Spool file lister")
: GOTO 245
0550 D2$=" "
: GOSUB 700
: IF D2$=" "THEN RETURN
: B=0
: GOSUB 930
: IF B=0THEN RETURN
: F$(1,D)=BIN(A)
: D2$(D)=D2$
: D4$(D)=D4$
0580 R$(D)=R3$
: A$="<< from stream >>"
: C$=STR(R3$,2)
: ADD(C$,30)
: B1=VAL(STR(R3$,3),2)
: B2=VAL(STR(R3$,5),2)
: F$(7,D)=HEX(0001)
: F$(8,D)=HEX(7FFF)
: IF STR(R3$,8)>HEX(7F)THEN 630
: A=VAL(R3$,2)
: GOSUB 680
: C$=STR(A$,24)
: F$(7,D)=BIN(B1,2)
: F$(8,D)=BIN(B2,2)
: CONVERT STR(A$,26,3)TO B1
: CONVERT STR(A$,30,3)TO B2
: B2=B1+B2-1
0628 R9$=STR(A$,34)
: R2$=STR(A$,50)
0630 B1(D)=B1
: B2(D)=B2
: P(D)=D0(VAL(C$)-48)
: STR(E$(D),1,59)=C$&". Printer "&D2$(D)&" Selected "&HEX(2020FF0
00020)&A$
: F$(2,D)=BIN(B1,2)
: F$(4,D)=BIN(B2,2)
: F$(5,D),F$(6,D)=BIN(1,2)
: IF C1=1THEN F$(3,D)=BIN(C)
: RETURN
0680 DBACKSPACE #2,BEG
: DSKIP #2,INT((A+2)/3)+4S
: DATA LOAD DC #2,R0$()
: A$=R0$(MOD(A-1,3)+1)
: RETURN
0700 DBACKSPACE #0,BEG
: MAT REDIM R0$(3)80
: DATA LOAD DC #0,R0$()
: MAT COPY R0$()TO R1$()
: A=0
0790 A=A+1
: IF A>15THEN RETURN
: E1$=R1$(A)
: IF E1$=" "THEN RETURN
: DATA LOAD DC #0,R0$()
: MAT COPY R0$()TO R2$()
: C=0
0830 C=C+1
: IF C>20THEN 790
: E2$=R2$(C)
: IF E2$=" "THEN 790
: IF STR(E1$,16,1)=" "THEN 870
: IF VAL(STR(E2$,11))<>#TERMTHEN 830
0870 IF STR(E2$,3,8)<>S$THEN 830
: IF C1>1THEN RETURN
: MAT SEARCHD2$(),=STR(E1$,4,3)TO J$STEP 3
: IF J$>HEX(0000)THEN 830
: D2$=STR(E1$,4,3)
: D4$=STR(E1$,8,5)
: D5$=STR(E1$,14,2)
: SELECT #5<D2$>
: $IF OFF #5,830
: ERRORRETURN
0908 $OPEN #5
: $IF OFF #5,830
: IF D4$="2281"THEN GOSUB 2130
: STR(E1$,16,1)=BIN(#TERM+48)
: RETURN
0930 MAT REDIM R0$(3)83
: SELECT #2<D1$>
: DATA LOAD DC OPEN T#2,S0$
: ERRORPRINT AT(22,0,80);HEX(07);S0$;" Not available on ";D1$
: RETURN
0960 C=1
: DSKIP #2,1S
0980 GOSUB 990
: IF B=1THEN RETURN
: C=C+1
: IF C<5THEN 980
: RETURN
0990 DATA LOAD DC #2,R0$()
: IF STR(R0$(),1,2)=HEX(2020)THEN RETURN
: MAT COPY R0$()TO R3$()
: C$,R3$=R3$(1)
: HEXUNPACKC$TO A$
: IF STR(A$,1,2)<>STR(D2$,2,2)THEN RETURN
: IF C$>HEX(05)THEN 1100
: B$=BIN(#TERM+48)
: IF STR(R3$,8,1)<>B$THEN RETURN
1100 R3$=R3$(2)
: IF STR(R3$,1,2)=HEX(2020)THEN RETURN
: B=1
: RETURN
1200 DBACKSPACE #2,BEG
: C=VAL(F$(3,D))
: DSKIP #2,CS
: D(D)=0
: F$(6,D),F$(5,D)=BIN(1,2)
: DATA LOAD DC #2,R0$()
: MAT COPY R0$()TO R3$()
: R3$=R3$(2)
: A=VAL(STR(R3$,7))
: IF A<2THEN 1280
: STR(R3$,7,1)=BIN(A-1)
: R3$(2)=R3$
: GOTO 1390
1280 C$=STR(R3$,8)
: AND (C$,40)
: IF C$=HEX(00)THEN 1290
: A=VAL(R3$,2)
: GOSUB 680
: STR(R0$(MOD(A-1,3)+1),20,1)="D"
: DBACKSPACE #2,1S
: DATA SAVE DC #2,R0$()
1290 DBACKSPACE #0,BEG
: MAT REDIM R0$(3)80
: A=VAL(F$(1,D))
: DSKIP #0,AS
: DATA LOAD DC #0,R0$()
: MAT COPY R0$()TO R2$()
: E2$=R2$(1)
: IF E2$=" "THEN 1360
: A=VAL(E2$,2)
: IF A<2THEN 1340
: STR(R2$(1),1,2)=BIN(A-1,2)
: GOTO 1360
1340 STR(R2$(),1)=STR(R2$(),13,12*19)
1360 MAT COPY R2$()TO R0$()
: DBACKSPACE #0,1S
: DATA SAVE DC #0,R0$()
: MAT REDIM R0$(3)83
: IF R3$(3)=" "THEN 1500
: STR(R3$(),9)=STR(R3$(),17,28*8)
: R3$=R3$(2)
1390 C=VAL(F$(3,D))
: GOSUB 580
1410 MAT COPY R3$()TO R0$()
: DBACKSPACE #2,BEG
: DSKIP #2,CS
: DATA SAVE DC #2,R0$()
: F$(5,D),F$(6,D)=BIN(1,2)
: E0$(D)=" "
: RETURN
1500 INIT(" ")R3$()
: GOSUB 1410
: E0$(D)="E"
: SELECT #5<STR(E$(D),15,3)>
: STR(E$(D),24,10)="Finished"
: D(D)=-1
: $CLOSE#5
: IF STR(E$(D),15,3)>"05"THEN GOSUB 2300
: RETURN
2000 A$=STR(R0$,5)
: SELECT #5<STR(E$(A),15,3)>
: PRINT AT(20,0,);
: $GIO#5(012002FF1212400DA000400D400C400D,K$())A$
: IF K$(8)<>HEX(10)THEN RETURN
: STR(E$(A),24,9)="Not Ready"
: RETURN
2130 F$=HEX(0D0C020D0C030F)
: CONVERT STR(D5$,1,3)TO A1
: IF A1=66THEN 2140
: F$=HEX(020C010200000F)
: STR(F$,5,2)=BIN(A1*8,2)
2140 $GIO#5(010302801212A000,Z$)F$<1,7>
: RETURN
2200 STOP "Restarting an aborted list involves hogging the printer "#
: STOP "Restarting an aborted list involves hogging the printer "#
: GOTO 540
2300 DBACKSPACE #0,BEG
: MAT REDIM R0$(3)80
: DATA LOAD DC #0,R0$()
: MAT COPY R0$()TO R1$()
: A=0
: A=A+1
: IF A>15THEN STOP #
: E1$=R1$(A)
: IF E1$=" "THEN STOP #
: IF STR(E1$,2,1)>"05"THEN STR(R1$(A),16)=" "
: MAT COPY R1$()TO R0$()
: DBACKSPACE #0,BEG
: DATA SAVE DC #0,R0$()
: RETURN