image of READY prompt

Wang2200.org

Listing of file='3270PRNT' on disk='vmedia/bsc_3271_rel_1.14.04.wvd.zip'

# Sector 140, program filename = '3270PRNT'
0010 REM 327SPRNT  05/17/84
0014 DIM V1$(24)82,C$(4)1,E$(4)1,A$(10)1,I$(10)1,J$2,D(4),D0$(4)1,D1,D1(4),D1$
     (150)1,D9(4),D2$(4)2,D3$(4)1,D4$(4)3,C1,Z$16,D$(D9,80)24,D,J,C1$1,A1$4
   : DIM R$(3)83,N,E
0170 DEFFN@PART"3270PRNT"
   : SELECT @PART"3270UNIV"
   : J=9
   : D2$()=ALL(00)
0360 C1=0
0570 IF STR(@A$,33,4)<>A1$OR @C$=" "THEN 3230
0580 IF POS(STR(@T$(),9,4)>10)=0THEN 620
0600 B$=@T$(J)
   : IF STR(@A$,12+J,1)="3"THEN ON VAL(B$)-16GOSUB 2460,2690
   : J=J+1
   : IF J<13THEN 600
   : J=9
0620 $BREAK
   : D=D+1
   : IF D>D6THEN D=1
   : ON SGN(D(D))GOSUB 860
   : $IF OFF #4,570
   : ON C1GOTO 660
   : C1=1
   : GOSUB '99("P r i n t e r   C o n t r o l l e r   T a s k")
0660 PRINT AT(17+D,0);HEX(8B);
   : IF D6=0THEN PRINT "    Printers     None"
   : ELSE PRINTUSING 680,STR(@P$(D),1,2),STR(@P$(D),6,7),STR(@P$(D),15,5),STR(
     @P$(D),24,10),STR(@P$(D),66,8),VAL(STR(@P$(D),35),2)," "," ",D(D),D9(D)
   : PRINT HEX(0C20)
0664 PRINT AT(17,1);
   : PRINTUSING 680," .","Spooler",STR(@P$(5),55,3),STR(@P$(5),24,10),STR(@P$(
     5),66,8)," ",VAL(STR(@P$(5),35),2),VAL(STR(@P$(5),76),2)
   : GOSUB 3172
   : $IF OFF #9,570
   : KEYIN C$
   : $RELEASEPART
   : GOTO 360
0680 %## ####### ##### ##########   #########  #####     #####  #####    #####
      #####
0860 IF STR(@P$(D),6,1)="D"THEN 1110
   : SELECT #5<D4$(D)>
   : $GIO#5(010002011212400040004000,A$())
   : IF A$(8)<>HEX(10)THEN 930
   : ADDC(D2$(D),01)
   : IF D2$(D)<HEX(1000)OR STR(@P$(D),24,1)="I"THEN RETURN
   : IF D2$(D)=HEX(1000)THEN 928
   : IF D2$(D)<HEX(4000)THEN RETURN
   : STR(@P$(D),24,9)="Intervene"
   : A=D
0926 STR(@D$(A+8),2)=HEX(20)
   : @T$(A+8)=HEX(03)
   : RETURN
0928 STR(@P$(D),24,9)="Not Ready"
   : RETURN
0930 A=D(D)
   : B,C=D1(D)
   : B3=0
   : IF B>0THEN 1030
   : B=D9(D)-A
   : IF B>132THEN B=132
   : C=B
   : N=POS(STR(D$(),A,B)=15)
   : E=POS(STR(D$(),A,B)=19)
   : IF N+E=0THEN 1010
   : C=N
   : IF E=0THEN 1010
   : IF N=0THEN 1000
   : IF N<ETHEN 1010
1000 C=E
   : B3=1
1010 B=C-1
   : IF B=0AND B3=1THEN 1060
1030 INIT(20)D1$()
   : MAT COPY D$()<A,B>TO D1$()
   : $TRAN(D1$(),C9$())
   : A1=POS(D1$()=FF)
   : IF D3$(D)<>"N"THEN IF A1=0THEN 1060
1044 B1=POS(STR(D$(),A+A1,MAX(B-A1,1))>7F)-1
   : IF B1<0THEN B1=B-A1
   : D3$(D),STR(D1$(),MAX(A1,1),MAX(B1+SGN(A1)*1,1))=" "
   : IF B-A1=B1THEN D3$(D)="N"
   : A1=POS(D1$()=FF)
   : ON SGN(A1)GOTO 1044
1060 D(D),A=A+C
   : IF B=0AND B3=1THEN 1085
   : IF D1(D)>0THEN $TRAN(D1$(),HEX(35153919))R
   : IF POS(D1$()=0C)>0THEN GOSUB 1098
   : $GIO#5(1212A000400D,Z$)D1$()<1,LEN(D1$())>
