From 8be5e78b32a3b27e043241944e2065729afbb0e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Fri, 29 Nov 2019 16:36:54 +0100 Subject: [PATCH] Kernel 0.93+ --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/LS.S.txt | 107 +++++++++++++++++++++++++++------------ BIN/X.FILEENUM.S.txt | 37 ++++++++++---- 3 files changed, 103 insertions(+), 41 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 031a50fb782f411bfeed9636be3f53ff36d56637..845a50b5f41542e6a94c7aefdc2026f79f28fb2b 100644 GIT binary patch delta 27701 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 delta 21723 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.G index do we have a Source dir ? - bne CS.RUN.LOOP + bne .8 + ldy #S.PS.hCWD lda (pPs),y >SYSCALL GetMemPtr jsr InitSrcDirYA - bcs .9 + bcs .9 + +.8 >LEA.G TIME.SysTime + >SYSCALL time *-------------------------------------- CS.RUN.LOOP ldy #S.PS.hStdIn lda (pPS),y @@ -320,21 +325,12 @@ CS.RUN.PRINT.FILE .9 rts *-------------------------------------- CS.RUN.PUSHDATES - ldx #$ff ldy #TIME.Mod-1 Set NODATE as default -.10 inx - iny - lda MSG.NODATE,x - sta (pData),y - bne .10 - ldx #$ff + jsr CS.RUN.NODATES.INIT + ldy #TIME.Create-1 Set NODATE as default -.11 inx - iny - lda MSG.NODATE,x - sta (pData),y - bne .11 - + jsr CS.RUN.NODATES.INIT + ldy #S.STAT.MTIME+S.TIME.MONTH lda (ZPFileStat),y beq .1 Month=0.....invalid date/time @@ -345,10 +341,11 @@ CS.RUN.PUSHDATES tay lda ZPFileStat+1 adc #0 - >PUSHYA - >PUSHW L.FMT.DateTime + + jsr CS.RUN.DATEFMT.SELECT >LEA.G TIME.Mod >SYSCALL StrFTime + .1 ldy #S.STAT.CTIME+S.TIME.MONTH lda (ZPFileStat),y beq .2 Month=0.....invalid date/time @@ -359,14 +356,60 @@ CS.RUN.PUSHDATES tay lda ZPFileStat+1 adc #0 - >PUSHYA - >PUSHW L.FMT.DateTime + + jsr CS.RUN.DATEFMT.SELECT >LEA.G TIME.Create >SYSCALL StrFTime + .2 >PUSHEA.G TIME.Mod >PUSHEA.G TIME.Create rts *-------------------------------------- +CS.RUN.NODATES.INIT + ldx #$ff + +.1 inx + iny + lda MSG.NODATE,x + sta (pData),y + bne .1 + + rts +*-------------------------------------- +CS.RUN.DATEFMT.SELECT + >STYA ZPPtr1 + >PUSHYA + + ldy #S.TIME.CENTURY + lda (ZPPtr1),y + ldy #TIME.SysTime+S.TIME.CENTURY + cmp (pData),y + bne .9 + + ldy #S.TIME.YEAR + lda (ZPPtr1),y + ldy #TIME.SysTime+S.TIME.YEAR + cmp (pData),y + bne .9 + + ldy #S.TIME.MONTH + lda (ZPPtr1),y + ldy #TIME.SysTime+S.TIME.MONTH + cmp (pData),y + bne .9 + + ldy #S.TIME.DAY + lda (ZPPtr1),y + ldy #TIME.SysTime+S.TIME.DAY + cmp (pData),y + bne .9 + +.8 >PUSHW L.FMT.Time + rts + +.9 >PUSHW L.FMT.Date + rts +*-------------------------------------- CS.RUN.UpdateColCnt >INC.G ColCount cmp #MAX.COL @@ -492,19 +535,20 @@ MSG.FILEEXT .AS "%15s %S $%H %s %10u %s %s" MSG.CRLF .AZ "\r\n" *-------------------------------------- PRODOS.FT.HEX .HS 0406FAFCFDE2CBCCCFFF -PRODOS.FT.TXT >PSTR "TXT" - >PSTR "BIN" - >PSTR "ASM" - >PSTR "BAS" - >PSTR "VAR" - >PSTR "ATK" - >PSTR "PIX" - >PSTR "FON" - >PSTR "PAK" - >PSTR "SYS" +PRODOS.FT.TXT >PSTR "txt" + >PSTR "bin" + >PSTR "asm" + >PSTR "bas" + >PSTR "var" + >PSTR "atk" + >PSTR "pix" + >PSTR "fon" + >PSTR "pak" + >PSTR "sys" PRODOS.FT.DFLT >PSTR "$ " MSG.NODATE .AZ " " -FMT.DateTime .AZ "%d-%b-%y %H:%M" +FMT.Date .AZ "%d-%b-%y" +FMT.Time .AZ "%H:%M:%S " TYPES .AS "-dbclssp" ACCESS .AS "rwxrwxrwx" *-------------------------------------- @@ -516,6 +560,7 @@ ArgCount .BS 1 MOD .BS 11 drwxrwxrwx0 TIME.Create .BS 20 TIME.Mod .BS 20 +TIME.SysTime .BS S.TIME bPause .BS 1 bAllmostAll .BS 1 diff --git a/BIN/X.FILEENUM.S.txt b/BIN/X.FILEENUM.S.txt index c44c47e5..623b28f1 100644 --- a/BIN/X.FILEENUM.S.txt +++ b/BIN/X.FILEENUM.S.txt @@ -29,14 +29,12 @@ FilterMatch >LDA.G index ldy #S.STAT.FSID lda (ZPFileStat),y - bne .10 not prodos... - - >LDYA ZPPtr2 CI compare + tax if 0, Regular ProDOS.... + bne .10 + + >LDYA ZPPtr2 ... so CI compare >SYSCALL strupr - - >LDYA ZPFileName - >SYSCALL strupr - + .10 lda (ZPPtr2) Get first pattern byte beq .8 Match always if empty @@ -56,7 +54,7 @@ FilterMatch >LDA.G index cmp #'?' beq .4 no need to compare, any char will match - cmp (ZPFileName),y Regular Char, compare with string at Y + jsr FilterMatch.CmpPtr2CharPtr1Y Regular Char, compare with string at Y bne .9 no match, exit .4 iny advance to next char to compare @@ -80,8 +78,7 @@ FilterMatch >LDA.G index beq .9 no chance to match ? or regular char iny - lda (ZPPtr2) get again char in pattern - cmp (ZPFileName),y compare with char in string + jsr FilterMatch.CmpPtr2CharPtr1Y compare with char in string bne .7 not equal to next non wildcard in pattern iny @@ -92,6 +89,26 @@ FilterMatch >LDA.G index FilterMatch.RTS rts *-------------------------------------- +FilterMatch.CmpPtr2CharPtr1Y + phx + plx + bne .2 Foreign FS or ProDOS.FX : CS compare + + lda (ZPFileName),y + cmp #'a' + bcc .1 + cmp #'z'+1 + bcs .1 + + eor #$20 + +.1 cmp (ZPPtr2) + rts + +.2 lda (ZPPtr2) + cmp (ZPFileName),y + rts +*-------------------------------------- FilterMatch.NextPtr2 inc ZPPtr2 Make PTR2 advance to next char bne .1