image of READY prompt

Wang2200.org

Listing of file='609PRNT1' on disk='vmedia/731-0067F-disk1.wvd.zip'

# Sector 2569, program filename = '609PRNT1'
0010 REM 609PRNT1 237-07/29/86 Copyright Wang Laboratories, INC. 1986
0046 COM C1$1,C0$8,C2$5,C2,T5(7),T5$(11)4,J1$(256)1,C1,H
0106 DIM C4$4,C6$1,C8$2,C9$2,D0$15,C(8),C0(5),C1(5),B9$(7)1,C$(256)1,C0$(3,2)1
     ,C1$(159)1,C2$(159)1,C4$(100)2,C5$(100)1,C6$(159)1,C7$(256)1,C8$(80)1,D0$
     (6)1,D$(652)1,D9$(160)1,D8$(159)1,V0$(1)2,V1$(3)82
0177 SELECT ON ALERTGOSUB 1480
   : LIMITS T#0,"609$TRAN",C4,C6,C6,C6
   : DATA LOAD BA T#0,(C4+1)J1$()
   : D0$()=A1$&A1$
   : OR (STR(D0$(),4),80)
   : C5$()=ALL(FF)
   : D2=1
   : M3=D4
   : CONVERT T5$(8)TO D4
   : M4=D4
   : IF T5(1)>2THEN D4=1
   : IF M3<0 THEN D4=M3
0223 C1=D4
   : CONVERT STR(T5$(11),1,2)TO D7
   : C0$()=HEX(010204081020)
   : IF T5(1)=3THEN T5$(8)="01"
0236 DEFFN'99
   : RETURN CLEAR ALL
0238 IF T5(1)>2THEN 286
   : CONVERT STR(T5$(10),1,1)TO C7
   : $IF OFF /005,265
   : PRINT HEX(0202000F)
0265 IF T5(1)<3AND T5(4)<>2THEN $GIO#C7,(400C,C3$)
   : IF T5(1)>1THEN 277
   : ON T5(4)GOTO 270,267,270,267
0267 $GIO#C7,(400240064001400F,C3$)
   : GOTO 277
0270 $GIO#C7,(400240064002400F,C3$)
0277 C6$()=HEX(020C010200000F)
   : CONVERT T5$(7)TO C(8)
   : STR(C6$(),5,2)=BIN(C(8)*8,2)
   : IF T5(1)=1THEN $GIO#C7,(A200,C3$)C6$()<,LEN(C6$())>
0286 D0$=HEX(00818283848586FF8B8C7F)&D0$(2)&D0$(3)&D0$(5)&D0$(6)&ALL(00)
   : D0,D1=-1
   : GOSUB 1500
   : C4$=" "
   : C0(2)=0
   : C8$=" "
   : J1,C(6)=0
   : FOR C=1TO 5
   : CONVERT T5$(C)TO C(C)
   : NEXT C
   : C(6)=C(1)-1
   : IF C(6)=-1THEN C(6)=0
   : FOR C=6TO 7
   : CONVERT T5$(C)TO C(C+1)
   : NEXT C
   : IF C(8)>66AND T5(1)=4THEN C(8)=66
   : GOSUB 1365
   : C0,C5=0
0355 IF T5(1)=1AND T5(4)=2THEN $GIO#C7,(40024007400F,C3$)
   : IF T5(1)=3THEN PRINT HEX(03)
   : IF T5(1)=4THEN PRINT HEX(01030202000F)
0364 J6=1
   : C=1
   : D6,D5=0
   : C(6)=C(6)+1
   : IF D1=-1OR C(6)<C(4)THEN 409
   : D1=1
   : IF C1$="L"THEN J7=9
   : ELSE J7=13
   : GOSUB 1550
   : GOSUB 493
   : D1=2
   : GOSUB '103
   : D1=1
0409 IF C1$="L"THEN J7=13+C(6)*2
   : ELSE J7=15+C(6)*2
   : IF C1$="L"THEN J7=13+C(6)*2
   : ELSE J7=15+C(6)*2
   : GOSUB 1550
   : GOSUB '103
   : IF D0=-1OR C(6)<C(5)THEN 457
   : D0=1
   : IF C1$="L"THEN J7=7
   : ELSE J7=11
   : GOSUB 1550
   : GOSUB 493
   : D0=2
   : IF D5>=C(7)OR T5(1)=3THEN 451
   : C4=1
   : GOSUB 1750
   : FOR K=D5+3TO C(7)
   : IF T5(1)<3THEN $GIO#C7,(400D,C3$)
   : IF T5(1)=4THEN PRINT HEX(0D)
   : D5=D5+1
   : D6=D6+1
