image of READY prompt

Wang2200.org

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

# Sector 720, program filename = '609ESRCH'
0010 REM 609ESRCH 240-10/01/86 COPYRIGHT WANG LABORATORIES, INC. 1986
0011 COM J3$(200)1
0013 DEFFNP(I)=1+D5*(D8-80)
   : DIM I0$(158)1,I(2),I6$1,I7$4
   : J7(2)=0
   : GOSUB '47
0018 DEFFNJ(I)=POS(V0$()=" ")-1
   : J0(5)=C3
   : J0(3),J0(4)=POS(V0$()=83)+1
   : IF J0(2)>0THEN 27
   : J0(2)=C3
   : J1,J0(3),J0(4)=J0(1)
0020 REM J = 1 - print from start of page, 2 - print from screen D2
0027 J=J7(3)
   : J7(3)=0
   : ON JGOTO 58,62,395,45,88,102,152
   : ON J7(1)-4GOTO 58,58
   : D1,J7(1)=0
   : IF D9=0THEN D9=80
   : GOSUB '63
0045 GOSUB '40
   : IF J7(1)<>0THEN 51
   : MAT J0=ZER
   : J7=0
0051 IF C1$="Glossary"THEN C7$=HEX(80)
0058 D2=1
   : PRINT HEX(03)
   : I(1)=0
0062 GOSUB '94(D2)
0072 C1=1
   : J9=FNJ(1)
   : IF J0(3)=POS(V0$()=83)+1THEN J0(3)=9E9
   : GOSUB '91(C1,J2(C1),I(1),0)
   : IF J0(3)=9E9THEN J0(3)=POS(V0$()=83)+1
   : D0=J5(1)
0088 IF J0(3)=POS(V0$()=83)+1THEN J0(3)=9E9
   : GOSUB '92(J2,J1,1)
   : IF J0(3)=9E9THEN J0(3)=POS(V0$()=83)+1
   : C9=0
   : J3=J4
   : GOSUB 290
   : IF J3$()=" "THEN 242
   : GOTO 205
0102 IF C7$<>HEX(00)THEN GOSUB 2005
   : IF D1$(1)<>HEX(86)THEN 122
   : J1=J2(C1+1)
   : GOSUB '93
   : GOTO 72
0120 IF J0>D9OR D1$(J0)<>" "THEN 130
0122 GOSUB '22(MAX(J4,1))
   : IF F=0THEN J0=J5(C1)+1
   : ELSE J0=F+1
0130 GOSUB '48(D5)
   : J3=J4
   : D7=0
   : D2$=D1$(J0)
   : IF J2(C1)+J3>J9AND POS(-D1$()<>" ")<J0THEN D2$=HEX(00)
0150 PRINT AT(23,48,32);
   : IF C5$<>" "THEN GOSUB 247
   : GOSUB 2160
   : GOSUB 2425
0152 KEYIN D1$,,402
   : $TRAN(D1$,HEX(828482E582A12081))R
   : ON POS(HEX(82FF08)=D1$)GOTO 304,250,1110
0164 D1$=D1$XOR C7$
   : $TRAN(D1$,HEX(8020830D838D))R
0172 IF D2$=" "OR D2$=HEX(8F)THEN 362
0182 IF D2$=HEX(00)THEN 150
   : IF J3$(LEN(J3$()))=HEX(8F)THEN 200
   : IF LEN(J3$())<200THEN 203
0200 GOSUB 2203
   : GOTO 150
0203 J3$(POS(J3$()=" "))=D1$
   : GOSUB 290
0205 GOSUB '46
   : IF I4=0THEN 1205
   : J=POS(-STR(V0$(),,J0(3)+I4-1)=86)
   : IF J>0THEN IF POS(STR(V0$(),J)=83)+J>J0(3)+I4-1THEN 376
   : IF J0(3)+I4-1<=POS(V0$()=83)THEN 372
   : I2=C1
   : GOSUB '35(J0(3)+LEN(J3$())-1)
   : I3=MIN(C1+1,22)
   : J0(3)=J0(3)+I4-1
   : J0(4)=J0(3)+LEN(J3$())-1
   : GOSUB '91(I2,J2(I2),1,I3)
   : J1=J0(3)
   : I=0
