Listing of file='609Erep3' on disk='vmedia/701-2736G.wvd.zip'
# Sector 729, program filename = '609Erep3' 0010 REM ********************* 609Erep3 ************************************ 0013 DIM I0$(158)1,I(2),I6$1,I7$4,J3$(J8)1 : DBACKSPACE #0,BEG : MAT REDIM J3$(J8/82)82 : DATA LOAD DC #0,J3$() : MAT REDIM J3$(J8)1 : J7(2)=0 0018 DEFFNJ(I)=POS(V0$()=" ")-1 : IF J0(3)=0THEN J0(3),J0(4)=POS(V0$()=83)+1 : J0(4)=0 : J,I5=J7(3) : J7(3)=0 : ON JGOTO 58,62,395,45,88,102,150 : 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) : GOSUB '91(C1,J2(C1),I(1),0) : D0=J5(1) 0088 GOSUB '92(J2,J1,1) : C9=0 : J3=J4 : GOSUB 290 : IF J3$()=" "THEN 260 : GOTO 138 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 0122 GOSUB '22(MAX(J4,1)) : IF F=0THEN J0=J5(C1)+1 : ELSE J0=F+1 : C7=J0-1 : J3=J4 0138 D7=0 : D2$=D1$(J0) : IF J2(C1)+J3>J9AND POS(-D1$()<>" ")<J0THEN 1510 : IF D3$=HEX(FF)THEN 201 0150 PRINT AT(23,48,32); : IF C5$<>" "THEN GOSUB 286 : GOSUB 290 : IF J0(6)=1THEN 202 : GOSUB 2150 : GOSUB 2425 0152 KEYIN D1$,,402 : IF D1$=HEX(82)OR D1$=HEX(A1)THEN 202 : IF D1$=HEX(FF)THEN KEYIN D1$ 0166 GOSUB 2320 : GOTO 152 0172 J0(6)=1 0201 D3$=HEX(00) 0202 GOSUB '46 : IF I4=0THEN 1205 : 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 0232 GOSUB '35(J1) : I2=C1 : IF C1=C2AND J1>J2(C1)+J1(C1)-1THEN 254 : IF V0$(J2(C1))=HEX(86)THEN 382 : GOSUB '35(J0(4)) : I3=C1 : I=1 : GOSUB '91(I2,J2(I2),1,I3) 0254 GOSUB '92(J2,J1,1) : IF I=0THEN 232 0260 GOSUB 290 : IF J0(6)=1THEN 310 : GOSUB 2151 : PRINT HEX(05);AT(C1,C7,0); 0274 KEYIN D1$,,412 : IF D1$=HEX(82)OR D1$=HEX(A1)THEN 310 : IF D1$=HEX(FF)THEN KEYIN D1$ 0282 GOSUB 2320 : GOTO 274 0286 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 0290 PRINT HEX(06);AT(23,30,50);B5$(2); : PRINTUSING "#############################",J3$(); : GOSUB 2150 : PRINT HEX(05); : RETURN 0310 IF J9+POS(J5$()=" ")-LEN(J3$())>J8-1THEN 345 : IF LEN(J3$())>=LEN(J5$())THEN STR(V0$(),J0(3)+POS(J5$()=" ")-1)=STR(V0$() ,J0(3)+LEN(J3$())) : ELSE MAT COPY -STR(V0$(),J0(3)+LEN(J3$()),J9-J0(3)-LEN(J3$())+2)TO -STR(V 0$(),J0(3)+POS(J5$()=" ")-1,J9-J0(3)-LEN(J3$())+2) : IF J5$()<>" "THEN STR(V0$(),J0(3),LEN(J5$()))=J5$() : J9=FNJ(1) 0322 J0(3)=J0(3)+POS(J5$()=" ")-1 : J0(4)=0 : STR(V0$(),J9+1)=" " : C1=MAX(C1-1,1) : GOSUB '91(C1,J2(C1),0,0) 0331 GOSUB '92(0,J0(3),1) : IF J0(6)=1THEN 365 : GOTO 122 0345 C5$="F" : GOTO 1510 0365 KEYIN D1$,365,370 : GOTO 202 0370 IF D1$=HEX(50)OR D1$=HEX(F0)THEN 1510 : GOTO 365 0382 J0(3)=J2(C1)+J1(C1) : GOTO 202 0395 GOSUB '91(C1,J2(C1),0,0) : GOSUB 290 : GOTO 331 0402 ON POS(HEX(081950F0)=D1$)GOTO 202,172,1510,1510 : GOTO 166 0412 ON POS(HEX(08091950F0)=D1$)GOTO 425,310,172,1510,1510 : GOTO 282 0425 J0(3)=J0(3)+1 : GOTO 202 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 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 1205 IF C3<8OR C4$="E"THEN 1550 : C4=C3+1 : J1=0 : J7(2)=9 : J7(3)=1 : CONVERT C4-7TO C6$,(###) : GOSUB 2055 : J0(3),J0(4)=0 : D3$=HEX(FF) : V1$()="609FpageRECMGR" : LOAD T<2>V1$()BEG 100 1302 DEFFN'45 : I7$=ALL(I6$) : IF I6$<>HEX(A0)AND I6$<>HEX(80)THEN I7$=XOR HEX(00800000) : 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) 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 1510 J1=J2(C1)+J3-1 1515 MAT J0=ZER : MAT J7=ZER : J7(3)=3 : DATA LOAD DC OPEN T#0,"609EDATA" : DBACKSPACE #0,BEG : DATA SAVE DC #0,END : DATA SAVE DC CLOSE#0 : COM CLEAR J2$() : LOAD DA T(D7$(1)) 1550 J1=J9+1 : GOTO 1515 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 2150 C3$="Find next one?" : GOTO 2445 2151 C3$="Replace it?" : 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$