mirror of https://github.com/A2osX/A2osX.git
Kernel 0.94
This commit is contained in:
parent
6868cce481
commit
ce13c00070
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -23,6 +23,8 @@ ZPFileName .BS 2
|
|||
ZPFileStat .BS 2
|
||||
ZPFullPath .BS 2
|
||||
ZPMode .BS 2
|
||||
ArgIndex .BS 1
|
||||
StrMode .BS 1
|
||||
ZS.END .ED
|
||||
*--------------------------------------
|
||||
* File Header (16 Bytes)
|
||||
|
@ -54,7 +56,8 @@ L.MSG.ERR .DA MSG.ERR
|
|||
CS.INIT clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN >INC.G ArgIndex
|
||||
CS.RUN inc ArgIndex
|
||||
lda ArgIndex
|
||||
>SYSCALL ArgV
|
||||
bcs .8
|
||||
|
||||
|
@ -85,28 +88,34 @@ CS.RUN >INC.G ArgIndex
|
|||
sta (pData),y
|
||||
bra CS.RUN
|
||||
*--------------------------------------
|
||||
.4 >LDA.G StrMode
|
||||
.4 lda StrMode
|
||||
bne .5
|
||||
|
||||
>LDA.G ArgIndex
|
||||
>STA.G StrMode
|
||||
lda ArgIndex
|
||||
sta StrMode
|
||||
bra CS.RUN
|
||||
|
||||
.5 >LDA.G hSrcBasePath
|
||||
bne .9
|
||||
|
||||
>LDYA ZPPtr1
|
||||
jsr InitSrcDirYA
|
||||
bcc CS.RUN
|
||||
rts
|
||||
.8 >LDA.G StrMode
|
||||
|
||||
.8 lda StrMode
|
||||
beq .9
|
||||
|
||||
jsr CS.RUN.Str2Mode
|
||||
bcs .9
|
||||
|
||||
>LDA.G hSrcBasePath
|
||||
beq .9
|
||||
|
||||
>LDYAI 256
|
||||
>SYSCALL GetMem
|
||||
bcs .99
|
||||
|
||||
>STYA ZPFullPath
|
||||
txa
|
||||
>STA.G hSrcFullPath
|
||||
|
@ -176,10 +185,7 @@ CS.RUN.LEAVE jsr LeaveSubDir
|
|||
sec
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.DIR >LDA.G bRecurse
|
||||
bpl .8
|
||||
|
||||
lda (ZPFileName)
|
||||
CS.RUN.DIR lda (ZPFileName)
|
||||
cmp #'.'
|
||||
bne .1
|
||||
|
||||
|
@ -194,7 +200,10 @@ CS.RUN.DIR >LDA.G bRecurse
|
|||
lda (ZPFileName),y
|
||||
beq .8
|
||||
|
||||
.1 jsr CS.RUN.GetFilePath
|
||||
.1 jsr FilterMatch
|
||||
bcs .8
|
||||
|
||||
jsr CS.RUN.GetFilePath
|
||||
>PUSHW L.MSG.DIR
|
||||
>PUSHW ZPFullPath
|
||||
>PUSHBI 2
|
||||
|
@ -206,6 +215,11 @@ CS.RUN.DIR >LDA.G bRecurse
|
|||
>SYSCALL chmod
|
||||
|
||||
jsr CS.RUN.CheckErr
|
||||
bcs .9
|
||||
|
||||
>LDA.G bRecurse
|
||||
bpl .8
|
||||
|
||||
>LDYA ZPFileName
|
||||
jmp EnterSubDirYA
|
||||
|
||||
|
@ -233,20 +247,28 @@ CS.RUN.FILE jsr FilterMatch
|
|||
*--------------------------------------
|
||||
CS.RUN.Str2Mode >SYSCALL ArgV
|
||||
>STYA ZPPtr1
|
||||
|
||||
ldy #$ff
|
||||
|
||||
.1 iny
|
||||
lda (ZPPtr1),y
|
||||
bne .1
|
||||
|
||||
cpy #3
|
||||
bne .9
|
||||
|
||||
stz ZPMode
|
||||
stz ZPMode+1
|
||||
|
||||
dey
|
||||
|
||||
.2 lda (ZPPtr1),y
|
||||
cmp #'0'
|
||||
bcc .9
|
||||
|
||||
cmp #'7'+1
|
||||
bcs .9
|
||||
|
||||
asl ZPMode
|
||||
rol ZPMode+1
|
||||
asl ZPMode
|
||||
|
@ -258,7 +280,9 @@ CS.RUN.Str2Mode >SYSCALL ArgV
|
|||
adc ZPMode
|
||||
sta ZPMode
|
||||
bcc .3
|
||||
|
||||
inc ZPMode+1
|
||||
|
||||
.3 dey
|
||||
bpl .2
|
||||
|
||||
|
@ -329,14 +353,10 @@ MSG.FILE .AZ "File:%s..."
|
|||
.DUMMY
|
||||
.OR 0
|
||||
DS.START
|
||||
ArgIndex .BS 1
|
||||
bContinue .BS 1
|
||||
bRecurse .BS 1
|
||||
|
||||
StrMode .BS 1
|
||||
|
||||
bPause .BS 1
|
||||
|
||||
hSrcFullPath .BS 1
|
||||
|
||||
.INB usr/src/bin/x.fileenum.g
|
||||
|
|
|
@ -21,6 +21,8 @@ XDOS.FindFileOrVol
|
|||
|
||||
cmp #MLI.E.INVPATH
|
||||
bne fnderr
|
||||
clc
|
||||
rts
|
||||
|
||||
moventry ldy h_entln Get FileInfo From Directory Block Buffer
|
||||
|
||||
|
|
|
@ -525,7 +525,7 @@ L58D3 lda XRW.EndDataMark,y (4) dm4, dm5, dm6 and turn off byte.
|
|||
|
||||
clc (2,9)
|
||||
|
||||
wexit lda IO.D2.ReadMode,x out of write mode
|
||||
lda IO.D2.ReadMode,x out of write mode
|
||||
lda IO.D2.WShift,x to read mode.
|
||||
rts return from write.
|
||||
|
||||
|
@ -886,7 +886,7 @@ XRW.ReadAddr ldy #$FC
|
|||
cmp #$AA
|
||||
bne rderr
|
||||
|
||||
ldy XRW.UnitIndex Succesfull Read, update Drive table
|
||||
ldy XRW.UnitIndex Successful Read, update Drive table
|
||||
|
||||
lda XRW.AddrField.V
|
||||
sta XRW.D2VolNum-1,y
|
||||
|
|
|
@ -158,7 +158,7 @@ IO.MLI.OPEN >LDYAI 1024 get a ProDOS IOBUF
|
|||
FS.OPEN.RTS rts
|
||||
*--------------------------------------
|
||||
FS.Stat bit CORE.FSID
|
||||
bmi FS.StatEX
|
||||
bmi FS.Stat.FX
|
||||
|
||||
>MLICALL MLIGETFILEINFO
|
||||
bcs FS.OPEN.RTS
|
||||
|
@ -192,7 +192,7 @@ FS.Stat bit CORE.FSID
|
|||
ldx #K.S.STAT+S.STAT.MTIME
|
||||
jmp SHARED.PTime2StatYAX
|
||||
*--------------------------------------
|
||||
FS.StatEX >MLICALL MLIGETFILEINFOEX
|
||||
FS.Stat.FX >MLICALL MLIGETFILEINFOEX
|
||||
bcs FS.OPEN.RTS
|
||||
|
||||
>LDYAI K.MLI.PARAMS+3
|
||||
|
@ -261,9 +261,6 @@ FS.ClrStat ldx #S.STAT-1
|
|||
|
||||
rts
|
||||
*--------------------------------------
|
||||
FS.Mode2Access clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
FS.Access2Mode and #S.FI.A.FULL
|
||||
cmp #S.FI.A.FULL
|
||||
beq .7
|
||||
|
|
|
@ -33,63 +33,57 @@ K.ChTyp jsr PFT.CheckPath1
|
|||
* `>SYSCALL chmod`
|
||||
* ## RETURN VALUE
|
||||
*--------------------------------------
|
||||
* only 777-555
|
||||
* ProDOS203 :
|
||||
* -w------- access = $C2
|
||||
* r-------- access = $01
|
||||
* --------- access = $00
|
||||
*--------------------------------------
|
||||
K.ChMod jsr PFT.CheckPath2
|
||||
bcs K.ChMod.RET4
|
||||
|
||||
jsr STAT.PullPathAndMode
|
||||
|
||||
lda K.S.STAT+S.STAT.MODE+1
|
||||
and /S.STAT.MODE.RU
|
||||
beq .9
|
||||
|
||||
lda K.S.STAT+S.STAT.MODE
|
||||
and #S.STAT.MODE.XO+S.STAT.MODE.RO+S.STAT.MODE.XG+S.STAT.MODE.RG+S.STAT.MODE.XU+S.STAT.MODE.RU
|
||||
cmp #S.STAT.MODE.XO+S.STAT.MODE.RO+S.STAT.MODE.XG+S.STAT.MODE.RG+S.STAT.MODE.XU+S.STAT.MODE.RU
|
||||
bne .9
|
||||
bit CORE.FSID
|
||||
bmi K.ChMod.FX
|
||||
|
||||
>MLICALL MLIGETFILEINFO
|
||||
bcs .90
|
||||
bcs .9
|
||||
|
||||
lda K.MLI.PARAMS+S.FI.A
|
||||
and #$3D not S.FI.A.RN+S.FI.A.D+S.FI.A.W
|
||||
ora #S.FI.A.R
|
||||
tax
|
||||
lda K.S.STAT+S.STAT.MODE
|
||||
tay
|
||||
bit #S.STAT.MODE.WG
|
||||
ldx #0
|
||||
lda K.S.STAT+S.STAT.MODE+1
|
||||
and /S.STAT.MODE.RU
|
||||
beq .1
|
||||
|
||||
inx
|
||||
|
||||
txa
|
||||
ora #S.FI.A.RN
|
||||
tax
|
||||
tya
|
||||
|
||||
.1 bit #S.STAT.MODE.WU
|
||||
beq .2
|
||||
.1 lda K.S.STAT+S.STAT.MODE
|
||||
bpl .2
|
||||
|
||||
txa
|
||||
ora #S.FI.A.D
|
||||
tax
|
||||
tya
|
||||
ora #$C2
|
||||
|
||||
.2 bit #S.STAT.MODE.WO
|
||||
beq .3
|
||||
|
||||
txa
|
||||
ora #S.FI.A.W
|
||||
tax
|
||||
.3 stx K.MLI.PARAMS+S.FI.A
|
||||
|
||||
.2 stx K.MLI.PARAMS+S.FI.A
|
||||
|
||||
>MLICALL MLISETFILEINFO
|
||||
rts
|
||||
|
||||
.9 lda #E.SYN
|
||||
sec
|
||||
.90 rts
|
||||
.9 rts
|
||||
|
||||
K.ChMod.RET4 >RET 4 discard statbuf
|
||||
K.ChMod.FX stz K.MLI.PARAMS+3+S.FIEX.ACL read mode
|
||||
|
||||
>MLICALL MLIACL
|
||||
bcs .9
|
||||
|
||||
>LDYA K.S.STAT+S.STAT.MODE
|
||||
>STYA K.MLI.PARAMS+3+S.FIEX.ACL.MOD
|
||||
|
||||
lda #$57 write mode
|
||||
sta K.MLI.PARAMS+3+S.FIEX.ACL
|
||||
|
||||
>MLICALL MLIACL
|
||||
.9 rts
|
||||
|
||||
K.ChMod.RET4 >RET 4
|
||||
*--------------------------------------
|
||||
* # FStat
|
||||
* Return information about a hFILE
|
||||
|
|
Loading…
Reference in New Issue