0221 GOSUB '35(J1)
   : I2=C1
   : J=POS(-STR(V0$(),,J1)=86)
   : IF J>0THEN IF POS(STR(V0$(),J)=83)+J>J1THEN 376
   : IF J1<=POS(V0$()=83)THEN 372
   : IF C1=C2AND J1>J2(C1)+J1(C1)-1THEN 238
   : GOSUB '35(J0(4))
   : I3=C1
   : I=1
   : IF I3<23THEN GOSUB '91(I2,J2(I2),1,I3)
0238 GOSUB '92(J2,J1,1)
   : IF I=0THEN 221
0242 GOSUB 290
   : GOTO 122
0247 IF C5$="F"THEN GOSUB 2345
   : IF C5$="T"THEN GOSUB 2355
   : IF C5$="P"THEN GOSUB 2345
   : IF C5$="W"THEN GOSUB 2345
   : IF C5$="C"THEN GOSUB 2345
   : C5$=" "
   : RETURN
0250 KEYIN D1$
   : ON POS(HEX(A008)=D1$)GOTO 268,1110
   : GOTO 203
0268 IF POS(HEX(7FFF8182838485868F8C8B)=D2$)=0THEN 278
   : D1$=D2$
   : GOTO 172
0278 IF C7$=HEX(00)THEN D1$=D2$OR HEX(80)
   : ELSE D1$=D2$AND HEX(7F)
   : $TRAN(D1$,HEX(8020A0808000))R
   : GOTO 182
0290 PRINT HEX(06);AT(23,30,50);B5$(2);
   : PRINTUSING "#############################",J3$();
   : GOSUB 2160
   : PRINT HEX(05);
   : RETURN
0304 IF J3$()=" "THEN 430
   : J0(3)=J0(3)+1
   : GOTO 205
0334 I(2)=1
0362 GOSUB 2330
   : GOTO 152
0372 J0(3)=J2(C1)+J1(C1)
   : GOTO 205
0376 J0(3)=MAX(J,1)+POS(STR(V0$(),MAX(J,1))=83)
   : GOTO 205
0395 GOSUB '91(C1,J2(C1),0,0)
   : GOSUB 290
   : IF J3$()<>" "THEN 205
   : GOTO 238
0402 IF D1$<HEX(80)OR D1$=HEX(F0)THEN 412
   : D1$=AND HEX(7F)
   : GOTO 164
0412 D3$=D1$
   : IF D1$<>HEX(FF)AND POS(J8$()=D1$)>0THEN D1$=BIN(MOD(POS(J8$()=D1$)-1,LEN(
     J8$(1))))
   : ELSE D1$=HEX(FF)
   : IF D1$=HEX(FF)THEN 164
   : IF D1$<HEX(16)THEN 440
   : D7=0
   : ON VAL(D1$)-21GOTO 430,430,430,430,430,430,430,430,,541,1504,426,430
   : GOTO 430
0426 IF D2$=" "OR D2$=HEX(8F)THEN 430
   : D7=0
   : ON VAL(D1$)+1GOTO 532,,539,541,,543,547,549,,,,,592,584,,,545,,,,,588,,,,
     ,,,,,,,182,592
0430 GOSUB 2320
   : GOTO 152
0440 IF J7(1)<>0AND POS(HEX(08090A0B0F11121314)=D1$)>0THEN 598
   : IF POS(HEX(08090A0B121314)=D1$)=0THEN 454
   : J1=J2(C1)+J3-1
   : IF J1>J9AND POS(HEX(1314)=D1$)=0THEN 362
0454 ON VAL(D1$)+1GOTO 426,534,426,426,430,426,426,426,304,598,598,598,624,426
     ,,426,426,598,598,598,598,426
   : GOTO 430
