mirror of
https://github.com/A2osX/A2osX.git
synced 2024-06-09 15:29:29 +00:00
141 lines
3.0 KiB
Plaintext
141 lines
3.0 KiB
Plaintext
|
NEW
|
|||
|
AUTO 3,1
|
|||
|
*--------------------------------------
|
|||
|
SHARED.Stat.I bit CORE.FSID
|
|||
|
bpl .1
|
|||
|
|
|||
|
>MLICALL MLIGETFILEINFOEX
|
|||
|
bcs K.Pipe.RTS
|
|||
|
|
|||
|
>LDYAI K.MLI.PARAMS+3
|
|||
|
>STYA ZPPtr3
|
|||
|
|
|||
|
bra SHARED.DirEnt2Stat
|
|||
|
|
|||
|
.1 >MLICALL MLIGETFILEINFO
|
|||
|
bcs K.Pipe.RTS
|
|||
|
|
|||
|
SHARED.GFI2Stat jsr SHARED.ClrStat
|
|||
|
|
|||
|
lda K.MLI.PARAMS+S.FI.A
|
|||
|
jsr SHARED.Access2Mode
|
|||
|
|
|||
|
ldx #SHARED.GFI.Cnt
|
|||
|
|
|||
|
.3 ldy SHARED.GFI.Src-1,x
|
|||
|
lda K.MLI.PARAMS,y
|
|||
|
ldy SHARED.Stat.Dst-1,x
|
|||
|
sta K.S.STAT,y
|
|||
|
dex
|
|||
|
bne .3
|
|||
|
|
|||
|
>LDYAI K.MLI.PARAMS+S.FI.CDATE
|
|||
|
ldx #K.S.STAT+S.STAT.CTIME
|
|||
|
jsr SHARED.PTime2StatYAX
|
|||
|
|
|||
|
>LDYAI K.MLI.PARAMS+S.FI.MDATE
|
|||
|
ldx #K.S.STAT+S.STAT.MTIME
|
|||
|
jmp SHARED.PTime2StatYAX
|
|||
|
*--------------------------------------
|
|||
|
SHARED.DirEnt2Stat
|
|||
|
jsr SHARED.ClrStat
|
|||
|
|
|||
|
lda (ZPPtr3)
|
|||
|
and #$F0
|
|||
|
cmp #$D0 Vol Hdr, Dir Hdr or Dir ?
|
|||
|
bcc .1
|
|||
|
|
|||
|
lda /S.STAT.MODE.DIR
|
|||
|
sta K.S.STAT+S.STAT.MODE+1
|
|||
|
|
|||
|
.1 ldx #SHARED.DirEnt.Cnt
|
|||
|
|
|||
|
.2 ldy SHARED.DirEnt.Src-1,x
|
|||
|
lda (ZPPtr3),y
|
|||
|
ldy SHARED.Stat.Dst-1,x
|
|||
|
sta K.S.STAT,y
|
|||
|
dex
|
|||
|
bne .2
|
|||
|
|
|||
|
ldy #$1E ProDOS Access
|
|||
|
lda (ZPPtr3),y
|
|||
|
|
|||
|
jsr SHARED.Access2Mode
|
|||
|
|
|||
|
lda #$18 creation Date/time
|
|||
|
ldx #K.S.STAT+S.STAT.CTIME
|
|||
|
jsr SHARED.PTime2StatAX
|
|||
|
|
|||
|
lda #$21 mod Date/time
|
|||
|
ldx #K.S.STAT+S.STAT.MTIME
|
|||
|
jmp SHARED.PTime2StatAX
|
|||
|
*--------------------------------------
|
|||
|
SHARED.Mode2Access
|
|||
|
clc
|
|||
|
rts
|
|||
|
*--------------------------------------
|
|||
|
SHARED.Access2Mode
|
|||
|
and #S.FI.A.FULL
|
|||
|
cmp #S.FI.A.FULL
|
|||
|
beq .7
|
|||
|
tay
|
|||
|
ldx #S.STAT.MODE.RO+S.STAT.MODE.RG+S.STAT.MODE.RU+S.STAT.MODE.XO+S.STAT.MODE.XG+S.STAT.MODE.XU
|
|||
|
|
|||
|
bit #S.FI.A.W
|
|||
|
beq .1
|
|||
|
txa
|
|||
|
ora #S.STAT.MODE.WO
|
|||
|
tax
|
|||
|
tya
|
|||
|
|
|||
|
.1 asl D in C
|
|||
|
|
|||
|
bpl .2 RN in N
|
|||
|
txa
|
|||
|
ora #S.STAT.MODE.WG
|
|||
|
tax
|
|||
|
.2 txa
|
|||
|
bcc .8
|
|||
|
ora #S.STAT.MODE.WU
|
|||
|
.HS 2C BIT ABS
|
|||
|
.7 lda #S.STAT.MODE.FO+S.STAT.MODE.FG+S.STAT.MODE.FU rwxrwxrwx
|
|||
|
.8 sta K.S.STAT+S.STAT.MODE
|
|||
|
|
|||
|
lda /S.STAT.MODE.RU ??????R??
|
|||
|
ora K.S.STAT+S.STAT.MODE+1 preserve DIR
|
|||
|
sta K.S.STAT+S.STAT.MODE+1
|
|||
|
|
|||
|
rts
|
|||
|
*--------------------------------------
|
|||
|
SHARED.PTime2StatAX
|
|||
|
clc
|
|||
|
adc ZPPtr3
|
|||
|
tay
|
|||
|
lda ZPPtr3+1
|
|||
|
adc #0
|
|||
|
SHARED.PTime2StatYAX
|
|||
|
>PUSHYA
|
|||
|
|
|||
|
>PUSHB /K.S.STAT
|
|||
|
txa
|
|||
|
>PUSHA
|
|||
|
>SYSCALL2 PTime2Time
|
|||
|
rts
|
|||
|
*--------------------------------------
|
|||
|
SHARED.GFI.Src .DA #S.FI.T,#S.FI.AUXTYPE,#S.FI.AUXTYPE+1
|
|||
|
.DA #S.FI.UBLKS,#S.FI.UBLKS+1
|
|||
|
SHARED.GFI.Cnt .EQ *-SHARED.GFI.Src
|
|||
|
*--------------------------------------
|
|||
|
SHARED.DirEnt.Src
|
|||
|
.HS 10.1f20.1314.151617
|
|||
|
SHARED.DirEnt.Cnt .EQ *-SHARED.DirEnt.Src
|
|||
|
*--------------------------------------
|
|||
|
SHARED.Stat.Dst .DA #S.STAT.P.TYPE,#S.STAT.P.AUXTYPE,#S.STAT.P.AUXTYPE+1
|
|||
|
.DA #S.STAT.BLOCKS,#S.STAT.BLOCKS+1
|
|||
|
.DA #S.STAT.SIZE,#S.STAT.SIZE+1,#S.STAT.SIZE+2
|
|||
|
*--------------------------------------
|
|||
|
MAN
|
|||
|
SAVE usr/src/sys/kernel.s.fs
|
|||
|
LOAD usr/src/sys/kernel.s
|
|||
|
ASM
|