0448 NEXT K
0451 GOSUB '103
   : D0=1
0457 IF T5(1)<3THEN 475
   : IF T5(1)=4AND POS(C8$()<>C0)>0THEN PRINT HEX(0202020F);AT(B2,0);C8$();HEX
     (0202000F06);
   : GOSUB 1375
   : PRINT HEX(03)
   : GOTO 478
0475 IF T5(1)=1AND T5(4)=1THEN $GIO#C7,(400240064001400F,C3$)
   : IF R1$=HEX(25)THEN 478
   : IF C(6)>=C(2)AND D0>0THEN 478
   : $GIO#C7,(400C,C3$)
0478 IF C(6)>=C(2)OR C8$=HEX(0000)OR C1<=0THEN GOSUB '101
   : IF T5(1)=1AND T5(4)=2THEN $GIO#C7,(40024007400F,C3$)
   : IF C0=1THEN C5=C5+1
   : GOTO 364
0493 J9=POS(D$()="#")
   : IF J9=0THEN RETURN
   : C0=1
   : C$=ALL(00)
   : J8=POS(STR(D$(),J9)<>"#")-1
   : PRINTUSING TO C$,"#####",C(3)+C5
   : STR(C$,8)=" "
   : J6=5-POS(STR(C$,3)>" ")+1
   : J=POS(D$()=00)
   : IF J8<J6THEN MAT COPY -STR(D$(),J9+J8,J-J9)TO -STR(D$(),J9+J6,J-J9)
   : ELSE J6=J8
0520 STR(D$(),J9,J6)=STR(C$,3+POS(STR(C$,3)>" ")-1)
   : GOTO 493
0547 DEFFN'103
   : J1,J2,J3,J4,J5,C8=0
   : C5$()=ALL(FF)
   : C6$()=" "
   : C3,J6=1
   : CONVERT T5$(6)TO C6
   : IF T5(1)<2THEN $GIO#C7,(407F40FA4008400A)
   : IF T5(1)=2THEN $GIO#C7,(407F)
0573 D8=0
   : D8=D8+1
0577 IF D8>LEN(STR(D$(),1))THEN 589
   : IF D$(D8)<>HEX(00)THEN 601
0589 GOSUB 1555
   : GOSUB 1487
   : IF H=1OR R1$=HEX(25)THEN 730
   : GOTO 573
0601 KEYIN C5$,601,613
   : GOTO 635
0613 IF Q2$=" "THEN ON POS(HEX(0FF0)=C5$)+1GOTO 577,1385,1324
   : ELSE ON POS(HEX(070B0FF0)=C5$)+1GOTO 577,621,627,1385,1324
0621 Q2$="f"
   : GOSUB '31
0627 GOSUB 1338
0635 ON POS(STR(D0$,1)=D$(D8))GOTO 730,750,763,796,818,847,967,982,,1003,1045,
     1054,1054,1054,1054
0638 IF J6<C9THEN 719
   : C6$(J6)=D$(D8)
   : D8=D8+1
   : C1(1)=C9+1
0651 C1(1)=C1(1)-1
   : IF C1(1)=0OR POS(STR(C6$(),,C1(1))<>20)=0THEN 683
   : IF POS(HEX(80A0)=C6$(C1(1)))>0THEN 651
0663 C1(1)=C1(1)-1
   : IF C1(1)=0OR C1(1)<=COR POS(STR(C6$(),,C1(1))<>20)=0THEN 683
   : IF POS(HEX(80A0)=C6$(C1(1)))=0THEN 663
   : STR(D9$(),C)=STR(C6$(),C1(1)+1)
   : STR(C6$(),C1(1))=" "
0683 IF C8<>0THEN GOSUB 736
   : GOSUB '102
   : IF D9$()=" "THEN 701
   : C6$()=D9$()
   : D9$()=" "
   : J6=POS(-C6$()<>20)+1
   : GOTO 577
0701 J6=C
   : GOTO 577
0719 C6$(J6)=D$(D8)
   : J6=J6+1
   : D8=D8+1
   : IF D8>LEN(STR(D$(),1))THEN 577
   : IF POS(STR(D0$,1)=D$(D8))>0THEN 577
   : IF J6=C9THEN 638
   : GOTO 719
0730 IF C6$()=" "THEN RETURN
   : IF C8<>0THEN GOSUB 736
   : GOSUB '102
   : RETURN