0532 D1$=HEX(84)
   : GOTO 182
0534 D1$=HEX(8F)
   : GOTO 182
0539 D1$=HEX(81)
   : GOTO 182
0541 D1$=HEX(85)
   : GOTO 182
0543 D1$=HEX(7F)
   : GOTO 182
0545 D1$=HEX(FF)
   : GOTO 182
0547 D1$=HEX(8C)
   : GOTO 182
0549 D1$=HEX(8B)
   : GOTO 182
0584 D1$=STR(A1$,3)
   : GOTO 164
0588 D1$=STR(A1$,2)
   : GOTO 164
0592 D1$=HEX(82)
   : GOTO 182
0598 GOSUB 2295
   : GOTO 152
0624 GOSUB '38
0626 PRINT HEX(05);
   : GOSUB 2170
   : PRINT HEX(06);
0628 KEYIN D1$,,648
   : PRINT HEX(06)
   : IF D1$<>" "THEN 632
   : D1$=A1$XOR C7$
   : PRINT AT(0,63,17);B5$(1);AT(C1,C7);
   : GOTO 182
0632 IF D1$<>HEX(FF)THEN 638
   : GOSUB '40
   : C7$=C7$XOR HEX(80)
   : PRINT HEX(05);AT(0,63,17);AT(23,40,20);B5$(1);
   : I6$=" "
   : J3=J3-1
   : GOTO 150
0638 IF D1$=HEX(2D)THEN 656
   : GOSUB 2360
   : GOTO 626
0648 ON POS(HEX(50F0011106160515)=D1$)/2+.5GOTO 652,656,668,676
   : GOSUB 2360
   : GOTO 626
0652 PRINT AT(0,63,17);B5$(1)
   : GOTO 150
0656 GOSUB 2295
   : GOTO 626
0668 IF D1$(J0)<>" "THEN 670
   : GOSUB 2330
   : GOTO 628
0670 J9$=BIN(J2(C1)+J3-1,2)&BIN(C3)
   : GOTO 652
0676 GOSUB 2205
   : GOTO 626
0702 DEFFN'63
   : IF V0$(1)=HEX(8F)THEN 711
   : J=MIN(J8-FNJ(1)-1,81)
   : MAT COPY -STR(V0$(),,LEN(V0$()))TO -STR(V0$(),J,LEN(V0$()))
   : STR(V0$(),,J-2)=HEX(8F31)&ALL(80)
   : V0$(J-1)=HEX(83)
   : GOTO 714
0709 STR(V0$(),FNJ(1)+1)=STR(V0$(),FNJ(1)+POS(STR(V0$(),FNJ(1)+1)<>20))
   : GOTO 714
0710 V0$(POS(STR(V0$(),3)<>80)+1)=HEX(83)
0711 A=POS(V0$()=83)
   : IF A=0THEN 710
   : IF A>80THEN STR(V0$(),79)=STR(V0$(),A-1)
0714 IF FNJ(1)=LEN(V0$())THEN 717
   : IF FNJ(1)>0THEN 709
   : STR(V0$(),J8-1)=" "
0717 J=POS(STR(V0$(),2)=8F)
   : IF J>0THEN STR(V0$(),J+1)=" "
   : IF C4$<>"E"THEN V0$(LEN(V0$())+1)=HEX(8F)
   : RETURN
0746 DEFFN'22(F)
   : MAT REDIM D6$(F)2
   : D6$()=ALL(00)
   : MAT SEARCHD1$(),<>" "TO D6$()
   : F=VAL(D6$(F),2)-1
   : IF F>=0THEN RETURN
   : F=POS(-D1$()<>20)
   : IF F=1AND C4$="E"AND D1$(1)=HEX(81)AND J2(C1)+1>=J9THEN F=INT(D9/2)
   : RETURN
0764 DEFFN'122(C)
   : F=C
   : MAT REDIM D6$(D9)2
   : D6$()=ALL(00)
   : IF F=0THEN 776
   : MAT SEARCHSTR(D1$(),,F),<>" "TO D6$()
   : F=VAL(D6$(F),2)
   : IF F<>0THEN 776
   : F=INT((POS(-D6$()>00)+1)/2)
