From 964329c4a4c97ab9497fe45c008df935457050c4 Mon Sep 17 00:00:00 2001 From: Bobbi Webber-Manners Date: Fri, 10 Sep 2021 23:36:46 -0400 Subject: [PATCH] *INFO nearly working --- applecorn.po | Bin 819200 -> 819200 bytes mainmem.svc.s | 35 +++++++++++++++++++++++++++++++++-- mainmem.wild.s | 4 +++- 3 files changed, 36 insertions(+), 3 deletions(-) diff --git a/applecorn.po b/applecorn.po index b634969f22a5dfa6e8523ea3552e51db07c3e5a3..9e8a25eabbf12072752464959a13c81b272b24c2 100644 GIT binary patch delta 2827 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 ENTMAIN + AND #$F0 STA CATARG ; Stash argument - LDA MOSFILE ; Length of pathname + CMP #$A0 ; Is it *INFO? + BNE :NOTINFO + JMP INFO ; Handle entry for *INFO +:NOTINFO LDA MOSFILE ; Length of pathname BEQ :NOPATH ; If zero use prefix JSR PREPATH ; Preprocess pathname JSR WILDONE ; Handle any wildcards @@ -687,9 +692,35 @@ CATEXIT >>> XF2AUX,STARCATRET * PRONEBLK call returns here ... CATALOGRET >>> ENTMAIN + LDA CATARG + CMP #$A0 ; Is this an *INFO call? + BEQ INFOREENTRY BRA CATREENTRY -CATARG DB $00 ; A=5 *CAT, A=9 *EX, A=10 *INFO +CATARG DB $00 + +* Handle *INFO +INFO JSR PREPATH ; Preprocess pathname + JSR WILDCARD ; Handle any wildcards + BCS INFEXIT + +INFOREENTRY + JSR WILDNEXT + BCS INFEXIT ; No more matches +:L1 JSR WILDNEXT + BCS :DONE + LDA WILDIDX + CMP #$FF ; Finished a block? + BEQ :DONE + BRA :L1 +:DONE JSR COPYAUXBLK + >>> XF2AUX,PRONEBLK + +INFEXIT CMP #$4C ; EOF + BNE :EXIT + LDA #$00 ; EOF is not an error +:EXIT JSR CLSDIR ; Be sure to close it! + >>> XF2AUX,STARCATRET * Set prefix. Used by *CHDIR to change directory SETPFX >>> ENTMAIN diff --git a/mainmem.wild.s b/mainmem.wild.s index 9823207..fb7e1b5 100644 --- a/mainmem.wild.s +++ b/mainmem.wild.s @@ -253,11 +253,13 @@ MATCHENT LDA #