Listing of file='609Hpage' on disk='vmedia/701-2736G.wvd.zip'
# Sector 1043, program filename = '609Hpage'
0010 REM 609Hpage, RELEASE 1-0, (08/25/81) - COPYRIGHT WANG LABS. INC.
: DIM V4$1,I2$(123)2, I2$2, J2$(C)1
0020 DEFFNJ(I)=POS(V0$()=" ")-1
: I1=V0
: IF A0(3)=123THEN 480
: I0=POS(STR(V0$(),2)=8F)+1
: V4$="T"
: GOSUB '226(A1,I0,C6,C5)
: IF POS(HEX(0028)=R1$)=0THEN 2050
: V4=V4-C6
: GOSUB 1000
: IF J2$()=" "AND J0(6)<>0THEN J0(6)=J0(6)+V4*D7
: J9=FNJ(1)
: IF J9<0THEN J9=J8
: IF I0<J9THEN STR(V0$(),,J9)=STR(V0$(),I0+1,J9-I0)
: ELSE STR(V0$(),,J9)=" "
0195 IF J7(1)<>0AND J7(1)<>1AND J7(1)<>3AND J7(1)<>4AND J7(1)<>7AND J7(1)<>8TH
EN 250
: J9=FNJ(1)
: IF J9>0THEN MAT COPY -STR(V0$(),,J9)TO -STR(V0$(),D9+1,J9)
: STR(V0$(),,D9)=A5$()
: V0$(1)=HEX(8F)
: J9=J9+D9
: J1=D9+1
: J0(3)=1
0250 C3=C3+1
: C5=C5+C6+V4
: C6,V4=INT((LEN(V0$())-1)/246)+1
: A0(3)=A0(3)+1
: IF C3=A0(3)AND MOD(J0(6),1)=0THEN GOSUB '225(A1,1,C6,2)
: ELSE GOSUB '222(A1,1,C5,C6,2)
: IF POS(HEX(0028)=R1$)=0THEN 2070
: IF J2$()=" "AND J0(6)<>0THEN J0(6)=J0(6)+C6*D7
: D7=0
: IF C3<A0(3)THEN MAT COPY -STR(J1$(),C3*2-1,246-C3*2)TO -STR(J1$(),C3*2+1,
246-C3*2)
0310 J1$(C3)=BIN(C5,2)
: GOSUB 1000
: GOSUB 1030
0340 IF J7(1)=1OR J7(1)=7OR J7(1)=8THEN J0(5)=J0(5)+1
: IF J7(1)=0OR J7(1)=1THEN 436
: C=LEN(STR(J2$()))
: IF J7(1)=3OR J7(1)=4THEN 420
: IF D1$=HEX(0B)THEN 420
: ON J7(2)+1GOTO 436,,,460
0420 V1$()="609IpageRECMGR"
: LOAD T<2>V1$()BEG 215
0436 LOAD DA T(D7$(1))
0460 V1$()="609Eentr609Eline609Eplin609Eprnt"
: IF D7$="H"THEN V1$()="609EENTR609Eline609EPLIN609EPRNT609EPOS 609EFRMT"
: J0(6)=J0(6)+V0-I1
: LOAD T<INT((LEN(V1$())+7)/8)>V1$()
0480 GOSUB '100(C3)
: C5$="T"
: GOTO 340
1000 IF V4=0OR C3=A0(3)THEN RETURN
: I2$()=ALL(00)
: C=C3
1010 C=C+1
: IF C>7THEN 1020
: IF J1$(C)>HEX(0000)THEN I2$(C)=BIN(ABS(V4),2)
: GOTO 1010
1020 IF C<=A0(3)THEN I2$(C)=BIN(ABS(V4),2)
: IF C<A0(3)THEN STR(I2$(),C*2+1,(A0(3)-C)*2)=STR(I2$(),C*2-1,(A0(3)-C)*2)
: IF V4>0THEN J1$()=ADDCI2$()
: ELSE J1$()=SUBCI2$()
: RETURN
1030 V1$()=J1$()
: V4$="P"
: GOSUB '221(A1,1,1,1,1)
: IF R1$<>HEX(00)THEN 2110
1050 DEFFN'100(C3)
: C4$=" "
: IF C3<1THEN C3=8
: IF C3>123OR J1$(C3)=HEX(FFFF)THEN C3=INT((POS(-STR(J1$(),15)<HEX(FF))-1)/
2)+8
: IF J1$(C3)=HEX(0000)THEN 1080
: C5=VAL(J1$(C3),2)
: IF C3=123OR J1$(C3+1)=HEX(FFFF)THEN 1070
: GOSUB 1090
: C6=VAL(J1$(C),2)-VAL(J1$(C3),2)
: RETURN
1070 IF MOD(J0(6),1)=0THEN C6=V0-C5+1
: ELSE C6=INT(J0(6))-C5
: C4$="E"
: RETURN
1080 C5$="S"
: RETURN
1090 C=C3
1100 C=C+1
: IF J1$(C)=HEX(0000)THEN 1100
: RETURN
2050 B2$="Error replacing page"
: GOTO 2195
2070 B2$="Error saving new page"
: GOTO 2195
2110 B2$="Error rewriting page table"
: GOTO 2195
2195 IF R1$<>HEX(01)THEN 2196
: B2$=B2$&" - Volume Full"
: GOTO 2201
2196 IF R1$<>HEX(29)THEN 2200
: B2$=B2$&" - Too Much Text"
: GOTO 2201
2200 IF R1$>HEX(29)THEN CONVERT VAL(R1$)TO I2$,(##)
: ELSE HEXUNPACKR1$TO I2$
: B2$=B2$&" - error = "&I2$
2201 IF Y5$=" "THEN B2$=B2$&" - please Cancel"
: IF Y5$<>" "THEN GOSUB '31
2210 PRINT AT(23,0,80);HEX(0607);B5$(2);B2$;B5$(1);
: KEYIN S2$,,2220
: GOTO 2210
2220 IF POS(HEX(F050)=S2$)>0THEN GOSUB '31
: GOTO 2210
3000 DEFFN'31
: A5=0
: A5$()="609CloseJCAT"
: A5$=R3$()
: R3$()=STR(R3$(),10)
: IF A1>-1THEN LOAD T<2>A5$()
: COM CLEAR C
: LOAD TA5$