image of READY prompt

Wang2200.org

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$