;***************************************************************************;
;                                                                           ;
;                                  ARCDIR                                   ;
;                         display archive directory                         ;
;                                                                           ;
;                         Author: David F. Pallmann                         ;
;            Copyright (C) 1984 by LMS Technical Services, Inc.             ;
;                                                                           ;
;***************************************************************************;

OBJNAM  ARCDIR.LIT

VMAJOR=1

;edit history
VEDIT=100.      ;06-Jan-84 DFP creation.

;universals
SEARCH  SYS
SEARCH  SYSSYM

;registers
IMP=A5                                  ;impure index

;impure area
OFINI
OFDEF   ARCDIR,D.DDB                    ;DDB for reading archive directory
OFDEF   FILE,14                         ;file header buffer
OFDEF   BUFFER,10                       ;PACK-UNPACK buffer
OFSIZ   IMPSIZ

START:  PHDR    -1,0,PH$REE!PH$REU      ;program header
       GETIMP  IMPSIZ,IMP              ;allocate impure area

;get archive specification

GETARC: BYP
       LIN
       BNE     10$
       TYPESP  archive name:
       KBD     EXIT
       BYP
10$:    FSPEC   ARCDIR(IMP),MAP
       INIT    ARCDIR(IMP)
       OPENI   ARCDIR(IMP)
       CLR     D2

LOOP:   CTRLC   ENDFIL
       LEA     A0,FILE(IMP)
       MOV     #14,D0
10$:    FILINB  ARCDIR(IMP)
       TST     ARCDIR+D.SIZ(IMP)
       JEQ     ENDFIL
       MOVB    D1,(A0)+
       SOB     D0,10$

DISPLY: INC     D2
       MOV     D2,D1
       DCVT    0,OT$TRM
       TAB

       LEA     A1,FILE(IMP)
       LEA     A2,BUFFER(IMP)
       UNPACK
       UNPACK
       CLRB    @A2
       TTYL    BUFFER(IMP)
       TYPESP
       LEA     A2,BUFFER(IMP)
       UNPACK
       CLRB    @A2
       TTYL    BUFFER(IMP)
       TAB

       PRPPN   FILE+6(IMP)
       TAB

       MOV     FILE+10(IMP),D1
       DCVT    0,OT$TRM!OT$TSP
       TYPECR  bytes

       JMP     LOOP

ENDFIL: CLOSE   ARCDIR(IMP)

EXIT:   CRLF
       EXIT

       END