0776 IF J9=J2(C1)+F-1AND D1$(J0)=" "THEN F=F+1
   : J3=F
   : RETURN
0790 DEFFN'40
   : KEYIN D3$,790,790
   : RETURN
0792 DEFFN'38
   : D1$,C3$=" "
   : GOSUB 2410
   : RETURN
0796 DEFFN'41
   : IF D2$<>" "THEN RETURN
   : IF POS(D1$()<>20)<J0THEN J3=J3+1
   : IF J0>J1(C1)THEN J0=J1(C1)+1
   : RETURN
0902 DEFFN'35(C8)
   : C1=1
0910 IF C8<J2(C1)THEN 954
   : IF J1(C1+1)=0THEN 928
   : IF J2(C1+1)>C8THEN 964
   : C1=C1+1
   : GOTO 910
0928 IF C8<J2(C1)+J1(C1)THEN 964
   : IF C1<C2THEN 954
   : IF V0$(J2(C1))=HEX(8F)THEN 948
   : J4=J1(C1)+1
   : GOTO 968
0948 J4=J1(C1)
   : GOTO 973
0954 C1=C1+1
   : J4=1
   : GOTO 973
0964 J4=C8-J2(C1)+1
0968 IF C8<FNJ(1)OR J1(C1)=0THEN 973
   : IF POS(-STR(V0$(),,C8)=86)=0THEN IF J4>D9THEN 954
   : IF POS(-STR(V0$(),,C8)=86)>0THEN IF POS(STR(V0$(),POS(-STR(V0$(),,C8)=86)
     )=83)<J4THEN 954
0973 IF C1=1THEN 954
   : RETURN
1110 STR(J3$(),LEN(J3$()))=" "
   : IF C3<>J0(2)THEN 1145
   : I2=C1
   : GOSUB '35(J0(3)+LEN(J3$())-1)
   : I3=MIN(C1+1,22)
   : J1=J0(1)
   : J0(3)=J0(1)
   : J0(4)=J0(3)+LEN(J3$())-1
   : GOSUB '91(I2,J2(I2),1,I3)
   : IF J3$()<>" "THEN 205
   : C1=2
   : GOTO 395
1145 C4=J0(2)
   : J1=J0(1)
