mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-16 18:30:26 +00:00
Kernel 0.93+
This commit is contained in:
parent
54e50b61ce
commit
8be5e78b32
Binary file not shown.
107
BIN/LS.S.txt
107
BIN/LS.S.txt
@ -54,7 +54,8 @@ L.MSG.FILE .DA MSG.FILE
|
||||
L.MSG.FILEEXT .DA MSG.FILEEXT
|
||||
L.MSG.CRLF .DA MSG.CRLF
|
||||
L.PRODOS.FT.TXT .DA PRODOS.FT.TXT
|
||||
L.FMT.DateTime .DA FMT.DateTime
|
||||
L.FMT.Date .DA FMT.Date
|
||||
L.FMT.Time .DA FMT.Time
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
CS.INIT clc
|
||||
@ -88,12 +89,16 @@ CS.RUN
|
||||
.9 rts
|
||||
|
||||
.6 >LDA.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 " <No-Date> "
|
||||
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
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user