Listing of file='609Gpage' on disk='vmedia/701-2738G.wvd.zip'
# Sector 1088, program filename = '609Gpage'
0010 REM 609Gpage, RELEASE 1-0, (03/01/81) - COPYRIGHT WANG LABS. INC.
0020 DIM I$2,I2$1,I1$(246)1,I2$(123)2,V4$1,I1$50
: PRINT HEX(06);AT(23,48,32);
: IF J0(1)=0THEN J0(1)=LEN(V0$())+2
0030 I1$()=" "
: GOSUB 2010
: KEYIN D1$,,32
: GOSUB 2260
: GOTO 40
0032 IF D1$=HEX(4F)OR D1$=HEX(5F)THEN D1$=HEX(03)
0040 IF J7(1)<7THEN GOSUB 2020
: IF I1$()>" "THEN 60
: IF D1$>=HEX(20)AND D1$<HEX(7B)AND POS(HEX(5C5E5F)=D1$)=0THEN 100
: ON POS(HEX(F050)=D1$)GOTO 320,320
: I7=POS(HEX(0010011102120313040515061607170C1C0D1D7E7F)=D1$)
: IF I7>0THEN 50
: GOSUB 2030
: GOTO 30
0050 FOR C=1TO I7
: READ I1$()
: NEXT C
0060 GOSUB 330
: I4=LEN(I1$())
: IF I4>POS(-V0$()=20)-J1-2THEN 470
: STR(V0$(),J1,I4)=I1$()
: J1=J1+I4
: GOTO 300
0100 IF B3$=" "THEN 410
: GOSUB '220(A4,1,1,1,1)
: IF R1$<>HEX(00)THEN 420
: I6=VAL(STR(V1$(),209))
: IF STR(V1$(),210,1)<>"Y"THEN 430
: IF VAL(STR(V1$(),211))<>1THEN 440
: GOSUB '220(A4,1,2,1,1)
: IF R1$<>HEX(00)THEN 450
: MAT SEARCHV1$(),=D1$TO I$STEP I6
: I7=VAL(I$,2)
: IF I7=0THEN 460
0140 I2=VAL(STR(V1$(),I7+1),2)
: IF I7=244OR STR(V1$(),I7+3,3)=HEX(000000)THEN I3=V0-I2+1
: ELSE I3=VAL(STR(V1$(),I7+4),2)-I2
: GOSUB 330
: IF J7(1)<>0THEN IF J9+J7+246*I3>=J8-1THEN 475
: ELSE IF J1+246*I3>=J8-1THEN 475
: FOR I1=I2TO I2+I3-1
: GOSUB '220(A4,1,I1,1,1)
: IF POS(HEX(0028)=R1$)=0THEN 2140
: IF I1=I2THEN I1$()=STR(V1$(),5)
: ELSE I1$()=V1$()
0210 I5=LEN(I1$())
: I4=POS(I1$()=HEX(8F))
: IF I4>0THEN 220
: IF I5>I7-2THEN 470
: IF I5>0THEN STR(V0$(),J1,I5)=I1$()
: J1=J1+I5
: I7=I7-I5
: NEXT I1
: GOTO 300
0220 IF I4>I7-2THEN 470
: IF C3<8THEN 480
: IF A0(3)=123THEN 490
: D2=1
: STR(V0$(),J1,I4)=I1$()
: I1$()=STR(I1$(),I4+1)
: J9=POS(STR(V0$(),2)=HEX(8F))+1
: I8=INT((J9-1)/246)+1
: V4$="T"
: FOR C=1TO I8
: D6=MIN(246,J9)
: V1$()=STR(V0$(),246*(C-1)+1,D6)
: J9=J9-D6
: GOSUB '222(A1,1,C5,1,1)
: IF R1$<>HEX(00)THEN 2160
: C5=C5+1
: NEXT C
0250 A0(3)=A0(3)+1
: C3,C4=C3+1
: IF C3<A0(3)THEN MAT COPY -STR(J1$(),C3*2-1,246-C3*2)TO -STR(J1$(),C3*2+1,
246-C3*2)
: J1$(C3)=BIN(C5,2)
: GOSUB 360
: IF J7(1)=0THEN 270
: J0(5)=C3
: J0(4)=POS(V0$()=" ")-1
: J0(3)=1
0270 I0=LEN(A5$())
: IF I0>1THEN 272
: A5$()=STR(V0$(),,POS(V0$()=83))
: GOTO 270
0272 K=POS(-V0$()=HEX(8F))+1
: IF J7(1)<>0THEN 274
: D1=LEN(V0$())-K+1
: IF D1>0THEN STR(V0$(),I0+1,D1)=STR(V0$(),K,D1)
0274 STR(V0$(),,I0)=STR(A5$(),,I0)
: IF J7(1)=0THEN STR(V0$(),I0+D1+1)=" "
: ELSE STR(V0$(),I0+1,J8-J7-I0-1)=" "
: V0$(1)=HEX(8F)
: J0(1)=MAX(J0(1)-J9,1)
: J0(1)=J0(1)+I0
: J1=I0+1
: J9=LEN(V0$())
: GOSUB 390
: IF I1$()<>" "THEN 210
: NEXT I1
0300 IF J7(1)<>0THEN 310
: J9=LEN(V0$())
: IF I2$=HEX(8F)AND V0$(J9)<>I2$THEN V0$(J9+1)=I2$
: GOTO 320
0310 IF J1>J9THEN J1=9E99
0320 IF J7(1)=0THEN J7=0
: J7(3)=2
: IF J7(1)>6THEN 327
: LOAD DA T(D7$(1))
0327 V1$()="609Eentr609Eline609Eplin609Eprnt"
: IF D7$="H"THEN V1$()="609EENTR609Eline609EPLIN609EPRNT609EPOS 609EFRMT"
: LOAD T<INT((LEN(V1$())+7)/8)>V1$()
0330 IF J7(1)<>0THEN 350
: I2$=V0$(J9)
: IF I2$<>HEX(8F)THEN 340
: V0$(J9)=" "
: J9=J9-1
: IF J0(1)>J9+1THEN J0(1)=J9+1
0340 I7=J8-J0(1)
: RETURN
0350 I7=J0(4)-J9-1
: RETURN
0360 IF I8=0OR C3=A0(3)THEN RETURN
: I2$()=ALL(00)
: C=C3
0370 C=C+1
: IF C>7THEN 380
: IF J1$(C)>HEX(0000)THEN I2$(C)=BIN(ABS(I8),2)
: GOTO 370
0380 I2$(C)=BIN(ABS(I8),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 I8>0THEN J1$()=ADDCI2$()
: ELSE J1$()=SUBCI2$()
: RETURN
0390 V1$()=J1$()
: V4$="P"
: GOSUB '221(A1,1,1,1,1)
: IF R1$<>HEX(00)THEN 2170
: RETURN
0410 GOSUB 2040
: GOTO 30
0420 GOSUB 2050
: GOTO 30
0430 GOSUB 2060
: GOTO 30
0440 GOSUB 2070
: GOTO 30
0450 GOSUB 2080
: GOTO 30
0460 GOSUB 2090
: GOTO 30
0470 GOSUB 2100
: GOTO 510
0475 GOSUB 2100
: GOTO 300
0480 GOSUB 2110
: GOTO 500
0490 GOSUB 2120
0500 I7=I4-1
0510 IF I7>1THEN STR(V0$(),J1,I7-1)=I1$()
: GOTO 300
2000 % This is line 2000 - do not renumber lines 2000-2999
2010 PRINT AT(0,63,17);B5$(2);"Which Entry?";B5$(1);
: RETURN
2020 PRINT HEX(07);AT(0,63,17);
: I1$="Loading the Editor"
: GOTO 2095
2030 I1$="Invalid Key - ignored"
: GOTO 2095
2040 I1$="No glossary attached"
: GOTO 2095
2050 I1$="Error reading gloss. admin"
: GOTO 2200
2060 I1$="Glossary not verified"
: GOTO 2095
2070 I1$="Gloss. index exceeds one sector"
: GOTO 2095
2080 I1$="Error in gloss. index page read"
: GOTO 2200
2090 I1$="No such glossary entry"
: GOTO 2095
2095 PRINT HEX(07);AT(23,48,32);B5$(2);I1$;B5$(1);
: RETURN
2100 I1$="Insufficient room"
: GOTO 2190
2110 I1$="No page breaks on special pages"
: GOTO 2190
2120 I1$="Too many pages"
: GOTO 2190
2130 I1$="Incomplete format line"
: GOTO 2190
2140 B2$,I1$="Error reading glossary item"
: GOTO 2180
2150 B2$,I1$="Error replacing page"
: GOTO 2180
2160 B2$,I1$="Error saving new page"
: GOTO 2180
2170 B2$,I1$="Error rewriting page table"
: GOTO 2180
2180 GOSUB 2210
: GOSUB 2220
: IF B2$<>" "THEN B2$=I1$
: IF Y5$<>" "THEN GOSUB '31
: GOSUB 2230
: GOSUB 2240
: GOSUB '31
2190 GOSUB 2220
: GOSUB 2230
: GOSUB 2240
: RETURN
2200 GOSUB 2210
: GOSUB 2230
: RETURN
2210 IF R1$>HEX(29)THEN CONVERT VAL(R1$)TO I$,(##)
: ELSE HEXUNPACKR1$TO I$
: I1$=I1$&" - error = "&I$
: RETURN
2220 I1$=I1$&" - Cancel"
: RETURN
2230 PRINT HEX(07);AT(23,0,80);B5$(2);I1$;B5$(1);
: RETURN
2240 KEYIN S2$,,2250
: GOTO 2240
2250 IF POS(HEX(F050)=S2$)>0THEN RETURN
: GOTO 2240
2260 IF D1$=HEX(0D)THEN I1$()="\A8\AD\D2\C5\D4\D5\D2\CE\AD\A9"
: IF D1$=HEX(08)THEN I1$()="\A8\AD\C2\C1\C3\CB\D3\D0\C1\C3\C5\AD\A9"
: IF D1$=HEX(FF)THEN I1$()="\A8\AD\D5\CE\C4\C5\D2\D3\C3\CF\D2\C5\AD\A9"
: RETURN
2270 DATA "\A8\AD\C9\CE\C4\C5\CE\D4\AD\A9","\A8\AD\C9\CE\C4\C5\CE\D4\AD\A9","\
A8\AD\D0\C1\C7\C5\AD\A9","\A8\AD\D0\C1\C7\C5\AD\A9","\A8\AD\C3\C5\CE\D4\C
5\D2\AD\A9","\A8\AD\C3\C5\CE\D4\C5\D2\AD\A9","\A8\AD\C4\C5\C3\AD\D4\C1\C2
\AD\A9","\A8\AD\C4\C5\C3\AD\D4\C1\C2\AD\A9","\A8\AD\C6\CF\D2\CD\C1\D4\AD\
A9","\A8\AD\CD\C5\D2\C7\C5\AD\A9","\A8\AD\C4\CF\CE\A7\D4\AD\CD\C5\D2\C7\C
5\AD\A9","\A8\AD\CE\CF\D4\C5\AD\A9","\A8\AD\CE\CF\D4\C5\AD\A9","\A8\AD\D3
\D4\CF\D0\AD\A9","\A8\AD\D3\D4\CF\D0\AD\A9","\A8\AD\C3\CF\CD\CD\C1\CE\C4\
AD\A9","\A8\AD\C3\CF\CD\CD\C1\CE\C4\AD\A9"
2280 DATA "\A8\AD\D3\D5\C2\D3\C3\D2\C9\D0\D4\AD\A9","\A8\AD\D3\D5\D0\C5\D2\D3\
C3\D2\C9\D0\D4\AD\A9","\A8\AD\D4\C1\C2\AD\A9","\A8\AD\D4\C1\C2\AD\A9"
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$