1155 J7(2)=10
   : J7(3)=1
   : IF C4>7THEN 1164
   : CONVERT C4TO C6$,(#)
   : $TRAN(C6$,B8$())R
   : GOTO 1165
1164 CONVERT C4-7TO C6$,(###)
1165 KEYIN D1$,1167,1166
   : GOTO 1167
1166 IF D1$<>HEX(F0) THEN 1167
   : C4=C4-1
   : GOTO 1504
1167 GOSUB 2055
   : V1$()="609FpageRECMGR"
   : LOAD T<2>V1$()BEG 20
1205 IF C3<8OR C4$="E"THEN 1242
   : C4=C3+1
   : J1=0
   : GOTO 1155
1242 I2=C1
   : GOSUB '35(J0(3)+LEN(J3$())-1)
   : I3=C1
   : J0(3),J0(4)=J9+1
   : GOSUB '91(I2,J2(I2),1,I3)
   : J0(3),J0(4)=J9+1
   : GOSUB '92(0,J9+1,0)
   : GOSUB 290
   : PRINT AT(C1,C7);
1262 KEYIN D1$,,1296
   : IF D1$=HEX(08)THEN 1110
1290 GOSUB 2320
   : GOTO 1262
1296 IF D1$<>HEX(F0)AND D1$<>HEX(50)THEN 1290
   : GOTO 1504
1302 DEFFN'45
   : I7$=ALL(I6$)
   : IF I6$<>HEX(A0)AND I6$<>HEX(80)THEN I7$=XOR HEX(00800000)
   : IF I6$>="a"AND I6$<="z"THEN I7$=XOR HEX(000020A0)
   : IF I6$>="\E1"AND I6$<="\80"THEN I7$=XOR HEX(000020A0)
   : I4=0
   : FOR P=1TO POS(-I7$<>I6$)
   : L=POS(STR(V0$(),J0(3)+Q)=STR(I7$,P))
   : IF I4=0THEN I4=L
   : ELSE IF L>0THEN I4=MIN(I4,L)
   : NEXT P
   : RETURN
1308 DEFFN'46
   : K=J0(3)
   : IF J0(3)=0THEN J0(3)=1
1312 I6$=J3$()
   : Q=0
   : GOSUB '45
   : IF I4=0OR LEN(J3$())=1THEN RETURN
   : S=J0(3)
   : J0(3)=J0(3)+I4-1
   : R=1
   : FOR Q=1TO LEN(J3$())-1
   : I6$=STR(J3$(),Q+1)
   : GOSUB '45
   : IF I4<>1THEN R=0
   : IF R=0THEN Q=LEN(J3$())-1
   : NEXT Q
   : IF R=1THEN I4=J0(3)-K+1
   : ELSE I4=0
   : IF I4>0THEN J0(3)=K
   : IF I4>0THEN RETURN
   : I6$=J3$()
   : Q=0
   : GOSUB '45
   : J0(3)=J0(3)+I4
   : GOTO 1312
1504 MAT J0=ZER
   : MAT J7=ZER
   : J7(3)=3
   : J1=J2(C1)+J3-1
   : COM CLEAR J3$()
   : LOAD DA T(D7$(1))
2005 C3$="(Autoscore Mode)"
   : GOTO 2440
2025 C3$="(Document End)"
   : GOTO 2450
2055 C3$="Going to Page "
   : GOTO 2435
2135 C3$="(Page End)"
   : GOTO 2450
2160 C3$="Search for What?"
   : GOTO 2445
2170 C3$="Which Command?"
   : GOTO 2445
2203 C3$="Buffer full"
   : GOTO 2410
2205 C3$="Command Merge not implemented"
   : GOTO 2410
2215 C3$="Wrong page"
   : GOTO 2410
2270 C3$="Execute or Cancel"
   : GOTO 2410
2295 C3$="First finish Search"
   : GOTO 2410
2320 C3$="Invalid Key - Ignored"
   : GOTO 2410
2330 C3$="Move Cursor"
   : GOTO 2410
2345 C3$="Page Full"
   : GOTO 2410
2355 C3$="Too Many Pages"
   : GOTO 2410
2360 C3$="Unknown Command"
   : GOTO 2410
2410 IF I6$=" "AND C3$=" "THEN 2425
   : IF C3$<>" "THEN PRINT HEX(07);
   : IF I6$<>" "OR C3$<>" "THEN PRINT HEX(06);AT(23,48,32);B5$(2);C3$;HEX(0204
     00000E);
   : I6$=C3$
2425 PRINT HEX(06);AT(0,42,3);INT(J4(C1));AT(0,57,3);J0;HEX(020400000E);AT(C1,
     C7);HEX(02050F);
   : C3$=" "
   : RETURN
2435 PRINT HEX(0306);AT(7,30);B5$(3);C3$;" ";C6$;B5$(1)
   : RETURN
2440 PRINT HEX(06);AT(23,31,17);B5$(2);C3$;B5$(1);
   : RETURN
2445 PRINT HEX(06);AT(0,63,17);B5$(2);C3$;B5$(1);
   : RETURN
2450 PRINT HEX(06);AT(23,0,39);B5$(2);C3$;B5$(1);
   : RETURN
2455 %Document #####    Now on Page ###-   Line ###   Position ###
3000 DEFFN'31
   : A5=0
   : A5$()="609CloseJCATSMAL"
   : A5$=R3$()
   : R3$()=STR(R3$(),10)
   : IF A1>-1OR A2>-1THEN LOAD T<2>A5$()
   : COM CLEAR C
   : LOAD TA5$