0736 DEFFN'36
   : MAT REDIM D8$(C9-C8+1)1
   : D8$()=ALL(80)
   : C1(1)=POS(STR(C6$(),C8)=" ")-1
   : IF C1(1)<1THEN RETURN
   : C1(2)=INT((C9-C8+1-C1(1))/2)
   : IF C1(2)>0THEN C1(2)=C1(2)+1
   : IF C1(2)<2THEN RETURN
   : STR(D8$(),C1(2))=STR(C6$(),C8)
   : STR(C6$(),C8)=D8$()
   : C3,J6=POS(-C6$()<>20)+1
0742 C6$=BIN(C8)
   : MAT SEARCHC5$(),>=STR(C6$,,1)TO V0$()STEP 1
   : IF V0$()=HEX(0000)THEN RETURN
   : IF C5$(VAL(V0$(),2))=HEX(FF)THEN RETURN
   : C6$=BIN(C1(2)-1)
   : C5$()=ADDALL(C6$)
   : STR(C5$(),J5+1)=ALL(FF)
   : RETURN
0750 IF J6=1AND C8=1THEN 751
   : IF C=J6AND J6=C3THEN 752
   : IF C8<>0THEN GOSUB 736
0751 GOSUB '102
0752 C8=J6
   : D8=D8+1
   : GOTO 577
0763 IF POS(STR(C1$(),J6+1)=82)=0THEN 778
   : IF C8<>0THEN J6=MAX(INT((C9-C8+1)/2),1)
   : C8=0
   : C3,J6=J6+POS(STR(C1$(),J6+1)=82)
   : D8=D8+1
   : GOTO 577
0778 GOSUB '102
   : D8=D8+1
   : C3,J6=C
   : GOTO 577
0796 IF C8<>0THEN GOSUB 736
   : GOSUB '102
   : J3=0
0802 C3,C=1
   : D8=D8+1
   : J6=1
   : GOTO 577
0818 IF C8<>0THEN J6=MAX(INT((C9-C8+1)/2),1)
   : C8=0
   : C3,C,J6=J6+POS(STR(C1$(),J6+1)=82)
   : D8=D8+1
   : GOTO 577
0832 GOSUB '102
   : D8=D8+1
   : C3,J6,C=1
   : GOTO 577
0847 IF C8<>0THEN J6=MAX(INT((C9-C8+1)/2),1)
   : C8=0
   : J=POS(STR(C1$(),J6+1)=82)
   : IF J=0THEN 958
   : IF J=1THEN J=2
   : D8=D8+1
   : MAT C1=ZER
   : J8=D8-1
0871 J8=J8+1
   : IF POS(HEX(80A0DF)=D$(J8))>0THEN 871
   : C1(1)=POS(STR(D$(),J8)=A6$)
   : D$=A6$OR HEX(80)
   : C1(2)=POS(STR(D$(),J8)=D$)
   : C1(3)=POS(STR(D$(),J8)=29)
   : IF C1(3)=0THEN C1(3)=POS(STR(D$(),J8)=A9)
   : C1(4)=POS(STR(D$(),J8)=A0)
   : D=POS(STR(D$(),J8)=80)
   : C1(5)=1E9
   : FOR J9=2TO LEN(D0$)-1
   : D=POS(STR(D$(),J8)=STR(D0$,J9,1))
   : IF D>0AND D<C1(5)THEN C1(5)=D
0917 NEXT J9
   : D=POS(STR(D$(),J8)=80)
   : IF D>0AND D<C1(5)THEN C1(5)=D
   : FOR D=1TO 5
   : IF C1(D)=0THEN C1(D)=1E9
   : NEXT D
   : IF MIN(C1(1),C1(2),C1(3),C1(4),C1(5))<>1E9THEN 944
   : D9$()=STR(D$(),D8)
   : GOSUB 1555
   : GOSUB 1487
   : IF D1=2OR D0=2THEN GOSUB 493
   : D8=1
   : IF D9$(1)=HEX(00)THEN 934
   : J9=POS(D$()=00)-1
   : MAT COPY -STR(D$(),1,J9)TO -STR(D$(),POS(D9$()=00),J9)
0933 STR(D$(),,POS(D9$()=00)-1)=D9$()
0934 D9$()=" "
   : J8=0
   : GOTO 871
0944 J9=MIN(C1(1),C1(2),C1(3),C1(4),C1(5))-1+J8-D8
   : IF J6+J<=J9THEN J6=J6+1
   : ELSE J6=J6+J-J9
   : IF J9>0THEN STR(C6$(),J6,J9)=STR(D$(),D8,J9)
   : IF J8=D8THEN 950
   : I=POS(STR(D$(),D8,J8-D8)=HEX(DF))
   : IF I=0OR STR(D$(),D8+I,1)=HEX(DF)THEN 950
   : J5=J5+1
   : C5$(J5)=BIN(J6+I)
   : C4$(J5)=D$(D8+I-1)
   : C6$(J6+I-1)=HEX(80)
