; START THE DIRECTORY LOADING FUNCTION
; GET THE BUFFER AND GET IT STARTED
;
STDIR LDA #0
 STA SA
 LDA #1 ;ALLOCATE CHANL AND 1 BUFEFER
 JSR GETRCH
 .SKIP
 LDA #0
 JSR SETPNT
 .SKIP
 LDX LINDX
 LDA #0
 STA LSTCHR,X
 JSR GETACT
 TAX
 LDA DRVNUM
 STA LSTJOB,X
 LDA #1 ; PUT SAL IN BUFFER
 JSR PUTBYT
 LDA #4 ;PUT SAH IN BUFFER
 JSR PUTBYT
 LDA #1 ;INSERT FHONEY LINKS (0101)
 JSR PUTBYT
 JSR PUTBYT
 LDA NBTEMP
 JSR PUTBYT ;PUT IN DRVNUM
 LDA #0
 JSR PUTBYT
 JSR MOVBUF ;GET DISK NAME
 JSR GETACT
 ASL A
 TAX
 DEC BUFTAB,X
 DEC BUFTAB,X
 LDA #0 ;END OF THIS LINE
 JSR PUTBYT
DIR1 LDA #1 ;INSERT FHONEY LINKS ($0101)
 JSR PUTBYT
 JSR PUTBYT
 JSR GETNAM ;GET #BUFRS AND FILE NAME
 BCC DIR3 ;TEST IF LAST ENTRY
 LDA NBTEMP
 JSR PUTBYT
 LDA NBTEMP+1
 JSR PUTBYT
 JSR MOVBUF
 LDA #0 ;END OF ENTRY
 JSR PUTBYT
 BNE DIR1
DIR10 JSR GETACT
 ASL A
 TAX
 LDA #0
 STA BUFTAB,X
 LDA #RDYTLK
 LDY LINDX
 STA DIRLST
 STA CHNRDY,Y ; DIRECTORY LIST BUFFER FULL
 LDA DATA
 RTS
;
;
DIR3 LDA NBTEMP ; THIS IS END OF LOAD
 JSR PUTBYT 
 LDA NBTEMP+1
 JSR PUTBYT
 JSR MOVBUF
 JSR GETACT
 ASL A
 TAX
 DEC BUFTAB,X
 DEC BUFTAB,X
 LDA #0 ; END OF LISTING (000)
 JSR PUTBYT
 JSR PUTBYT
 JSR PUTBYT
 JSR GETACT
 ASL A
 TAY
 LDA BUFTAB,Y
 LDX LINDX
 STA LSTCHR,X
 DEC LSTCHR,X
 JMP DIR10
;
;
;
;
; TRANSFER FILE NAME TO LISTING BUFFER
;
MOVBUF LDY #0
MOVB1 LDA NAMBUF,Y
 JSR PUTBYT
 INY
 CPY #27
 BNE MOVB1
 RTS
;
;
; GET CHAR FOR DIRECTORY LOADING
;
GETDIR JSR GETBYT
 BEQ GETD3
 RTS
GETD3 STA DATA
 LDY LINDX
 LDA LSTCHR,Y
 BEQ GD1
 LDA #EOIOUT
 STA CHNRDY,Y
 LDA DATA
 RTS
GD1
 LDA DATA ;SAVE DATA
 PHA ;*
 JSR DIR1 ;LOAD UP ANOTHER SECTOR FULL
 PLA ;RESTORE DATA
 RTS ;EXIT TO CALLER
;
 .END
