Wildcards implemented for *DIR only at present.

This commit is contained in:
Bobbi Webber-Manners 2021-09-09 13:38:27 -04:00
parent ee25c7b25c
commit 2ceebae7c1
20 changed files with 241 additions and 210 deletions

Binary file not shown.

View File

@ -186,3 +186,5 @@ MAINZP MAC

View File

@ -541,3 +541,5 @@ OSBM2 ASC ').'

View File

@ -445,3 +445,5 @@ KBDDONE RTS

View File

@ -901,3 +901,5 @@ ERROR2E DW $C800

View File

@ -158,3 +158,5 @@ HELLO ASC 'Applecorn MOS 2021-09-06 snapshot'

View File

@ -472,3 +472,5 @@ AUXBLK ASC '**ENDOFCODE**'

View File

@ -74,3 +74,5 @@ OSFILECB EQU $2EE ; OSFILE control block

View File

@ -574,3 +574,5 @@ ECHO3 PHP

View File

@ -503,3 +503,5 @@ BYTEA0 LDY #79 ; Read VDU variable $09,$0A

View File

@ -1,10 +1,10 @@
#!/bin/sh
for file in APPLECORN AUXMEM.BYTWRD AUXMEM.CHARIO AUXMEM.HOSTFS AUXMEM.INIT AUXMEM.MISC AUXMEM.MOSEQU AUXMEM.OSCLI AUXMEM.VDU MAINMEM.FSEQU MAINMEM.INIT MAINMEM.LDR MAINMEM.LISTS MAINMEM.MENU MAINMEM.MISC MAINMEM.PATH MAINMEM.SVC; do
for file in APPLECORN AUXMEM.BYTWRD AUXMEM.CHARIO AUXMEM.HOSTFS AUXMEM.INIT AUXMEM.MISC AUXMEM.MOSEQU AUXMEM.OSCLI AUXMEM.VDU MAINMEM.FSEQU MAINMEM.INIT MAINMEM.LDR MAINMEM.LISTS MAINMEM.MENU MAINMEM.MISC MAINMEM.PATH MAINMEM.SVC MAINMEM.WILD; do
cadius extractfile applecorn.po /APPLECORN/${file}.S .
rm _FileInformation.txt
cadius clearhighbit ${file}.S\#040000
cadius indentfile ${file}.S\#040000
FNAME=`echo ${file}.s | tr [:upper:] [:lower:]`
FNAME=`echo ${file}.S | tr [:upper:] [:lower:]`
mv -v ${file}.S\#040000 $FNAME
done
git diff

View File

@ -50,3 +50,5 @@ GEOFCMD EQU $D1

View File

@ -96,3 +96,5 @@ RESET TSX

View File

@ -125,3 +125,5 @@ CANTOPEN ASC "Unable to open ROM file"

View File

@ -100,3 +100,5 @@ QUITPL HEX 04 ; Number of parameters

View File

@ -131,3 +131,5 @@ ROM8 STR "USERROM2.ROM"

View File

@ -149,3 +149,5 @@ FILEREFS DB $00,$00,$00,$00

View File

@ -276,3 +276,5 @@ PREFIX DS 65 ; Buffer for ProDOS prefix

View File

@ -801,3 +801,5 @@ MAINRDEXIT >>> XF2AUX,NULLRTS ; Back to an RTS

View File

@ -209,12 +209,11 @@ MATCHENT LDA #<BLKBUF+4 ; Skip pointers
MATCH1 EQU '?' ; Matches exactly 1 character
MATCHN EQU '*' ; Matches any string (including "")
PATTERN EQU SEGBUF+1 ; Address of pattern
STR EQU A1L ; Pointer to string to match
MATCH LDX #$00 ; X is an index in the pattern
LDY #$FF ; Y is an index in the string
:NEXT LDA PATTERN,X ; Look at next pattern character
:NEXT LDA SEGBUF+1,X ; Look at next pattern character
CMP #MATCHN ; Is it a star?
BEQ :STAR ; Yes, do the complicated stuff
INY ; No, let's look at the string
@ -230,7 +229,7 @@ MATCH LDX #$00 ; X is an index in the pattern
:FOUND RTS ; Success, return with C=1
:STAR INX ; Skip star in pattern
CMP PATTERN,X ; String of stars equals one star
CMP SEGBUF+1,X ; String of stars equals one star
BEQ :STAR ; so skip them also
:STLOOP TXA ; We first try to match with * = ""
PHA ; and grow it by 1 character every
@ -249,6 +248,4 @@ MATCH LDX #$00 ; X is an index in the pattern
RTS
SEGBUF DS 65 ; For storing path segments (Pascal str)
; Length needs to be >= 15
; TODO: No overflow check