0950 D8=D8+J9
   : C3,J6=MAX(LEN(C6$())+1,J6)
   : GOTO 577
0958 GOSUB '102
   : D8=D8+1
   : C3,J6=C
   : GOTO 577
0967 C8=0
   : C1(1)=1
0968 C1(2)=POS(STR(D$(),D8)=83)
   : IF C1(2)>0THEN 975
   : STR(C1$(),C1(1))=STR(D$(),D8)
   : GOSUB 1555
   : GOSUB 1487
   : IF D0=2OR D1=2THEN GOSUB 493
   : D8=1
   : C1(1)=POS(C1$()=00)
   : GOTO 968
0975 STR(C1$(),C1(1))=STR(D$(),D8,C1(2))&ALL(00)
   : D8=D8+C1(2)-1
   : C9=POS(C1$()=83)
   : IF C6$()=" "THEN 802
   : ELSE GOTO 796
0982 GOSUB '100(1)
   : GOTO 577
0991 D8=D8+1
   : IF T5(1)=1THEN $GIO#C7,(400D40024007400F,C3$)
   : GOTO 577
1003 IF T5(3)<>3THEN 1015
   : D8=D8+1
   : GOTO 577
1015 J8=POS(STR(D$(),D8+1)=8C)+1
   : J9=POS(STR(D$(),D8+1)=83)+1
   : IF J8=1THEN J8=9999
   : IF J9=1THEN J9=9999
   : J8=MIN(J8,J9)
   : IF J8<>9999THEN 1040
   : GOSUB 1555
   : GOSUB 1487
   : IF D0=2OR D1=2THEN GOSUB 493
   : D8=1
   : GOTO 1015
1040 D8=D8+J8
   : GOTO 577
1045 GOSUB '100(0)
   : GOTO 577
1054 J5=J5+1
   : IF J5>100THEN 1462
   : C5$(J5)=BIN(J6)
   : IF POS(STR(D$(),D8,2)<>D0$(6))>0THEN 1072
   : C4$(J5)=STR(D$(),D8,2)
   : D8=D8+2
   : GOTO 577
1072 C4$(J5)=D$(D8)
   : D8=D8+1
   : GOTO 577
1084 DEFFN'102
   : $TRAN(C6$(),HEX(2080))R
   : IF T5(1)>2THEN 1117
   : IF C4$="F"THEN 1111
   : $IF OFF /005,1117
   : C4$="F"
   : IF T5(6)=2THEN PRINT HEX(0306);
   : GOSUB 2500
   : GOTO 1117
1111 $IF ON /005,1117
   : C4$="B"
1117 IF C4$="F"AND T5(1)<3THEN PRINT AT(9,63,4);HEX(06);C(6)
   : IF T5(3)<>2THEN 1276
   : IF POS(HEX(8182838485)=D$(D8))>0THEN 1276
   : IF C6$()=" "THEN 1276
   : J8=MAX(POS(C6$()<>20),C,C3)
   : J8=J8-1+POS(STR(C6$(),J8)<>20)
   : IF C3<=CTHEN J9=C9-POS(-STR(C6$(),1,C9+1)<>20)
   : ELSE J9=C9-J8-POS(-STR(C6$(),C3)<>20)+1
   : IF J9<=0 THEN 1276
   : C2$()=ALL(00)
   : J=0
   : J0=J8
1200 IF POS(HEX(20A0)=C6$(J0))=0THEN 1207
   : J=J+1
   : C2$(J)=BIN(J0)
1203 J0=J0+1
   : IF J0>C9-J9THEN 1222
   : IF POS(HEX(20A0)=C6$(J0))>0THEN 1203
   : GOTO 1200
1207 J0=J0+1
   : IF J0>C9-J9THEN 1222
   : GOTO 1200
1222 IF J=0THEN 1276
1225 D9=VAL(C2$(J))
   : J0=C9-J9+1-D9
   : J7=INT(J9/J+.9999)
   : MAT COPY -C6$()<D9,J0>TO -C6$()<D9+J7,J0>
   : C6$=BIN(D9)
   : MAT SEARCHC5$(),>=STR(C6$,,1)TO V0$()STEP 1
   : IF V0$()=HEX(0000)THEN 1258
   : IF C5$(VAL(V0$(),2))=HEX(FF)THEN 1258
   : C6$=BIN(J7)
   : STR(C5$(),VAL(V0$(),2))=ADDALL(C6$)
   : STR(C5$(),J5+1)=ALL(FF)
