Listing of file='609Escm3' on disk='vmedia/731-0067F-disk1.wvd.zip'
# Sector 893, 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$()