Listing of file='609ESRCH' on disk='vmedia/731-0067G.wvd.zip'
# Sector 694, 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$