Listing of file='609@Cat2' on disk='vmedia/701-2737G.wvd.zip'
# Sector 849, program filename = '609@Cat2'
0010 REM '609@Cat2' - CATALOG DISPLAY/LIST (11/25/80)
0109 DIM C0(4),C1(4),C2(4),D3$1,C3$80,C6$80,C0$(4)16,C1$(4)16,C2$(3)20,C5$(256
)1
: GOSUB 2505
: PRINT AT(3,0,80);B2$;
: DIM C3$(190)2,C4$(190)2
: MAT SORTD0$()TO C3$(),C4$()
: D9=1
: INIT(00)C2$()
: $FORMATC2$(1)=SKIP 1,A30
: $FORMATC2$(2)=SKIP 1,A30,SKIP 21,F6,SKIP 3,F6,SKIP 5,F6
0148 $FORMATC2$(3)=SKIP 1,A30,SKIP 14,A1,SKIP 6,F6,SKIP 3,F6
: DIM C0$30,C1$16,C2$1,D4,D5,D6,D7,D8
: DIM C4$80
: PRINT AT(3,0,50);
: IF D1>0THEN 178
: GOSUB 2510
: PRINT AT(23,0,);B2$;HEX(07);
: GOTO 586
0178 GOSUB 2515
: PRINT AT(3,0);B2$
: IF T5(2)=1THEN 214
: SELECT #6<D0$>
0190 $OPEN 202,#6
: ERRORGOSUB 2575
: PRINT AT(23,0,);B2$;HEX(07);
: GOTO 586
0193 GOSUB 951
: GOTO 205
0202 GOSUB 2570
: PRINT AT(23,0,);B2$;
: GOSUB '34(0)
: IF J$<>HEX(0D)THEN 586
: GOTO 190
0205 PRINT AT(23,0,);
: SELECT PRINT <D0$>
: GOSUB 951
: PRINT HEX(0C)
: GOTO 220
0214 PRINT HEX(0306);
: D9=1
0220 GOSUB 2530
: C6$=B2$&" "&STR(D2$,1,8)
: C6$=C6$&":"
: IF D$(1)=" "THEN 241
: ELSE C6$=C6$&D$(1)
: IF D$(2)=" "THEN 241
: ELSE C6$=C6$&"."&D$(2)
: IF D$(3)=" "THEN 241
: ELSE C6$=C6$&"."&D$(3)
: IF D$(4)=" "THEN 241
: ELSE C6$=C6$&"."&D$(4)
0241 C3$=C6$
: GOSUB 793
0250 C0$()=" "
: MAT C0=ZER
: MAT C1=ZER
: MAT C2=ZER
: C=VAL(C4$(1),2)
: C6$=D0$(C)&"."
: D7=VAL(D1$(C),2)
: D8=D7*VAL(STR(D1$(C),3))
: IF STR(D1$(C),4)="*"THEN C2$="*"
: ELSE C2$=" "
: FOR C=1TO 4
: C2=POS(C6$=".")
: IF C2>0THEN 304
: IF C>2THEN C0(C-2)=1
: ELSE C0(4)=1
: IF C>2THEN C1(C-2)=D7
: ELSE C1(4)=D7
: IF C>2THEN C2(C-2)=D8
: ELSE C2(4)=D8
: C=4
: GOTO 310
0304 C0$(C)=STR(C6$,1,C2-1)
: C6$=STR(C6$,C2+1)
0310 NEXT C
: C1$()=C0$()
: C5$=C2$
: GOSUB '9(1,C1$(1)," "," ",0,0,0)
: C2$=C5$
: IF C1$(2)=" "THEN 346
: IF C1$(3)=" "THEN D3=3
: ELSE D3=1
: GOSUB '9(D3,".",C1$(2),C2$,D7,D8,0)
: IF C1$(3)=" "THEN 346
: IF C1$(4)=" "THEN D3=3
: ELSE D3=1
: GOSUB '9(D3,"..",C1$(3),C2$,D7,D8,0)
: IF C1$(4)<>" "THEN GOSUB '9(3,"...",C1$(4),C2$,D7,D8,0)
0346 IF D1>1THEN 364
: C1$()=C0$()
: FOR C=4TO 1STEP -1
: IF C1$(C)=" "THEN 355
: C0(C)=1
: C=1
0355 NEXT C
: GOTO 502
0364 FOR C=2TO D1
: C7=VAL(C4$(C),2)
: C6$=D0$(C7)&"."
: D7=VAL(D1$(C7),2)
: D8=D7*VAL(STR(D1$(C7),3))
: IF STR(D1$(C7),4)="*"THEN C2$="*"
: ELSE C2$=" "
: C1$()=" "
: C8=4
: FOR C7=1TO 4
: C2=POS(C6$=".")
: IF C2>0THEN 409
: C8=C7-1
: C7=4
: GOTO 415
0409 C1$(C7)=STR(C6$,1,C2-1)
: C6$=STR(C6$,C2+1)
0415 NEXT C7
: IF C0$(1)=C1$(1)THEN 442
: D2=1
: GOSUB 601
: GOTO 487
0442 IF C0$(2)=C1$(2)THEN 457
: D2=2
: GOSUB 655
: GOTO 487
0457 IF C0$(3)=C1$(3)THEN 472
: D2=3
: GOSUB 712
: GOTO 487
0472 C0(3)=C0(3)+1
: C1(3)=C1(3)+D7
: C2(3)=C2(3)+D8
: GOSUB '9(3,"...",C1$(4),C2$,D7,D8,0)
: GOTO 487
0487 C0$()=C1$()
: C9=C8
: NEXT C
0502 IF C1$(4)=" "THEN 517
: GOSUB 2535
: B2$=B2$&".."
: GOSUB '9(2,B2$,C1$(3)," ",C1(3),C2(3),C0(3))
: C0(2)=C0(2)+C0(3)
: C1(2)=C1(2)+C1(3)
: C2(2)=C2(2)+C2(3)
0517 IF C1$(3)=" "THEN 532
: GOSUB 2535
: B2$=B2$&"."
: GOSUB '9(2,B2$,C1$(2)," ",C1(2),C2(2),C0(2))
: C0(1)=C0(1)+C0(2)
: C1(1)=C1(1)+C1(2)
: C2(1)=C2(1)+C2(2)
0532 IF C1$(2)=" "THEN 547
: GOSUB 2535
: GOSUB '9(2,B2$,C1$(1)," ",C1(1),C2(1),C0(1))
: C0(4)=C0(4)+C0(1)
: C1(4)=C1(4)+C1(1)
: C2(4)=C2(4)+C2(1)
0547 GOSUB '8
: GOSUB 2540
: GOSUB '9(2,B2$," "," ",C1(4),C2(4),C0(4))
0556 SELECT PRINT 005
: IF T5(2)=2THEN 586
0562 KEYIN D3$,563,565
: GOTO 556
0563 ON POS(HEX(0D82)=D3$)GOTO 577,577
: GOSUB 2520
: GOTO 571
0565 ON POS(HEX(50F0)=D3$)GOTO 586,586
: IF D3$=HEX(43)THEN GOSUB 2525
: ELSE GOSUB 2520
0571 PRINT HEX(06);AT(23,0,);B2$;AT(0,0);HEX(07);
: GOTO 562
0577 D9=1
: PRINT AT(8,0,);
: GOTO 250
0586 COM CLEAR D0$()
: $CLOSE
: LOAD DC T"609@Cat0"
0601 GOSUB 655
: C0(4)=C0(4)+C0(1)
: C1(4)=C1(4)+C1(1)
: C2(4)=C2(4)+C2(1)
: GOSUB 2535
: GOSUB '9(2,B2$,C0$(1)," ",C1(1),C2(1),C0(1))
: C0(1),C1(1),C2(1)=0
: IF C8>1THEN C0(C8-1)=1
: ELSE C0(4)=1
: IF C8>1THEN C1(C8-1)=D7
: ELSE C1(4)=D7
: IF C8>1THEN C2(C8-1)=D8
: ELSE C2(4)=D8
: GOSUB 760
: RETURN
0655 GOSUB 712
: C0(1)=C0(1)+C0(2)
: C1(1)=C1(1)+C1(2)
: C2(1)=C2(1)+C2(2)
: IF C9>2THEN GOSUB 2535
: B2$=B2$&"."
: IF C9>2THEN GOSUB '9(2,B2$,C0$(2)," ",C1(2),C2(2),C0(2))
: C0(2),C1(2),C2(2)=0
: IF D2<>2THEN 703
: IF C8>1THEN C0(C8-1)=C0(C8-1)+1
: ELSE C0(4)=C0(4)+1
: IF C8>1THEN C1(C8-1)=C1(C8-1)+D7
: ELSE C1(4)=C1(4)+D7
0694 IF C8>1THEN C2(C8-1)=C2(C8-1)+D8
: ELSE C2(4)=C2(4)+D8
: IF C9>2THEN GOSUB '8
: GOSUB 766
0703 RETURN
0712 C0(2)=C0(2)+C0(3)
: C1(2)=C1(2)+C1(3)
: C2(2)=C2(2)+C2(3)
: IF C9>3THEN GOSUB 2535
: B2$=B2$&".."
: IF C9>3THEN GOSUB '9(2,B2$,C0$(3)," ",C1(3),C2(3),C0(3))
: C0(3),C1(3),C2(3)=0
: IF D2<>3THEN 754
: IF C8>1THEN C0(C8-1)=C0(C8-1)+1
: ELSE C0(4)=C0(4)+1
: IF C8>1THEN C1(C8-1)=C1(C8-1)+D7
: ELSE C1(4)=C1(4)+D7
0745 IF C8>1THEN C2(C8-1)=C2(C8-1)+D8
: ELSE C2(4)=C2(4)+D8
: IF C9>3THEN GOSUB '8
: GOSUB 775
0754 RETURN
0760 GOSUB '8
: GOSUB '9(1,C1$(1)," "," ",0,0,0)
0766 IF C1$(2)=" "THEN 787
: IF C1$(3)=" "THEN D3=3
: ELSE D3=1
: GOSUB '9(D3,".",C1$(2),C2$,D7,D8,0)
0775 IF C1$(3)=" "THEN 787
: IF C1$(4)=" "THEN D3=3
: ELSE D3=1
: GOSUB '9(D3,"..",C1$(3),C2$,D7,D8,0)
: IF C1$(4)<>" "THEN GOSUB '9(3,"...",C1$(4),C2$,D7,D8,0)
0787 RETURN
0793 GOSUB 951
: GOSUB 2545
: PRINT TAB(23);B2$
: GOSUB 951
: GOSUB 2550
: PRINT TAB(24);B2$
: PRINT
: D9=D9+1
: IF T5(2)=2THEN 811
: GOSUB 2555
: PRINT TAB(17);B2$
: PRINT
0811 GOSUB 951
: PRINT TAB(10);C3$
: GOSUB 951
: GOSUB 2560
: PRINT TAB(42);B2$
: PRINT
: D9=D9+1
: IF T5(2)=1THEN PRINT BOX(15,79);
: RETURN
0829 DEFFN'8
: C4$=ALL(80)
: STR(C4$,1,1),STR(C4$,80,1)=" "
: GOSUB 951
: PRINT C4$
: GOSUB '10
: RETURN
0856 DEFFN'9(D3,C0$,C1$,C2$,D4,D5,D6)
: C4$=" "
: IF C0$=" "THEN C0$=C1$
: ELSE C0$=C0$&C1$
: ON D3GOTO 871,877,883
0871 $PACK(F=C2$(1))C4$FROMC0$
: GOTO 886
0877 $PACK(F=C2$(2))C4$FROMC0$,D4,D5,D6
: GOTO 886
0883 $PACK(F=C2$(3))C4$FROMC0$,C2$,D4,D5
0886 IF T5(2)=1THEN $TRAN(STR(C4$,2,78),HEX(8020))R
: GOSUB 951
: PRINT C4$
: GOSUB '10
: RETURN
0901 DEFFN'10
: D9=D9+1
: IF T5(2)=1THEN 925
: IF D9<50THEN 949
: GOSUB 951
: PRINT HEX(0C)
: GOSUB 793
: D9=1
: GOTO 949
0925 IF D9<16THEN 949
0928 KEYIN D3$,929,931
: GOTO 928
0929 ON POS(HEX(0D82)=D3$)GOTO 940,940
: GOTO 934
0931 ON POS(HEX(50F043)=D3$)GOTO 586,586,940
0934 GOSUB 2520
: PRINT HEX(06);AT(23,0,);B2$;AT(0,0);HEX(07);
: GOTO 928
0940 D9=1
: PRINT AT(8,0,);
: IF POS(HEX(0D82)=D3$)>0THEN 250
0949 RETURN
0951 IF X=1OR D0$="005"THEN RETURN
0952 X=1
: B2$=ALL(00)
: STR(B2$,3,1)=HEX(FF)
: C5$()=HEX(2000)
: STR(C5$(),3)=STR(C5$(),1)
: $GIO#6,(0140020012121C3ED00B1B414240D00B1C3AE0050BFF10000BFF,B2$)C5$()
: IF STR(B2$,11,1)=HEX(FF)THEN $GIO#6,(400D)
: IF STR(B2$,11,1)=HEX(FF)THEN RETURN
: GOSUB 2565
: SELECT PRINT 005
: PRINT AT(23,0,);B2$;
: GOSUB '34(0)
: SELECT PRINT <D0$>
: IF J$<>HEX(0D)THEN 586
: GOTO 952
2500 % DO NOT RENUMBER THE FOLLOWING
2505 B2$="(Sorting Volume Catalog)"
: RETURN
2510 B2$="File or Partial File Name Not Found on Volume"
: RETURN
2515 B2$="(Printing Catalog List)"
: RETURN
2520 B2$="Invalid Key"
: RETURN
2525 B2$="No Next Screen"
: RETURN
2530 B2$="Catalog of :"
: RETURN
2535 B2$=" Totals for :"
: RETURN
2540 B2$=" Grand Totals"
: RETURN
2545 B2$="WANG 2200 Word Processing System"
: RETURN
2550 B2$="Catalog Display/List Utility"
: RETURN
2555 B2$="Use NEXT-SRCN, EXECUTE and CANCEL to Scan File"
: RETURN
2560 B2$="Password Vaus Sectors Files"
: RETURN
2565 B2$="Select Printer"
: RETURN
2570 B2$="Printer In Use, Press EXECUTE to try again"
: RETURN
2575 B2$="Illegal Printer Device"
: RETURN