Listing of file='609GVer2' on disk='vmedia/731-0067F-disk2.wvd.zip'
# Sector 584, program filename = '609GVer2'
0010 REM %609GVer2 237-07/28/86 Copyright WANG Laboratories, INC. 1986
0020 DIM J2$1,C4,C2$(82)3,C7$1,A3,J3$80,T1$80,T2$2,C5,C6,D5,D6,J0$1,J1,J1$1,C3
,D7,D8,C3$(17)11,C4$(16)1,J5,C5$(16)1,C1,C7$(246)1,C8$(246)2,C6$(4)64,V4$
1,J2,J3,J4
: IF J2$=HEX(00)THEN 430
: GOSUB '220(A3,1,1,1,2)
: IF R1$=HEX(00)THEN 390
: GOSUB 2900
: GOTO 410
0390 GOSUB '223(A3,1,V0)
: IF R1$=HEX(00)THEN 430
: GOSUB 2910
: GOTO 410
0400 PRINT HEX(0706);B5$(2);
: PRINT AT(23,0,80);T1$;
: GOSUB 2920
: KEYIN J2$
: GOSUB '31
0410 GOSUB 420
: GOSUB 2930
: GOTO 400
0420 T2$=" "
: IF R1$>HEX(29)THEN CONVERT VAL(R1$)TO T2$,(##)
: ELSE HEXUNPACKR1$TO T2$
: RETURN
0430 J4=11
: MAT READ C3$
: C4$()=HEX(848F81857FFF8C8B5F5E82838608)
: C4$(10)=STR(A1$,2,1)
: C4$(9)=STR(A1$,3,1)
: C6$()=ALL(00)
: FOR C=129TO 256
: IF STR(J9$(),C,1)<>HEX(FF)THEN STR(C6$(),C,1)=HEX(00)
: ELSE STR(C6$(),C,1)=BIN(C-1)
: NEXT C
: J3$=HEX(8C8C8B848185828386)
: FOR C=1TO 3
: T2$=STR(J3$,C,1)
: STR(C6$(),VAL(T2$)+1,1)=HEX(00)
: NEXT C
0460 J2=3
: J3=209
: C2$()=ALL(00)
: GOSUB '220(A1,1,2,1,2)
: GOSUB 2000
: IF R1$>HEX(00)THEN 1080
: STR(V0$(),J3,3)=BIN(J2)&"N"&HEX(01)
: V4$="a"
: GOSUB '225(A3,1,1,2)
: GOSUB 2010
: IF R1$>HEX(00)THEN 1080
: V4$="i"
: V0$()=C2$()
: GOSUB '225(A3,1,1,2)
: GOSUB 2020
: IF R1$>HEX(00)THEN 1080
: GOSUB '220(A1,1,1,1,2)
: GOSUB 2030
: IF R1$>HEX(00)THEN 1080
: C3=V0
: J1$()=V0$()
0500 C5=7
: V1$()=" "
: C7$="N"
: C6=3
: D6,J1=0
0520 J1=J1+1
: C5$()=" "
: C5=C5+1
: IF J1$(C5)=HEX(FFFF)THEN 930
: IF J1$(C5+1)=HEX(FFFF)THEN C8=C3+1
: ELSE C8=VAL(J1$(C5+1),2)
: J7=VAL(J1$(C5),2)
: C4=C8-J7
: GOSUB 2040
: GOSUB '220(A1,1,J7,C4,2)
: IF R1$=HEX(00)OR R1$=HEX(28)THEN 540
: GOSUB 1190
: GOSUB 2050
: CONVERT C5TO J3$,(###)
: T1$=T1$&" "&J3$
: GOTO 1070
0540 IF J1$(C5+1)=HEX(FFFF)THEN J2$=" "
: ELSE J2$=HEX(8F)
: MAT SEARCHV0$()<2,246*V2*C4-1>,=J2$TO T2$
: D7=VAL(T2$,2)+1
: IF D7<>0THEN 550
: GOSUB 2060
: GOTO 1070
0550 D5=1
: GOSUB 1060
: T1$=HEX(A858A9)
: IF VER(STR(V0$(),D5,3),T1$)=3THEN 560
: GOSUB 2260
: GOTO 1090
0560 J0$=STR(V0$(),D5+1,J2-2)
: AND (J0$,7F)
: IF J0$>="A"AND J0$<="Z"THEN 570
: IF J0$>="a"AND J0$<="z"THEN 570
: IF POS(" 0123456789!@#$%^&*()-=+<>/?[];,.:'"=J0$)>0OR J0$=HEX(22)THEN 570
: GOSUB 2070
: GOTO 1090
0570 MAT SEARCHC2$()<1,J2*(J1-1)>,=STR(J0$,1,J2-2)TO T2$STEP 3
: IF T2$=HEX(0000)THEN 580
: GOSUB 2080
: GOTO 1090
0580 IF J1<83THEN 590
: GOSUB 2090
: GOTO 1090
0590 T2$=BIN(C6,2)
: STR(C2$(),J1*J2-2,J2)=STR(J0$,1,J2-2)&T2$
: V1$()=HEX(8F280029)
: STR(V1$(),3,1)=J0$
: V0$()=STR(V0$(),D5+3)
: D6=4
: D7=D7-(D5+2)
: $TRAN(V0$(),C6$())
: J0=246
: D5=1-J0
: D8=1
0630 D5=D5+J0
: C7=D5+J0-1
: IF C7>D7THEN C7=D7
: C7$()=STR(V0$(),D5,C7-D5+1)
: MAT SEARCHC7$(),>HEX(80)TO C8$()
: IF C8$(1)=HEX(0000)THEN 640
: J6=J0
: MAT MOVE C7$(),C8$(),J6TO C7$()(1,1)
: STR(V0$(),D8,J6)=C7$()
: D8=D8+J6
0640 IF C7<D7THEN 630
: STR(V0$(),D8)=" "
: D5=0
: D7=D8-1
: IF D8>1THEN 660
: GOSUB 2100
: GOTO 1090
0660 D5=D5+1
: IF D5>D7THEN 520
: IF D5=D7THEN 900
: IF STR(V0$(),D5,2)<>"\A8\AD"THEN 900
: IF C5$()<>" "THEN 790
: GOSUB 1120
: IF J5=13OR J5=15THEN C5$(J5)="Y"
: IF J5<>16THEN 690
: GOSUB 2110
: GOTO 1090
0690 IF J5<>17THEN 740
: IF D5<D7THEN 660
: IF D7<>LEN(C5$(17))+4THEN 730
: GOSUB 2100
: GOTO 1090
0730 GOSUB 1030
: GOTO 660
0740 IF J5<>15THEN 742
: IF D5<D7THEN 660
: ELSE GOTO 800
0742 J0$=C4$(J5)
: IF J5<>13THEN 910
: C1=1
: D6=D6+1
: STR(V1$(),D6,1)=J0$
: J0$="\B1"
: IF STR(V0$(),D5+1,13)<>"\A8\AD\C2\C1\C3\CB\D3\D0\C1\C3\C5\AD\A9"THEN 770
: D5=D5+13
0770 IF POS("\B0\B1\B2\B3\C8\D1\D7"=V0$(D5+1))=0THEN 780
: J0$=V0$(D5+1)
: D5=D5+1
0780 AND (J0$,7F)
: IF D5<D7THEN 910
: ELSE GOTO 880
0790 IF C5$(15)<>"Y"THEN 810
: C5$(15)=" "
: GOSUB 1120
: IF C7$="N"THEN C7$="Y"
: ELSE C7$="N"
: IF J5=16AND D5<D7THEN 660
: ELSE GOTO 730
0800 GOSUB 2120
: GOTO 1090
0810 IF C5$(13)<>"Y"THEN 800
: GOSUB 1120
: IF J5<>17THEN 870
: IF D5<D7THEN 660
: IF D7<>LEN(C5$(17))+4THEN 860
: GOSUB 2130
: GOTO 1090
0860 GOSUB 1030
: GOTO 660
0870 C1=C1+1
: IF C1>155THEN 880
: IF J5=12THEN C5$(13)=" "
: IF J5=11OR J5=12THEN 740
: IF J5=12AND D5<D7THEN 740
0880 GOSUB 2130
: GOTO 1090
0900 J0$=V0$(D5)
: IF C7$="N"OR C5$(13)="Y"THEN AND (J0$,7F)
: $TRAN(J0$,HEX(8020))R
: T1$=" "
: IF C5$(15)="Y"THEN 800
: IF C5$(13)<>"Y"THEN 910
: C1=C1+1
: J2$=J0$
: $TRAN(J2$,HEX(A080))R
: IF C5$(13)="Y"AND D5>=D7THEN 880
: IF J2$=HEX(A0)AND C1<156THEN 910
: ELSE GOTO 880
0910 GOSUB 1020
: GOTO 660
0930 GOSUB '220(A3,1,1,1,2)
: GOSUB 2140
: IF R1$>HEX(00)THEN 1080
: V0$(J3+1)="Y"
: V4$="a"
: GOSUB '221(A3,1,1,1,2)
: GOSUB 2150
: IF R1$>HEX(00)THEN 1080
: V0$()=C2$()
: V4$="i"
: GOSUB '221(A3,1,2,1,2)
: GOSUB 2160
: IF R1$>HEX(00)THEN 1080
: GOSUB 2170
: R5$=STR(B0$,12,4)&STR(B0$,10,1)
0970 J2$=" "
: KEYIN J2$
: IF J2$=HEX(F0)OR J2$=HEX(50)THEN 1000
: IF J2$<>HEX(82)THEN 970
: B3$=C0$
: GOSUB 2180
1000 GOSUB '31
1020 D6=D6+1
: STR(V1$(),D6,1)=J0$
1030 IF D6<246AND D5<D7THEN RETURN
: V4$="g"
: GOSUB '225(A3,1,1,1)
: C6=C6+1
: IF R1$=HEX(00)THEN 1040
: GOSUB 1190
: GOSUB 2190
: CONVERT C6TO J3$,(###)
: T1$=T1$&J3$
: IF R1$=HEX(01)THEN GOSUB 2200
: GOTO 1070
1040 IF D6<247THEN 1050
: V1$()=STR(V1$(),247)
: D6=D6-246
: GOTO 1020
1050 D6=0
: V1$()=" "
: RETURN
1060 MAT SEARCHV0$()<D5,D5+158>,=HEX(83)TO T2$
: D0=VAL(T2$,2)
: IF D0=0THEN GOTO 880
: D5=D0+1
: RETURN
1070 GOSUB 2210
: KEYIN J2$
: GOSUB '31
1080 GOSUB 1190
: GOSUB 2220
: GOTO 1070
1090 GOSUB 2230
1100 J2$=" "
: KEYIN J2$
: IF J2$=HEX(50)OR J2$=HEX(F0)THEN 1110
: ELSE GOTO 1100
1110 J9=C5
: V0=C3
: C9=0
: J1,J2,C0=0
: V1$()="609FpageREC.page"
: LOAD T<2>V1$()
1120 J3$=STR(V0$(),D5+2,MIN(J4+2,D7-D5+1))
: MAT SEARCHJ3$,="\AD\A9"TO T2$
: IF T2$=HEX(0000)THEN 1140
: D8=VAL(T2$,2)
: J3$=STR(V0$(),D5+2,D8-1)
: AND (J3$,7F)
: MAT SEARCHC3$(),=STR(J3$,,J4)TO T2$STEP J4
: D5,D8=D8+2+D5
: IF T2$>HEX(0000)THEN 1160
: J3$=J3$&"\AD\A9"
: OR (STR(J3$,1,LEN(J3$)),80)
1140 GOSUB 2250
: GOTO 1090
1150 GOSUB 2255
: GOTO 1090
1160 J5=(VAL(T2$,2)+J4-1)/J4
: IF J5=14THEN 1150
: RETURN
1170 DEFFN'31
: A5$()="609CloseJCAT"
: LOAD T<2>A5$()
1190 T2$=" "
: IF R1$>HEX(29)THEN CONVERT VAL(R1$)TO T2$,(##)
: ELSE HEXUNPACKR1$TO T2$
: RETURN
2000 J3$="reading glossary admin. page"
: RETURN
2010 J3$="writing verified glossary admin. page"
: RETURN
2020 J3$="writing verified glossary page"
: RETURN
2030 J3$="reading source pagetable"
: RETURN
2040 PRINT AT(23,0,80);HEX(06);B5$(2);"Verifying source page ";J1;
: RETURN
2050 T1$="Error "&T2$&" in reading source page number "
: RETURN
2060 T1$="Page ### has no end of page"
: CONVERT C5TO STR(T1$,6,3),(###)
: RETURN
2070 T1$="Improper glossary label"
: RETURN
2080 T1$="Duplicate glossary label"
: RETURN
2090 T1$="82 labels are allowed - "&J0$&" is number 83"
: RETURN
2100 T1$="Glossary contains no retrievable text"
: RETURN
2110 T1$="Keyword "&C3$(J5)&" out of syntax"
: RETURN
2120 T1$="COMMAND not followed by valid command"
: RETURN
2130 T1$="Incorrect format line"
: RETURN
2140 J3$="reading verified glossary admin. page"
: RETURN
2150 J3$="writing verified glossary admin. page"
: RETURN
2160 J3$="writing verified glossary index page"
: RETURN
2170 PRINT AT(23,0,65);HEX(0706);B5$(2);"Verification successful";
: PRINT AT(0,63,17);HEX(06);B5$(2);"Attach it?"
: RETURN
2180 PRINT AT(23,0,60);HEX(06);B5$(2);"Glossary ";B3$;" attached";B5$(1);
: RETURN
2190 T1$="Error "&T2$&" in writing verified glossary VAU"
: RETURN
2200 T1$="Volume full"
: RETURN
2210 PRINT HEX(07);B5$(2);
: PRINT AT(23,0,80);HEX(06);T1$;" Key EXEC for menu";B5$(1);
: RETURN
2220 T1$="Error "&T2$&" "&J3$
: RETURN
2230 PRINT HEX(0706);B5$(2);
: PRINT AT(23,0,80);"Page ";J1;" ";T1$;
: PRINT AT(0,63,17);HEX(06);"Please Cancel";AT(23,74);B5$(1);
: RETURN
2240 DATA "INDENT","PAGE","CENTER","DEC-TAB","MERGE","DON'T-MERGE","NOTE","STO
P","SUBSCRIPT","SUPERSCRIPT","TAB","RETURN","FORMAT","BACKSPACE","COMMAND
","UNDERSCORE","EXECUTE"
2250 T1$="\A8\AD"&J3$&" is incorrect key name"
: RETURN
2255 T1$="\A8\AD\C2\C1\C3\CB\D3\D0\C1\C3\C5\AD\A9 may only be used in format l
ines"
: RETURN
2260 T1$="No glossary label"
: RETURN
2900 J3$="in reading verified glossary VAU"
: RETURN
2910 J3$="in deleting VAU's from old verified glossary"
: RETURN
2920 PRINT " Key EXEC to resume";
: RETURN
2930 T1$="Error "&T2$&" "&J3$
: RETURN