Listing of file='609Escm3' on disk='vmedia/701-2736G.wvd.zip'
# Sector 851, program filename = '609Escm3'
0010 REM ************************ 609Escm3 ********************************
0020 COM A,F
: DIM I2$2,I2$(123)2,V4$1
: UNPACK(############)STR(D8$(),191,6)TO F
: IF POS(HEX(50F0)=D1$)>0THEN 1245
: GOTO 1210
1000 DEFFN'101(V1$(),E)
: I2$()=ALL(00)
: C=C4
: IF E=CTHEN RETURN
1010 C=C+1
: IF C>7THEN 1020
: IF STR(V1$(),2*C-1,2)>HEX(0000)THEN I2$(C)=BIN(ABS(V4),2)
: GOTO 1010
1020 I2$(C)=BIN(ABS(V4),2)
: IF C<ETHEN STR(I2$(),C*2+1,(E-C)*2)=STR(I2$(),C*2-1,(E-C)*2)
: IF V4>0THEN V1$()=ADDCI2$()
: ELSE V1$()=SUBCI2$()
: RETURN
1030 V4$="P"
: GOSUB '221(A1,1,1,1,1)
: IF R1$<>HEX(00)THEN 2540
: RETURN
1050 DEFFN'100(C3,V1$(),G)
: C4$=" "
: IF C3<1THEN C3=8
: IF C3>123OR STR(V1$(),C3*2-1,2)=HEX(FFFF)THEN C3=INT((POS(-STR(V1$(),15,2
32)<FF)-1)/2)+8
: IF STR(V1$(),2*C3-1,2)=HEX(0000)THEN 1080
: C5=VAL(STR(V1$(),2*C3-1),2)
: IF C3=123OR STR(V1$(),2*C3+1,2)=HEX(FFFF)THEN 1070
: GOSUB 1090
: C6=VAL(STR(V1$(),2*C-1,2),2)-VAL(STR(V1$(),2*C3-1,2),2)
: RETURN
1070 C6=G-C5+1
: C4$="E"
: RETURN
1080 C5$="S"
: RETURN
1090 C=C3
1100 C=C+1
: IF STR(V1$(),2*C-1,2)=HEX(0000)THEN 1100
: RETURN
1210 IF J0(2)<>C4OR V0$(J0(4))=HEX(8F)THEN 1430
: IF LEN(J2$())+(J0(4)-J0(1))+LEN(J3$())<=J8-1THEN 1270
1230 C5$="F"
1235 D1$=HEX(F0)
1245 LOAD T"609Escm4"
1255 C5$="T"
: GOTO 1235
1270 IF J2$()<>" "THEN 1315
: E=J0(4)-J0(1)
: IF E<0THEN 1307
: IF J6(1)+E+1>J8-1OR J8-(J6(1)+E)<1THEN 1230
: MAT COPY -STR(J3$(),J6(1),J8-(J6(1)+E))TO -STR(J3$(),J6(1)+E+1,J8-(J6(1)+
E))
: STR(J3$(),J6(1),E+1)=STR(V0$(),J0(1))
: GOTO 1345
1307 V0$()=J3$()
: GOTO 1245
1315 E=J0(4)-J0(1)+LEN(J2$())+1
: IF E<0THEN 1307
: IF LEN(J3$())-J6(1)+1>0THEN MAT COPY -STR(J3$(),J6(1),LEN(J3$())-J6(1)+1)
TO -STR(J3$(),J6(1)+E,LEN(J3$())-J6(1)+1)
: STR(J3$(),J6(1),E)=J2$()&STR(V0$(),J0(1))
1345 IF J7(1)=9THEN 1390
: STR(V0$(),J0(1))=STR(V0$(),J0(4)+1)
: GOSUB '100(C4,J1$(),V0)
: GOSUB '226(A1,LEN(V0$()),C6,C5)
: IF POS(HEX(0028)=R1$)=0THEN 2520
: V4=V4-C6
: GOSUB '101(J1$(),A0(3))
: GOSUB 1030
: J1$()=V1$()
1390 V0$()=J3$()
: J1=J6(1)+J0(4)-J0(1)+1
: IF J2$(1)<>" "THEN J1=J1+LEN(J2$())
: D1$=HEX(50)
: GOTO 1245
1430 IF LEN(J3$())-J6(1)+J0(4)>=J8-1THEN 1230
: IF V0$(J0(4))=HEX(8F)THEN C=1
: ELSE C=0
: IF J0(5)-J0(2)+C+(INT(POS(-D9$()<FF)/2-.5)+1)>123THEN 1255
: IF J7(1)=10AND J0(1)+(LEN(V0$())-J0(4))>=J8-1THEN 1230
: V0$()=" "
: C4=J0(2)
: GOSUB '100(C4,J1$(),V0)
: GOSUB '220(A1,1,C5,C6,2)
: IF POS(HEX(0028)=R1$)=0THEN 2510
1495 IF J6(1)+LEN(V0$())-J0(1)+LEN(J2$())>=J8-1THEN 1230
: D7=V0
: V0=J6(4)
: C4=J6(2)
: GOSUB '100(J6(2),D9$(),J6(4))
: GOSUB '223(J6(3),C5,C6)
: IF POS(HEX(0028)=R1$)=0THEN 2535
: STR(D9$(),2*J6(2)-1)=STR(D9$(),2*J6(2)+1)
: V4=-C6
: D9$(123)=ALL(FF)
: IF F=C3THEN 1585
: GOSUB '101(D9$(),F-1)
: D9$()=V1$()
1575 D9$(C3)=BIN(VAL(D9$(C3),2)-C6,2)
1585 J6(4)=V0
: V0=D7
: C4=J0(2)
: C8=C5
: FOR A=J0(2)TO J0(5)
: IF A>J0(2)THEN 1675
: IF J2$()<>" "THEN 1650
: IF J6(1)>J0(1)THEN MAT COPY -STR(V0$(),J0(1),LEN(V0$())-J0(1)+1)TO -STR(V
0$(),J6(1),LEN(V0$())-J0(1)+1)
: ELSE STR(V0$(),J6(1))=STR(V0$(),J0(1))
: GOTO 1655
1650 IF J6(1)+LEN(J2$())>J0(1)THEN MAT COPY -STR(V0$(),J0(1),LEN(V0$())-J0(1)+
1)TO -STR(V0$(),J6(1)+LEN(J2$()),LEN(V0$())-J0(1)+1)
: ELSE STR(V0$(),J6(1)+LEN(J2$()))=STR(V0$(),J0(1))
1655 IF J2$()=" "THEN STR(V0$(),,J6(1)-1)=STR(J3$(),,J6(1)-1)
: ELSE STR(V0$(),,J6(1)-1+LEN(J2$()))=STR(J3$(),,J6(1)-1)&J2$()
: GOTO 1705
1675 V0$()=" "
: C4=A
: GOSUB '100(C4,J1$(),V0)
: GOSUB '220(A1,1,C5,C6,2)
: IF POS(HEX(0028)=R1$)=0THEN 2510
1705 IF A<J0(5)THEN 1745
: IF V0$(J0(4))=HEX(8F)OR J0(2)=J0(5)THEN J0(6)=1
: ELSE J0(6)=0
: ON J0(6)GOTO 1745
: V0$()=STR(V0$(),,J0(4))&STR(J3$(),J6(1))
1745 D7=V0
: V0=J6(4)
: C4=J6(2)
: GOSUB '222(J6(3),1,C8,INT((LEN(V0$())-1)/246)+1,2)
: IF POS(HEX(0028)=R1$)=0THEN 2530
: J6(2)=J6(2)+1
: F=F+1
: C3=J6(2)-1
: V4,C6=INT((LEN(V0$())-1)/246+1)
: IF C3<123THEN MAT COPY -STR(D9$(),2*C3-1,246-2*C3)TO -STR(D9$(),2*C3+1,24
6-2*C3)
: D9$(C3)=BIN(C8,2)
: GOSUB '101(D9$(),F-1)
: D9$()=V1$()
1825 J6(4)=V0
: V0=D7
: C8=C8+INT((LEN(V0$())-1)/246)+1
: NEXT A
: V1$()="609Escm5REC.page"
: LOAD T<2>V1$()
2510 B2$="Error reading page"
: CONVERT C3TO STR(B2$,LEN(B2$)+2),(###)
: GOTO 2550
2520 B2$="Error replacing page"
: GOTO 2550
2530 B2$="Error saving new page"
: GOTO 2550
2535 B2$="Error deleting page"
: GOTO 2550
2540 B2$="Error rewriting page table"
2550 IF R1$>HEX(29)THEN CONVERT VAL(R1$)TO I2$,(##)
: ELSE HEXUNPACKR1$TO I2$
: B2$=B2$&" - error = "&I2$
: IF Y5$=" "THEN B2$=B2$&" - please Cancel"
: IF Y5$<>" "THEN GOSUB '31
2560 PRINT AT(23,0,80);HEX(0607);B5$(2);B2$;B5$(1);
: KEYIN S2$,,2570
: GOTO 2560
2570 IF POS(HEX(F050)=S2$)>0THEN GOSUB '31
: GOTO 2560
3000 DEFFN'31
: A5=0
: A5$()="609CloseJCATSMAL"
: A5$=R3$()
: R3$()=STR(R3$(),10)
: LOAD T<2>A5$()