Listing of file='609Eentr' on disk='vmedia/731-0067G.wvd.zip'
# Sector 492, program filename = '609Eentr'
0010 REM ********************* 609Eentr ************************************
0011 DIM I(2)
: DIM I0$(158)1
: J7(2)=0
0018 DEFFNJ(I)=POS(V0$()=" ")-1
: IF J7>0OR LEN(V0$())<=J0(1)THEN 27
: J7=LEN(V0$())-J0(1)+1
: MAT COPY STR(V0$(),J0(1),J7)TO STR(V0$(),J8-J7+1,J7)
: STR(V0$(),J0(1),J8-J7+1-J0(1))=" "
0027 J=J7(3)
: J7(3)=0
: ON JGOTO 58,62,395,45,88,102,152
: ON J7(1)-6GOTO 58,58
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
0073 J9,J0(4)=FNJ(1)
: GOSUB '91(C1,J2(C1),I(1),0)
: D0=J5(1)
0088 GOSUB '92(J2,J1,1)
: C9=0
: J3=J4
: IF D6=9E99THEN 835
: GOTO 242
0100 REM %Print Autoscore mode message
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 C7=J0-1
0134 J3=J4
: D7=0
: D2$=D1$(J0)
: IF J2(C1)+J3>J9AND POS(-D1$()<>" ")<J0THEN D2$=HEX(00)
0150 PRINT HEX(06);AT(23,48,32);
: IF C5$<>" "THEN GOSUB 247
: GOSUB 2425
0152 KEYIN D1$,,402
: $TRAN(D1$,HEX(828482E582A12081))R
: ON POS(HEX(82FF08)=D1$)GOTO 304,250,1312
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 206
: IF J9+J7>=J8-2THEN 372
: J9,J0(4)=J9+1
: J1(C1)=J1(C1)+1
0206 D1$(J0),D2$(J3),V0$(J2(C1)+J3-1)=D1$
: J3,J4=J3+1
: J0=J0+1
: IF J7(1)<>0AND J0(3)<J2(C1)+J3-1THEN PRINT HEX(020402000E);D1$;HEX(020400
000E);
: ELSE PRINT D1$
: IF D2$=HEX(00)THEN IF J3>2AND POS(D4$=D2$(J3-2))>0THEN IF POS(-A5$()=82)<
J0THEN 229
: IF POS(-STR(D2$(),,MIN(J3,D9))=81)>0OR POS(-STR(D2$(),,MIN(J3,D9))=85)>0T
HEN 382
0222 IF J3<=J1(C1)THEN IF POS(D4$=D1$)+POS(D5$=D1$)+POS(D4$=D2$)+POS(D5$=D2$)=
0THEN 120
: IF D2$=HEX(00)AND POS(D4$=D1$)=0AND J0<D9THEN 120
: IF POS(D5$=D1$)>0AND J4>1AND POS(D4$=D2$)=0THEN IF J3(C1-1)<J4AND J3<=J1(
C1)THEN IF LEN(D1$())<D9OR POS(-STR(I0$(),,D9-1)=80)>J3THEN 122
0229 J1=J2(C1)+J3-1
: C1=MAX(C1-1,1)
: GOSUB '91(C1,J2(C1),1,C1+1)
0238 GOSUB '92(J2,J1,1)
0242 GOSUB 290
: GOTO 122
0247 IF C5$="F"THEN GOSUB 2345
: IF C5$="T"THEN GOSUB 2355
: IF C5$="P"THEN 2345
: IF C5$="W"THEN 2345
: IF C5$="C"THEN 2345
: C5$=" "
: RETURN
0250 KEYIN D1$
: ON POS(HEX(A008)=D1$)GOTO 268,1312
: PRINT D1$;HEX(08);
: D1$(J0),D2$(J3),V0$(J2(C1)+J3-1)=D1$
: J9=J9+1
: GOTO 222
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,0);B5$(2);
: PRINTUSING "#############################",STR(V0$(),MIN(POS(-V0$()=" ")+
1,J8));
: GOSUB 2077
: PRINT HEX(05);
: RETURN
0304 IF J7(1)<>7AND J7(1)<>8THEN 304
: IF J0(6)<>0THEN C=1
: ELSE C=J8
: V1$()="609Erep2609Eloct"
: LOAD T<2>V1$()
0362 GOSUB 2330
: GOTO 152
0372 C5$="F"
: GOTO 304
0382 IF POS(-STR(D2$(),,MIN(J3,D9))=81)>0THEN 229
: M=POS(-STR(D2$(),,MIN(J3,D9))=85)
: IF M=D9THEN 229
: IF POS(STR(D2$(),M,MIN(J3,D9)-M+1)=82)>0THEN 222
: IF POS(STR(D2$(),M,MIN(J3,D9)-M+1)=84)>0THEN 222
: I0$()=D2$()
: $TRAN(I0$(),C9$())R
: IF POS(STR(D2$(),M,MIN(J3,D9)-M+1)=80)>0THEN 222
: GOTO 229
0395 GOSUB '91(C1,J2(C1),0,0)
: 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 1214,1104,1263,1312,1504,1004,502,514,,541,1434,426,57
8
: 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,815,426,426,426,598,598,598,598,624,426
,,805,426,598,598,598,598,426
: GOTO 430
0502 GOSUB '40
: J1=J2(C1)+J3-1
: IF C1>3THEN J1=J2(3)+J1(3)-1
: IF J2(3)>0AND V0$(J2(3))=HEX(86)AND J1>J2(3)THEN J1=J2(2)+J1(2)-1
: IF D2=1AND C3>8AND J7(1)=0THEN 510
: IF D2=1THEN 506
: GOSUB '94(D2-1)
: GOTO 528
0506 IF C3>8AND J7(1)=0THEN 510
: J1=0
: IF C1=2AND J3=1THEN 508
: J1=J2(2)
: GOTO 238
0508 GOSUB 2340
: GOTO 152
0510 C4=C3-1
: J1=9E99
: GOTO 614
0514 GOSUB '40
: J1=J2(C1)+J3-1
: IF J1<J2(20)+J1(20)AND J1(21)>0THEN J1=J2(20)+J1(20)
: IF J2(C2)+J1(C2)-1>J9THEN 598
: IF J1(21)>0AND V0$(J2(19))<>HEX(8F)THEN 526
: IF C3<123AND C3>7AND C4$<>"E"AND J7(1)=0THEN 522
: IF C3<8AND J1=J9THEN 524
: IF C3>7AND J1=J9+1THEN 524
: J1=J9+1
: GOTO 238
0522 C4=C3+1
: J1=0
: GOTO 614
0524 GOSUB 2335
: J1=0
: D2$=D1$(J0)
: IF D2$=" "THEN D2$=HEX(00)
: GOTO 152
0526 GOSUB '93
0528 I(1)=0
: GOTO 72
0532 D1$=HEX(84)
: GOTO 182
0534 IF C3>7AND A0(3)<123THEN 535
: GOSUB 2355
: GOTO 152
0535 C=J2(C1)+J3-1
: IF D1$(J0)=" "AND D2$<>HEX(00)THEN IF J3>1OR STR(D1$(),,J0)<>" "THEN C=C+
1
: IF C<=J9THEN MAT COPY -STR(V0$(),C,J9-C+1)TO -STR(V0$(),C+1,J9-C+1)
: V0$(C)=HEX(8F)
: GOSUB 2065
: C4=C3+1
: C=LEN(STR(J2$()))
: J7(2)=3
: J7(3)=1
: V1$()="609HpageRECMGR"
: LOAD T<2>V1$()
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
0578 GOSUB '38
: J1=J2(C1)+J3-1
: IF J7(1)=0THEN J7=1
: GOSUB 2100
: V1$()="609GpageRECMGR"
: LOAD T<2>V1$()
0584 D1$=STR(A1$,3)
: GOTO 164
0588 D1$=STR(A1$,2)
: GOTO 164
0592 D1$=HEX(82)
: GOTO 182
0598 GOSUB 2297
: GOTO 152
0614 CONVERT C4-7TO C6$,(###)
: GOSUB 2055
: V1$()="609FpageREC.page"
: LOAD T<2>V1$()BEG 100
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,31,17);B5$(1);
: I6$=" "
: GOTO 229
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 229
0656 GOSUB 2297
: 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
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
0805 J7(2)=0
: LOAD T"609Egotp"
0815 IF C1<22OR J3=1OR D3$=HEX(14)THEN 855
: D6=9E99
: J1=J2(C1)+J3-1
: GOTO 526
0835 IF D2$=HEX(00)THEN GOSUB '35(J9+1)
: J3=J4
: D3$=HEX(04)
: GOSUB '96(J2(C1),C1)
: GOSUB '22(J3)
: J0=F
0855 IF D3$=HEX(14)AND J7(1)<>0THEN 430
: IF J4>0THEN 860
: J3,J4=1
: J0=POS(D1$()<>20)
: C7=J0-1
: J1=J1+1
0860 V1$()="609Eform609Eline609Eplin"
: LOAD T<3>V1$()
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
1004 J9,J0(4)=FNJ(1)
: IF J2(C1)+J3-1>J9AND D2$<>HEX(8F)THEN 362
: IF D3$=HEX(59)THEN 1048
: IF D3$<>HEX(59)THEN 598
: IF D2$<>HEX(8F)THEN 1032
: IF C3<8THEN 430
: GOSUB 2013
: D7=1
: J0(1),J0(3),J0(4)=J2(C1)
: J0(2),J0(5)=C4
: V1$()="609FpageREC.page"
: LOAD T<2>V1$()
1032 IF D1$(J0)=" "THEN 362
: C=J2(C1)+J3-1
: STR(V0$(),C)=STR(V0$(),C+1)
1038 J1=C
: IF C1=22THEN 1041
: FOR C=C1+1TO 22
: J2(C)=MAX(J2(C)-1,1)
: NEXT C
1041 J1(C1)=J1(C1)-1
: GOTO 1543
1048 IF D1$(J0)=" "THEN 362
: C=J2(C1)+J3-1
: I=POS(V0$()=20)
: IF C>=IOR I=0THEN 362
: I=I-C
: STR(V0$(),C,I)=STR(V0$(),C+1,I)
: IF J2(C1)+J3-1>=J0(3)THEN 1038
: IF C3=C4THEN J0(1)=J0(1)-1
: J0(3)=J0(3)-1
: GOTO 1038
1104 IF V0$(J2(C1))=HEX(8F)AND J2(C1)>1THEN 134
: IF C1=22THEN 1142
: IF J1(C1+1)>0THEN 1166
: IF J2(C1+1)>0AND C1<C2THEN 1154
: J0=LEN(D1$())+1
1122 IF D1$()=" "THEN J0=J5(C1)+1
1126 GOSUB '122(J0)
: J4=J3
: IF J2(C1)+J3-1=J9AND D1$(J0)=" "AND D7=0THEN J3,J4=J3+1
1134 C7=J0-1
: GOTO 134
1142 GOSUB '96(J2(C1),C1)
1146 J0=LEN(D1$())
: IF J9=J2(C1)+J1(C1)-1AND J3(C1)>0AND D1$()<>" "THEN J0=J0+1
: GOTO 1126
1154 GOSUB '96(J2(C1+1),C1+1)
1156 J0,J3,J4=1
: IF D1$=HEX(17)AND J5(C1)>0THEN J0=J5(C1)+1
: C7=J0-1
: GOTO 134
1166 C1=C1+1
: IF V0$(J2(C1))=HEX(86)THEN 1200
: GOSUB '33(J2(C1))
: M=J0
: GOSUB '96(J2(C1),C1)
: IF V0$(J2(C1))=HEX(8F)THEN 1156
: J0=MIN(M,D9)
: IF J0>LEN(D1$())+1AND J1(C1+1)=0AND C1=C2THEN J0=LEN(D1$())+1
: IF J9>=J2(C1)+J1(C1)-1AND J3(C1)=0AND J0>LEN(D1$())AND C1=22THEN J0=LEN(D
1$())
: GOTO 1126
1200 IF C1<22THEN 1104
: C1=C1-1
: GOTO 1142
1214 IF C1=2THEN 1248
: IF C1=3AND V0$(J2(2))=HEX(86)THEN 1248
: C1=C1-1
: IF V0$(J2(C1))=HEX(86)THEN C1=C1-1
: M=J0
: GOSUB '96(J2(C1),C1)
: GOSUB '33(J2(C1))
: J0=MIN(M,D9)
: GOTO 1126
1248 J3,J4=1
1252 GOSUB '22(J3)
: J0=F+1
: GOTO 1134
1263 IF J0<=J5(C1)THEN 1290
: IF V0$(J2(C1))=HEX(8F)THEN 134
: IF J9=J2(C1)+J3-1AND D1$(J0)=" "THEN 134
: IF C1=C2AND STR(D1$(),J0)=" "THEN 134
: IF J0=D9THEN 1298
: IF J3>=J1(C1)AND C1=22THEN 1146
: IF J3>=J1(C1)AND C1=21AND V0$(22)=HEX(86)THEN 1146
: IF D1$()=" "THEN 1122
1290 J0=J0+1
: GOTO 1126
1298 IF C1=21AND V0$(J2(22))=HEX(86)THEN 134
: J0=1
: GOTO 1104
1312 IF D1$=HEX(08)THEN IF C1=3AND V0$(J2(2))=HEX(86)OR C1=2THEN IF J3=1AND D2
$<>" "AND D2$<>HEX(00)OR J3=0THEN 134
: IF D1$<>HEX(08)THEN IF C1=3AND V0$(J2(2))=HEX(86)OR C1=2THEN IF J0=1THEN
134
: IF D1$=HEX(08)THEN D7=1
: ELSE D7=2
: IF D1$=HEX(08)THEN 1338
: IF J0=1THEN 1354
: J0=J0-1
: GOTO 1126
1338 IF J3<2AND D1$(J0)<>" "THEN 1354
: IF J0=1AND D2$()=" "THEN 1354
: IF J3=0THEN 1354
: IF D1$(J0)<>" "OR J3>LEN(D2$())THEN J3,J4=J3-1
: GOTO 1252
1354 C1=C1-1
: IF V0$(J2(C1))=HEX(86)THEN C1=C1-1
: GOSUB '33(J2(C1))
: GOSUB '96(J2(C1),C1)
: IF D7=1THEN J3,J4=J1(C1)
: ELSE J0=D9
: ON D7GOTO 1252,1126
: J1=J2(C1)+J3-2
: GOTO 238
1434 IF C7$=HEX(00)THEN 304
: C7$=HEX(00)
: PRINT AT(23,31,20);AT(C1,C7);
: GOTO 134
1504 IF D1$(J0)=" "AND J2(C1)+J3-1>=J9THEN 362
: IF C1=2AND J3=1THEN J3(1)=0
: IF D3$<>HEX(5A)AND J7(1)=0THEN 598
: IF J9+J7<J8-2THEN 1520
: GOSUB 2345
: GOTO 150
1520 GOSUB '41
: C=J2(C1)+J3-1
: J9,J0(4)=FNJ(1)+1
: I=J9-C+1
: MAT COPY -STR(V0$(),C,I)TO -STR(V0$(),C+1,I)
: V0$(C)=HEX(80)
: J3=J3-1
: IF J7(1)<>0AND J2(C1)+J3<J0(3)THEN J0(3)=J0(3)+1
: IF C3=J0(2)THEN J0(1)=J0(3)
: J1=C
: J1(C1)=J1(C1)+1
: IF C1=22THEN 1543
: FOR C=C1+1TO 22
: J2(C)=MAX(J2(C)+1,1)
: NEXT C
1543 I(1)=1
: GOTO 73
2005 C3$="(Autoscore Mode)"
: GOTO 2440
2013 C3$="Deleting Page Break"
: GOTO 2410
2025 C3$="(Document End)"
: GOTO 2450
2035 C3$="Exiting"
: GOTO 2435
2055 C3$="Going to Page "
: GOTO 2435
2065 C3$="Inserting Page Break"
: GOTO 2410
2077 C3$="Replace it with?"
: GOTO 2445
2100 C3$="Loading Glossary"
: GOTO 2445
2135 C3$="(Page End)"
: GOTO 2450
2170 C3$="Which Command?"
: GOTO 2445
2205 C3$="Command Merge not implemented"
: GOTO 2410
2297 C3$="First finish Replace"
: GOTO 2410
2320 C3$="Invalid Key - Ignored"
: GOTO 2410
2330 C3$="Move Cursor"
: GOTO 2410
2335 C3$="No Next Screen"
: GOTO 2410
2340 C3$="No Previous Screen"
: 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)
: LOAD T<2>A5$()