1085 INIT(00)D2$(D)
   : A$="Printing"
   : GOSUB 1100
   : IF B3=1THEN 1093
   : IF D9(D)>ATHEN RETURN
1093 A$="Printed"
1094 GOSUB 1100
   : D(D)=0
   : IF STR(@D$(8+D),2)=HEX(20)THEN 3310
1096 STR(@D$(8+D),2)=HEX(C0)
   : @T$(8+D)=HEX(03)
   : RETURN
1098 C=LEN(D1$())
   : $TRAN(STR(D1$(),2,C),HEX(3C0C))R
   : IF D1$(1)<>HEX(0C)THEN RETURN
   : MAT COPY -D1$()<2,C>TO -D1$()<3,C>
   : D1$(2)=" "
   : RETURN
1100 IF STR(@D$(8+D),2)<>HEX(20)THEN STR(@P$(D),24,9)=A$
   : RETURN
1110 A=D(D)
   : IF MOD(A,D8)<>1THEN 1230
   : C$(D)=@N$
   : D(D)=2
   : MAT COPY D$()<A,D8>TO V1$()
   : STR(V1$(),1921,5)=STR(@P$(D),1,5)
   : D1=0
   : C$=E$(D)
   : IF STR(V1$(),,16)=STR(@N$,33,16)THEN D1=1
   : IF STR(V1$(),,16)=STR(@N$,49,16)THEN D1=2
   : IF D1<>1THEN 1145
   : GOSUB 3390
   : GOTO 1150
1145 IF C$<>HEX(01)THEN GOSUB 3630
1150 A$="Writing"
   : GOSUB 1100
   : GOSUB '225(D0(D),1,1,1)
   : IF R1$>HEX(00)THEN 1240
   : STR(@P$(5),35,2)=ADDCBIN(8)
   : A$="Saved"
   : GOSUB 1100
   : IF VAL(E$(D))=1AND D1=2THEN GOSUB 3810
1230 C$=@N$SUBC$(D)
   : IF C$<C1$THEN RETURN
   : A$="Ready"
   : GOTO 1094
1240 A$="Error"
   : HEXUNPACKR1$TO STR(A$,7,2)
   : IF R1$=HEX(01)THEN A$="Disk full"
   : FOR A=4TO 1STEP -1
   : D=A
   : IF STR(@P$(A),6,4)<>"Disk"OR STR(A1$,A,1)=" "THEN 1280
   : D(A)=0
   : GOSUB 1100
   : GOSUB 926
1280 NEXT A
   : RETURN
2460 $OPEN #6
   : Z$=@D$(J)
   : $GIO#6(40054210402040004000400040FEA000,Z$)D$()<(J-9)*D8+1,D8>
   : @T$(J)=HEX(00)
   : $CLOSE#6
   : RETURN
2690 B$=STR(@D$(J),2)
   : AND (B$,40)
   : IF B$<>HEX(40)THEN RETURN
   : $OPEN #6
   : $BREAK
   : $GIORCV#6(87008701870487038702C340,I$())D$()<(J-9)*D8+1,D8>
   : ERRORGOTO 2845
2720 @T$(J)=HEX(00)
   : $CLOSE#6
   : B$=I$(1)
   : AND (B$,08)
   : IF B$=HEX(00)THEN RETURN
   : A=J-8
   : D3$(A)=" "
   : ADDC(STR(@P$(A),35,2),01)
   : STR(@P$(A),3,3)=STR(I$(),1,3)
   : C$,D0$(A)=I$(1)
   : D(A)=(J-9)*D8+1
   : D9(A)=D(A)+D8
   : AND (C$,30)
   : C=0
   : IF C$=HEX(10)THEN C=40
   : IF C$=HEX(20)THEN C=64
   : IF C$=HEX(30)THEN C=80
   : D1(A)=C
   : RETURN
2845 @T$(J)=HEX(00)
   : $CLOSE#6
   : RETURN
3010 DEFFN'99(A$)
   : SELECT PRINT 005
   : PRINT HEX(03);BOX(5,79);HEX(0A0A0E);TAB(40-LEN(A$)/2);A$
   : PRINT AT(3,28);HEX(060E);"Cluster ";STR(@Z$,29,2);" Status Display"
   : PRINT AT(7,0);"CONFIGURATION";TAB(20);"Terminals";TAB(61);"Printers"
   : PRINT AT(8,16);"1  2  3  4  5  6  7  8";TAB(61);"1  2  3  4"
