Listing of file='609EREP3' on disk='vmedia/701-2736G.wvd.zip'
# Sector 756, program filename = '609EREP3'
0010 REM ********************* 609EREP3 ************************************
0011 DEFFNP(I)=1+D5*(D8-80)
: 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
: GOSUB '47
0018 DEFFNJ(I)=POS(V0$()=" ")-1
: IF J0(3)=0THEN J0(3),J0(4)=POS(V0$()=83)+1
: J0(4)=0
: J=J7(3)
: J7(3)=0
: IF J=1THEN D5=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
: GOSUB '48(D5)
: 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
: GOSUB 2150
: GOSUB 2425
: IF J0(6)=1THEN 202
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$