1258 V0$()=C6$(D9)
   : STR(C6$(),D9,J7)=ALL(V0$())
   : J=J-1
   : J9=J9-J7
   : IF J9>0AND J>0THEN 1225
1276 D1$=HEX(20)&D0$(1)&HEX(2080)
   : $TRAN(C6$(),D1$)R
   : C4=POS(B9$()=C1$(2))
   : IF C4=0THEN C4=4
   : GOSUB 1750
   : J1,J5=0
   : C8=0
   : D5=D5+1
   : D6=D6+1
   : C3,J6=C
   : C6$(),C4$()=" "
   : C5$()=ALL(FF)
   : RETURN
1322 IF T5(1)<>1THEN 1324
   : B2$=HEX(020A010208000E)
   : $GIO #C7,(A200,C3$)B2$<,LEN(B2$)>
1324 B2$=HEX(0D)&"     (Printout Cancelled by Operator)"
   : IF T5(1)<3THEN $GIO#C7,(A200400D400A,C3$)B2$<,LEN(B2$)>
1326 DEFFN'31
   : C5$=HEX(F0)
   : $PSTAT="  "
   : SELECT OFF ALERT
   : GOSUB '101
   : END
1338 PACK(##)STR(A5$,,1)FROM#TERM
   : STR(A5$,2,1)="W"
   : FOR J9=1TO 16
   : A5$()=$PSTAT(J9)
   : ERRORJ9=ERR
   : GOTO 1352
1343 IF STR(A5$(),15,2)=STR(A5$,,2)THEN 1347
   : NEXT J9
   : GOTO 1355
1347 $RELEASETERMINALTO J9
   : ERRORJ9=ERR
   : GOTO 1359
1348 J9=16
   : NEXT J9
   : RETURN
1352 J9=16
   : NEXT J9
1355 FOR J9=2TO 16
   : A5$()=$PSTAT(J9)
   : ERRORJ9=ERR
   : GOTO 1359
1357 IF STR(A5$(),15,2)=HEX(0057)THEN 1347
   : NEXT J9
1359 PRINT HEX(06);AT(23,0,);"No Partition Available";HEX(07);
   : RETURN
1361 RETURN
1365 $IF OFF /005,1371
   : IF Q2$=" "THEN IF T5(1)<3AND C(6)=C(1)-1AND T5(6)=2THEN PRINT HEX(0103);"
     Please check paper and Press the SELECT key on the printer";
1371 RETURN
1375 PRINT AT(23,1,79);"Document ";C2$;" Page";C(6);TAB(51);"Press EXECUTE to
     continue. ";HEX(058B08);
   : J=0
1381 KEYIN C5$
   : ON POS(HEX(F0820F)=C5$)+1GOTO 1381,1455,1413
1385 J=0
   : PRINT AT(23,51,);"Which Page : ";
   : C4$=" "
1389 KEYIN C5$
   : ON POS(HEX(08F08230313233343536373839)=C5$)+1GOTO 1389,1405,1401,1415
   : CONVERT C5$TO J9
   : J=J*10+J9
   : IF J>999THEN J=999
   : GOTO 1407
1399 IF T5(1)>2THEN 1375
1401 PRINT AT(23,0,);
   : GOTO 577
1405 J=INT(J/10)
1407 PRINT AT(23,63,3);
   : IF J>0THEN PRINT J;HEX(08);
   : ELSE PRINT HEX(09);
   : GOTO 1389
1413 RETURN
1415 IF J=0THEN 1401
   : RETURN CLEAR ALL
1419 C(6)=0
   : IF J<C(1)THEN C(6)=C(1)
   : IF J>C(2)THEN C(6)=C(2)
   : IF C(6)=0THEN C(6)=J
   : C(6)=C(6)-1
   : GOTO 355
1455 GOSUB '101
   : GOTO 1460
1460 B2$="Illegal Left Margin"
   : GOTO 1464
1462 B2$="Too many special characters in print line"
1464 IF T5(1)<3THEN $GIO#C7,(400DA200,C3$)B2$<,LEN(B2$)>
   : Q2$="D"
   : $IF OFF /005,1476
   : PRINT AT(23,0,);B2$;HEX(07);TAB(51);"Press CANCEL";
1472 KEYIN C$,1472,1474
1474 IF STR(C$,,1)<>HEX(F0)THEN 1472
1476 GOSUB '31
1480 IF C7=0THEN GOSUB '31
   : GOTO 1322
1487 IF M3>=0THEN RETURN
   : C1=MAX(POS(D$()=HEX(FF)),POS(D$()=HEX(7F)),C1)
   : IF C1=0AND C0(3)=0THEN C1=1
   : RETURN
2500 REM 609PECHO