3090 PRINT "Configured:"
   : PRINT "Attached:"
   : PRINT "Dev.Status:"
   : PRINT "Xfr.Status:"
   : PRINT TAB(40);"TC board  = ";STR(@Z$,25,2)
   : PRINT AT(15,0);"Print Stream";TAB(42);"Blocks    Disk usage         Print
     er"
   : PRINTUSING 3220
   : PRINT AT(17,0);BOX(1,65)
3172 PRINT AT(9,15);STR(@C$,41,23);TAB(60);STR(@C$,1,11)
   : PRINT AT(10,15);STR(@A$,41,23);TAB(60);STR(@A$,1,11)
   : PRINT AT(11,14);
   : FOR A=1TO 8
   : PRINT " ";
   : HEXPRINT STR(@D$(A),2,1);
   : NEXT A
   : PRINT TAB(59);
   : FOR A=9TO 12
   : PRINT " ";
   : HEXPRINT STR(@D$(A),2,1);
   : NEXT A
   : PRINT AT(12,14);
   : FOR A=1TO 8
   : PRINT " ";
   : HEXPRINT @T$(A);
   : NEXT A
   : PRINT TAB(59);
   : FOR A=9TO 12
   : PRINT " ";
   : HEXPRINT @T$(A);
   : NEXT A
3205 PRINT AT(13,55);
   : IF STR(@A$,40,1)="A"THEN PRINT "Active"
   : ELSE PRINT "Idle  "
   : RETURN
3220 % No.   Device     Status       File name  Rcvd      Used  Total        P
     ointers
3230 IF @C$<>" "THEN 3250
   : $CLOSE
   : LOAD DC T#0,"3270BOOT"
3250 FOR C=1TO 4
   : IF STR(@A$,20+C,1)<"4"THEN IF STR(@A$,32+C,1)<>STR(A1$,C,1)THEN GOSUB 326
     0
   : NEXT C
   : GOTO 580
3260 D4$(C)=STR(@P$(C),15)
   : SELECT #5<D4$(C)>
   : IF STR(A1$,C,1)=" "THEN 3280
   : STR(A1$,C,1)=" "
   : STR(@D$(C+8),2)=HEX(20)
   : @T$(C+8)=HEX(03)
   : STR(@P$(C),24,10)="Detached"
   : D(C)=0
   : $CLOSE#5
   : RETURN
3280 STR(A1$,C,1)=STR(@A$,32+C,1)
   : STR(@D$(C+8),2)=HEX(C0)
   : @T$(C+8)=HEX(03)
   : STR(@P$(C),24,10)="Attached"
   : IF STR(@P$(C),6,1)="D"THEN 3295
   : $OPEN #5
   : RETURN
3295 STR(@P$(C),35,2)=STR(@N$,C*2+17,2)
   : RETURN
3310 IF STR(@P$(D),24,9)<>"Intervene"THEN RETURN
   : STR(@P$(D),24,9)=A$
   : GOTO 1096
3390 IF C$=HEX(01)THEN 3660
   : GOTO 3680
3630 A$=STR(@P$(D),66)
   : A=VAL(STR(@P$(D),41),2)+1
   : CONVERT ATO STR(A$,9),(#######)
   : GOTO 3700
3660 GOSUB 3810
3680 A$=STR(V1$(),17,19)
3700 STR(@P$(5),38,2)=ADDCBIN(1)
   : A=VAL(STR(@P$(5),38),2)
   : J$,STR(@P$(D),38,2)=STR(@P$(D),35,2)
   : BIN(C$)=D+48
   : STR(@P$(D),47,19)=A$
   : STR(A$,24)=C$&" xxx 000"
   : CONVERT VAL(J$,2)TO STR(A$,26,3),(###)
   : STR(@N$,D*2+9,2)=BIN(A,2)
   : GOSUB 3850
   : R$(MOD(A-1,3)+1)=STR(A$,1,33)&STR(@N$,33,32)
   : DATA SAVE DC #2,R$()
   : E$(D)=HEX(01)
   : RETURN
3810 A$=@P$(D)
   : J$,STR(A$,44,2)=STR(A$,35,2)SUBCSTR(A$,38,2)
   : STR(A$,41,2)=ADDCBIN(1)
   : STR(@P$(D),1,64)=A$
   : E$(D)=HEX(00)
   : A=VAL(STR(@N$,D*2+9,2),2)
   : GOSUB 3850
   : CONVERT VAL(J$,2)+1TO STR(R$(MOD(A-1,3)+1),30,3),(###)
   : DATA SAVE DC #2,R$()
   : RETURN
3850 DBACKSPACE #2,BEG
   : DSKIP #2,INT((A+2)/3)+4S
   : INIT(" ")R$()
   : DATA LOAD DC #2,R$()
   : DBACKSPACE #2,1S
   : RETURN