Listing of file='609EHILT' on disk='vmedia/731-0067F-disk1.wvd.zip'
# Sector 406, program filename = '609EHILT' 0010 REM ********************* 609EHILT ************************************ 0011 COM J2$(158)1 0013 DEFFNP(I)=1+D5*(D8-80) : DIM I0$(158)1,I7$4,I(2) 0018 DEFFNJ(I)=POS(V0$()=" ")-1 : J0(5)=C3 : GOSUB '47 : IF J0(2)>0THEN 35 : J0(2),J0(5)=C3 : J0(1),J0(3),J0(4),J1=J2(C1)+J3-1 : I2,I3=C1 : GOTO 1391 0035 IF J0(2)=C3THEN J0(3)=J0(1) : ELSE J0(3)=1 : J1=MAX(J0(3),MIN(J1,FNJ(1))) : J0(4)=MAX(J1,J0(3),POS(V0$()=83)+1) : J=J7(3) : J7(3)=0 : ON JGOTO 42,62,73,42,221,102,152 : D1=1 : GOSUB '63 0042 IF D9=0THEN D9=80 : GOSUB '40 : J7=0 : D2=1 : PRINT HEX(03) : I(1)=0 0062 GOSUB '94(D2) 0072 C1=1 0073 J9=FNJ(1) : GOSUB '91(C1,J2(C1),I(1),0) : D0=J5(1) : IF J2<>0THEN J1=0 : GOSUB '92(J2,J1,0,0) : IF J0(4)=J2(C1)+J3-1THEN 89 : J1,J0(4)=J2(C1)+J3-1 : I(1)=0 : GOTO 72 0089 ON J7(1)GOSUB ,2071,2073,2074,,,2077,2077,2073,2074 : C9=0 : J3=J4 : GOTO 122 0100 REM %Print Autoscore mode message 0102 IF C7$<>HEX(00)THEN GOSUB 2005 : IF D1$(1)<>HEX(86)THEN 119 : J1=J2(C1+1) : GOSUB '93 : GOTO 72 0119 ON J7(1)GOSUB ,2071,2073,2074,,,2077,2077,2073,2074 0122 GOSUB '22(MAX(J4,1)) : IF F=0THEN J0=J5(C1)+1 : ELSE J0=F+1 0130 GOSUB '48(D5) 0134 J3=J4 : D7=0 : D2$=D1$(J0) : IF J2(C1)+J3>J9AND POS(-D1$()<>" ")<J0THEN D2$=HEX(00) : PRINT HEX(06);AT(23,48,32); 0151 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$<>" "AND D2$<>HEX(8F)THEN 182 0176 GOSUB 2330 : GOTO 152 0182 IF D2$<>HEX(00)THEN 206 : D1$=HEX(08) : GOTO 134 0205 J1=POS(STR(V0$(),J2(C1)+J3)=D1$) 0206 GOSUB '45 : J1=I4 : IF J1>0THEN 284 0214 GOSUB 2195 : GOTO 152 0219 J1,J0(4)=J0(4)+J1 0221 I2=C1 : GOSUB '35(J1) : I3=MAX(C1,I2) : I2=MIN(C1,I2) 0230 IF J1=J2(C1)+J3-1AND D1$(J0)=" "THEN I5=J3*1000+J0 : ELSE I5=0 : I6=0 : IF I5<>0AND I2<>I3THEN I6=C1 0234 GOSUB '91(I2,J2(I2),1,I3) : GOSUB '92(0,J1,1,MOD(I5,1000)) : ON J7(1)GOSUB ,2071,2073,2074,,,2077,2077,2073,2074 : IF I5=0THEN 122 : IF I6<>C1THEN 245 : J0=MOD(I5,1000) : GOTO 130 0245 C1=C1+1 : GOSUB '96(J2(C1),C1) : J3,J4=0 : J0=MOD(I5,1000) : GOTO 130 0250 KEYIN D1$ : ON POS(HEX(A008)=D1$)GOTO 268,1312 : PRINT D1$;HEX(08); : GOSUB 2320 : GOTO 152 0268 D1$=HEX(A0) : GOTO 172 0284 I=J0(4) 0288 IF POS(-STR(V0$(),,J0(4)+I4)=86)=0THEN 219 : IF POS(STR(V0$(),POS(-STR(V0$(),,J0(4)+I4)=86),J0(4)+I4-POS(-STR(V0$(),,J 0(4)+I4)=86))=83)>0THEN 219 : J0(4)=J0(4)+I4 : GOSUB '45 : J1=I4 : IF I4>0THEN 288 : J0(4)=I : GOTO 214 0304 IF J7(1)<>2THEN 322 : COM CLEAR J2$() : GOSUB 2175 : V1$()="609Edel 609Eloct" : LOAD T<2>V1$() 0322 IF J7(1)<>3AND J7(1)<>4AND J7(1)<>7AND J7(1)<>8THEN 330 : V1$()="609Ecm1 609Eloct" : GOSUB 2175 : LOAD T<2>V1$() 0330 V1$()="609Escm3REC.page" : GOSUB 2175 : J7(2)=12 : LOAD T"609Escm1" 0332 LOAD T<2>V1$() 0342 GOSUB 2085 0344 COM CLEAR J2$() : LOAD DA T(D7$(1)) 0381 DEFFN'98(X,Y) : ON YGOTO 386,391 0386 IF X=2THEN J0(4)=J2(C1)+J1(C1)-1 : IF X=1THEN PRINT HEX(06);AT(C1,0);B5$(1);STR(D1$(),FNP(1),MIN(D9-FNP(1)+1 ,80));HEX(0F); : ELSE GOSUB '61 : RETURN 0391 STR(A5$(),,1)=HEX(86) : PRINT HEX(06);AT(C1,0);B5$(X);STR(V0$(),J2(C1)+FNP(1)-1,MIN(POS(STR(V0$() ,J2(C1))=83)-FNP(1)+1,80));HEX(0F); : STR(A5$(),,1)=HEX(8F) : RETURN 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 : I2=C1 : ON VAL(D1$)-21GOTO 1214,1104,1263,1312,642,1263,502,514,,541,1404,426,642 : 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(08090A0B11121314)=D1$)>0THEN 598 : IF POS(HEX(08090A0B121314)=D1$)=0THEN 454 : J1=J2(C1)+J3-1 : IF J1>J9AND POS(HEX(1314)=D1$)=0THEN 176 0454 ON VAL(D1$)+1GOTO 426,534,426,426,812,426,426,426,642,642,642,642,626,426 ,,805,426,642,642,642,642,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 J1<J0(3)THEN 507 : IF D2=1AND C3>J0(2)THEN 510 : IF D2=1THEN 506 : GOSUB '94(D2-1) : J0(4)=J1 : GOTO 528 0506 IF C3>J0(2)THEN 510 : J1=0 : IF J2(C1)+J3-1=J0(3)THEN 508 0507 J1,J0(4)=J0(3) : I3=C1 : GOSUB '35(J1) : I2=C1 : GOTO 230 0508 GOSUB 2340 : GOTO 152 0510 C4=C3-1 : J1=9E99 : GOTO 611 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 V0$(J1)=HEX(86)THEN J1=J1+POS(STR(V0$(),J1)=83) : IF J1(21)>0AND V0$(J2(19))<>HEX(8F)THEN 526 : IF C3<123AND C3>7AND C4$<>"E"AND J7(1)<>1THEN 522 : IF C3<8AND J1=J9THEN 524 : IF C3>7AND J1=J9+1THEN 524 : J1,J0(4)=J9 : GOTO 221 0522 C4=C3+1 : J1=0 : GOTO 611 0524 GOSUB 2335 : J1=0 : D2$=D1$(J0) : IF D2$=" "THEN D2$=HEX(00) : GOTO 152 0526 J0(4)=J1 : GOSUB '93 0528 I(1)=0 : GOTO 72 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 ON J7(1)GOSUB ,2281,2283,2284,,,2287,2287 : GOTO 152 0611 CONVERT C4-7TO C6$,(###) : IF J7(1)=9OR J7(1)=10THEN IF J8=4182AND D7$<>" "AND C4=C3+1THEN 662 0616 GOSUB 2055 : J7(2)=1 0620 V1$()="609FpageREC.page" : LOAD T<2>V1$()BEG 100 0626 PRINT HEX(05); : GOSUB 2170 : PRINT HEX(06); : 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 642 : IF D1$=HEX(2D)THEN 642 : GOSUB 2360 : GOTO 626 0641 PRINT AT(C1,C7,0); 0642 ON J7(1)GOSUB ,2281,2283,2284,,,2287,2287 : GOTO 152 0648 ON POS(HEX(50F0011106160515)=D1$)/2+.5GOTO 652,642,642,642 : GOSUB 2360 : GOTO 626 0652 PRINT AT(0,63,17);B5$(1) : GOTO 152 0662 L=V0 : IF C4<A0(3)THEN L=VAL(J1$(C4+1),2) : L=L-VAL(J1$(C4),2) : IF L<17THEN 616 : IF L=17THEN 682 : GOSUB 2015 : PRINT AT(23,23,); : J1=0 : D2$=D1$(J0) : IF D2$=" "THEN D2$=HEX(00) : GOTO 151 0682 J7(2)=1 : V1$()="609ESIZERECMGR" : LOAD T<2>V1$() 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>158THEN 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 0805 J7(2)=1 : LOAD T"609Egotp" 0812 ON J7(1)GOSUB ,642,,,,,642,642 : GOSUB '33(J0(1)) : J2$()=A5$() : J2$(1)=HEX(86) : GOSUB '33(J2(C1)) : GOSUB 2045 : GOTO 152 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 DEFFN'45 : I7$=ALL(D1$) : IF D1$<>HEX(A0)AND D1$<>HEX(80)THEN I7$=XOR HEX(00800000) : IF D1$>="a"AND D1$<="z"THEN I7$=XOR HEX(000020A0) : IF D1$>="\E1"AND D1$<="\80"THEN I7$=XOR HEX(000020A0) : I4=0 : FOR P=1TO POS(-I7$<>D1$) : L=POS(STR(V0$(),J0(4)+1)=STR(I7$,P)) : IF I4=0THEN I4=L : ELSE IF L>0THEN I4=MIN(I4,L) : NEXT P : RETURN 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 : IF D1$()=" "THEN J0=J5(C1)+1 1126 GOSUB '122(J0) : J4=J3 : IF J2(C1)+J3-1<J0(3)THEN 1248 : IF J2(C1)+J3-1=J9AND D1$(J0)=" "AND D7=0THEN J3,J4=J3+1 1134 J0(4)=J2(C1)+J3-1 : GOSUB '48(D5) : GOTO 1387 1142 GOSUB '96(J2(C1),C1) 1146 J0=LEN(D1$()) : GOTO 1126 1154 IF D9>=FNP(1)AND V0$(J2(C1))=D2$(1)THEN PRINT HEX(06);AT(C1,J0-1-FNP(1)+1 );B5$(2);STR(D1$(),J0,MIN(D9+1,80+FNP(1))-J0);HEX(0F); : ELSE IF D9>=FNP(1)THEN GOSUB '98(2,2) : GOSUB '96(J2(C1+1),C1+1) 1156 J0,J3,J4=1 : IF D1$=HEX(17)AND J5(C1)>0THEN J0=J5(C1)+1 : GOSUB '48(D5) : GOTO 1387 1166 IF D9<FNP(1)THEN 1167 : IF V0$(J2(C1))<>HEX(86)THEN GOSUB '98(2,1) : ELSE GOSUB '98(2,2) 1167 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$())AND J1(C1+1)=0AND C1=C2THEN J0=LEN(D1$()) : 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 : IF J2(C1)<=J0(3)THEN 1248 : IF D9>=FNP(1)THEN GOSUB '98(1,1) : C1=C1-1 : IF V0$(J2(C1))=HEX(86)AND D9>=FNP(1)THEN GOSUB '98(1,2) : 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=MAX(1,J0(3)-J2(C1)+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-1THEN 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 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 D2$<>" "AND J0(3)=J2(C1)+J3-1THEN 1387 : IF D1$=HEX(08)THEN 1338 : IF J0=1THEN 1352 : J0=J0-1 : GOTO 1126 1338 IF J3<2AND D1$(J0)<>" "THEN 1352 : IF J0=1AND D2$()=" "THEN 1352 : IF J3=0THEN 1352 : IF D1$(J0)<>" "OR J3>LEN(D2$())THEN J3,J4=J3-1 : GOTO 1252 1352 IF D2$<>" "AND J0(3)=J2(C1)+J3-1THEN 1387 : IF D9>=FNP(1)THEN GOSUB '98(1,1) : I3=C1 : C1=C1-1 : IF V0$(J2(C1))=HEX(86)AND D9>=FNP(1)THEN GOSUB '98(1,2) : IF V0$(J2(C1))=HEX(86)THEN C1=C1-1 : I2=C1 : GOSUB '33(J2(C1)) : GOSUB '96(J2(C1),C1) : IF D7=1THEN J3,J4=J1(C1) : ELSE J0=D9 : ON D7GOTO 1385,1380 1380 J0=D9 : J1,J0(4)=J2(C1)+J1(C1)-1 : I2=1 : I3=C2 : I5=J1(C1)*1000+J0 : I6=C1 : GOTO 234 1385 J1,J0(4)=J2(C1)+J1(C1)-1 : I5=0 : I6=C1 : GOTO 234 1387 J0(4)=J2(C1)+J3-1 : GOSUB '61 : GOTO 134 1391 GOSUB '61 : ON J7(1)GOSUB ,2071,2073,2074,,,2077,2077,2073,2074 : GOTO 134 1404 IF J7(1)<>9AND J7(2)<>10THEN 1432 : J7(2)=13 : LOAD T"609Escm1" 1406 LOAD T"609Escm4" 1432 J1=J0(1) : IF C3<>J0(2)THEN 1456 : GOSUB '35(J1) : IF C1=2AND J1<J2(C1)THEN C1=1 : MAT J0=ZER : J7(1)=0 : J7(3)=3 : GOTO 344 1456 C4=J0(2) : MAT J0=ZER : MAT J7=ZER : GOTO 620 2005 C3$="(Autoscore Mode)" : GOTO 2440 2015 PRINT HEX(06);AT(23,23,);B5$(2);"Extended page cannot be processed. Plea se Cancel.";HEX(020400000E); 2020 PRINT HEX(07); : KEYIN C3$ : IF C3$<>HEX(50)AND C3$<>HEX(F0)THEN 2020 : RETURN 2025 C3$="(Document End)" : GOTO 2450 2035 C3$="Exiting" : GOTO 2435 2045 C3$="Format Copied" : GOTO 2410 2055 C3$="Going to Page " : GOTO 2435 2071 C3$="Delete What?" : GOTO 2445 2073 C3$="Copy What?" : GOTO 2445 2074 C3$="Move What?" : GOTO 2445 2077 C3$="Replace What?" : GOTO 2445 2085 C3$="Loading Editor" : GOTO 2445 2135 C3$="(Page End)" : GOTO 2450 2170 C3$="Which Command?" : GOTO 2445 2175 C3$="Rearranging" : GOTO 2445 2195 C3$="Cannot find one" : GOTO 2410 2281 C3$="First finish Delete" : GOTO 2410 2283 C3$="First finish Copy" : GOTO 2410 2284 C3$="First finish Move" : GOTO 2410 2287 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 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$