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
f0feab9c03
commit
7ced649025
Binary file not shown.
@ -440,12 +440,13 @@ K.ReadDir.AddTime
|
||||
jsr K.ReadDir.ConvertTime
|
||||
*--------------------------------------
|
||||
K.ReadDir.AddStat
|
||||
ldy #S.STAT-1
|
||||
ldy #0
|
||||
|
||||
.1 lda K.S.STAT,y
|
||||
jsr K.ReadDir.AddToBuf
|
||||
dey
|
||||
bpl .1
|
||||
iny
|
||||
cpy #S.STAT
|
||||
bne .1
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
@ -459,37 +460,47 @@ K.ReadDir.AddFNToBuf
|
||||
ldy #$1C version/min_version for lowercase bitmap
|
||||
lda (ZPPtr3),y check bxxxxxxx.xxxxxxxx...
|
||||
bpl .7 not set, no lowercase bitmap present
|
||||
|
||||
pha
|
||||
iny
|
||||
lda (ZPPtr3),y
|
||||
pha
|
||||
|
||||
lda #$1
|
||||
sta .2+1
|
||||
|
||||
ldy #15
|
||||
|
||||
.1 pla
|
||||
.2 bit #$ff
|
||||
pha
|
||||
beq .3
|
||||
|
||||
lda (ZPPtr3),y
|
||||
ora #$20 convert a-z to A-Z adding from $4x to $6x
|
||||
sta (ZPPtr3),y
|
||||
|
||||
.3 asl .2+1
|
||||
bne .4
|
||||
|
||||
rol .2+1
|
||||
pla
|
||||
|
||||
.4 dey
|
||||
bne .1
|
||||
|
||||
pla
|
||||
.7 lda (ZPPtr3)
|
||||
and #$0F get filename len
|
||||
tax
|
||||
ldy #1
|
||||
|
||||
.8 lda (ZPPtr3),y
|
||||
jsr K.ReadDir.AddToBuf
|
||||
iny
|
||||
dex
|
||||
bne .8
|
||||
|
||||
txa
|
||||
* jsr K.ReadDir.AddToBuf
|
||||
|
||||
|
@ -205,11 +205,12 @@ ENV.Search.YA >STYA .4+1
|
||||
iny
|
||||
inx
|
||||
bra .4
|
||||
|
||||
.5 >PUSHWI K.S.STAT
|
||||
>LDYAI K.Buf256
|
||||
ldx #SYS.stat
|
||||
jsr K.SYSCALL2
|
||||
>SYSCALL2 stat
|
||||
bcs .1 Failed...retry next path...
|
||||
|
||||
lda K.S.STAT+S.STAT.P.TYPE
|
||||
cmp #S.FI.T.DIR Dir ?
|
||||
beq .1
|
||||
|
@ -13,6 +13,7 @@ K.SYSCALL .DA 0 $00
|
||||
.DA K.MKNod
|
||||
.DA K.MKFIFO
|
||||
.DA K.Pipe
|
||||
|
||||
.DA K.OpenDir $10
|
||||
.DA K.ReadDir
|
||||
.DA K.FClose
|
||||
@ -30,6 +31,7 @@ K.SYSCALL .DA 0 $00
|
||||
.DA K.PutS
|
||||
.DA K.FGetS
|
||||
.DA 0
|
||||
|
||||
.DA K.FOpen $30
|
||||
.DA K.FClose
|
||||
.DA K.FRead
|
||||
@ -47,6 +49,7 @@ K.SYSCALL .DA 0 $00
|
||||
.DA K.GetDevByName
|
||||
.DA K.GetDevStatus
|
||||
.DA K.MKDev
|
||||
|
||||
.DA 0 $50
|
||||
.DA K.SScanF
|
||||
.DA 0
|
||||
@ -55,6 +58,7 @@ K.SYSCALL .DA 0 $00
|
||||
.DA K.SPrintF
|
||||
.DA K.FPrintF
|
||||
.DA 0
|
||||
|
||||
.DA 0 $60
|
||||
.DA K.ChTyp
|
||||
.DA 0
|
||||
@ -110,6 +114,7 @@ K.SYSCALL .DA 0 $00
|
||||
.DA K.SetEnv
|
||||
.DA K.GetEnv
|
||||
.DA K.UnsetEnv
|
||||
|
||||
.DA 0 $C0
|
||||
.DA 0
|
||||
.DA 0
|
||||
@ -442,6 +447,7 @@ K.SYSCALL2.MAIN sta CLRREADAUX Coming from KERNEL in AUX...
|
||||
sta SETWRITEAUX
|
||||
rts
|
||||
.1 bit K.SYSCALL.BANK,x Get Target LC BNK
|
||||
|
||||
K.SYSCALL2.BANK bpl K.SYSCALL.JMP 0, E000, no BNK change
|
||||
sta .7+1
|
||||
lda $D000 #RRAMWRAMBNK1 or #RRAMWRAMBNK2
|
||||
@ -455,6 +461,7 @@ K.SYSCALL2.BANK bpl K.SYSCALL.JMP 0, E000, no BNK change
|
||||
bit $C000,x
|
||||
|
||||
jsr .6
|
||||
|
||||
stx .5+1 Save X
|
||||
plx get back Source BNK
|
||||
bit $C000,x switch to Target BNK
|
||||
|
@ -215,8 +215,7 @@ PS.Load ldy #$ff
|
||||
|
||||
>PUSHWI K.S.STAT
|
||||
>LDYA PS.ArgV found /, some path specified, no search
|
||||
ldx #SYS.stat
|
||||
jsr K.SYSCALL2
|
||||
>SYSCALL2 stat
|
||||
bcc .6 REAL path in K.Buf256
|
||||
|
||||
.99 rts
|
||||
@ -284,11 +283,12 @@ PS.Load.SCRIPT ldx #$ff
|
||||
bne .4
|
||||
|
||||
sta K.Buf256-1,x K.Buf256 = "${ROOT}BIN/SHELL\0"
|
||||
|
||||
.5 >PUSHWI K.S.STAT
|
||||
>LDYAI K.Buf256
|
||||
ldx #SYS.stat
|
||||
jsr K.SYSCALL2
|
||||
>SYSCALL2 stat
|
||||
bcs PS.Load.RTS
|
||||
|
||||
lda K.S.STAT+S.STAT.P.TYPE
|
||||
cmp #S.FI.T.BIN
|
||||
bne PS.Load.IBIN
|
||||
|
@ -155,90 +155,6 @@ SHARED.PullYA sta CLRREADAUX
|
||||
SHARED.PullYA.RTS
|
||||
rts
|
||||
*--------------------------------------
|
||||
SHARED.Stat jsr PFT.CheckPathYA
|
||||
bcs SHARED.PullYA.RTS
|
||||
|
||||
SHARED.Stat.I jsr SHARED.ClrStat
|
||||
|
||||
>MLICALL MLIGETFILEINFO
|
||||
bcs SHARED.PullYA.RTS
|
||||
|
||||
lda K.MLI.PARAMS+S.FI.A
|
||||
jsr SHARED.Stat.Access2Mode
|
||||
|
||||
ldx #SHARED.Stat.DST-SHARED.Stat.SRC
|
||||
|
||||
.3 ldy SHARED.Stat.SRC-1,x
|
||||
lda K.MLI.PARAMS,y
|
||||
ldy SHARED.Stat.DST-1,x
|
||||
sta K.S.STAT,y
|
||||
dex
|
||||
bne .3
|
||||
|
||||
* >PUSHWI K.S.STAT+S.STAT.CTIME
|
||||
* >LDYAI K.MLI.PARAMS+S.FI.CDATE
|
||||
* >SYSCALL2 PTime2Time BANK2
|
||||
|
||||
* >PUSHWI K.S.STAT+S.STAT.MTIME
|
||||
* >LDYAI K.MLI.PARAMS+S.FI.MDATE
|
||||
* >SYSCALL2 PTime2Time BANK2
|
||||
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
SHARED.DirEnt2Stat
|
||||
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
SHARED.ClrStat ldx #S.STAT-1
|
||||
|
||||
.1 stz K.S.STAT,x
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
SHARED.Stat.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.Stat.SRC .DA #S.FI.T
|
||||
.DA #S.FI.AUXTYPE,#S.FI.AUXTYPE+1
|
||||
.DA #S.FI.UBLKS,#S.FI.UBLKS+1
|
||||
SHARED.Stat.DST .DA #S.STAT.P.TYPE
|
||||
.DA #S.STAT.P.AUXTYPE,#S.STAT.P.AUXTYPE+1
|
||||
.DA #S.STAT.BLOCKS,#S.STAT.BLOCKS+1
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE USR/SRC/SYS/KERNEL.S.SHARED
|
||||
LOAD USR/SRC/SYS/KERNEL.S
|
||||
|
@ -280,7 +280,90 @@ K.Pipe sta .1+1 SIZE HI
|
||||
.FIN
|
||||
pla
|
||||
sec
|
||||
.99 rts
|
||||
.99
|
||||
K.Pipe.RTS rts
|
||||
*--------------------------------------
|
||||
SHARED.Stat.I jsr SHARED.ClrStat
|
||||
|
||||
>MLICALL MLIGETFILEINFO
|
||||
bcs K.Pipe.RTS
|
||||
|
||||
lda K.MLI.PARAMS+S.FI.A
|
||||
jsr SHARED.Stat.Access2Mode
|
||||
|
||||
ldx #SHARED.Stat.DST-SHARED.Stat.SRC
|
||||
|
||||
.3 ldy SHARED.Stat.SRC-1,x
|
||||
lda K.MLI.PARAMS,y
|
||||
ldy SHARED.Stat.DST-1,x
|
||||
sta K.S.STAT,y
|
||||
dex
|
||||
bne .3
|
||||
|
||||
* >PUSHWI K.S.STAT+S.STAT.CTIME
|
||||
* >LDYAI K.MLI.PARAMS+S.FI.CDATE
|
||||
* >DEBUG
|
||||
* >SYSCALL2 PTime2Time BANK2
|
||||
|
||||
* >PUSHWI K.S.STAT+S.STAT.MTIME
|
||||
* >LDYAI K.MLI.PARAMS+S.FI.MDATE
|
||||
* >SYSCALL2 PTime2Time BANK2
|
||||
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
SHARED.DirEnt2Stat
|
||||
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
SHARED.ClrStat ldx #S.STAT-1
|
||||
|
||||
.1 stz K.S.STAT,x
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
SHARED.Stat.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.Stat.SRC .DA #S.FI.T
|
||||
.DA #S.FI.AUXTYPE,#S.FI.AUXTYPE+1
|
||||
.DA #S.FI.UBLKS,#S.FI.UBLKS+1
|
||||
SHARED.Stat.DST .DA #S.STAT.P.TYPE
|
||||
.DA #S.STAT.P.AUXTYPE,#S.STAT.P.AUXTYPE+1
|
||||
.DA #S.STAT.BLOCKS,#S.STAT.BLOCKS+1
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE USR/SRC/SYS/KERNEL.S.STAT
|
||||
|
Loading…
x
Reference in New Issue
Block a user