mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-20 15:29:07 +00:00
Kernel 0.93+
This commit is contained in:
parent
0511b68265
commit
9180188da7
Binary file not shown.
@ -62,14 +62,9 @@ CMD.POPD >LDA.G PUSHD.STACK
|
|||||||
CMD.POPD.RTS rts
|
CMD.POPD.RTS rts
|
||||||
CMD.POPD.CSYN jmp CMD.E.CSYN
|
CMD.POPD.CSYN jmp CMD.E.CSYN
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CMD.PWD ldy #S.PS.hCWD
|
|
||||||
lda (pPs),y
|
|
||||||
>SYSCALL GetMemPtr
|
|
||||||
>SYSCALL puts
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
CMD... lda (ZPArgVBufPtr)
|
CMD... lda (ZPArgVBufPtr)
|
||||||
bne CMD.POPD.CSYN
|
bne CMD.POPD.CSYN
|
||||||
|
|
||||||
>LDYA L.CD..
|
>LDYA L.CD..
|
||||||
bra CMD.CD.YA
|
bra CMD.CD.YA
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -479,13 +474,23 @@ CMD.MD lda (ZPArgVBufPtr)
|
|||||||
>SYSCALL MKDir
|
>SYSCALL MKDir
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
CMD.PWD ldy #S.PS.hCWD
|
||||||
|
lda (pPs),y
|
||||||
|
>SYSCALL GetMemPtr
|
||||||
|
>SYSCALL puts
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
CMD.REN lda (ZPArgVBufPtr)
|
CMD.REN lda (ZPArgVBufPtr)
|
||||||
beq .9
|
beq .9
|
||||||
>PUSHW ZPArgVBufPtr
|
>PUSHW ZPArgVBufPtr
|
||||||
|
>LDYA ZPArgVBufPtr
|
||||||
|
>SYSCALL puts
|
||||||
jsr CORE.ArgV.Next
|
jsr CORE.ArgV.Next
|
||||||
lda (ZPArgVBufPtr)
|
lda (ZPArgVBufPtr)
|
||||||
beq .90
|
beq .90
|
||||||
|
>LDYA ZPArgVBufPtr
|
||||||
|
>SYSCALL puts
|
||||||
|
|
||||||
>LDYA ZPArgVBufPtr
|
>LDYA ZPArgVBufPtr
|
||||||
>SYSCALL Rename
|
>SYSCALL Rename
|
||||||
rts
|
rts
|
||||||
|
@ -102,7 +102,8 @@ K.AToL.I jsr MATH.Dec2ACC32
|
|||||||
dex
|
dex
|
||||||
bpl .3
|
bpl .3
|
||||||
tya Y = A = Count processed
|
tya Y = A = Count processed
|
||||||
* clc.9
|
* clc
|
||||||
|
.9
|
||||||
rts
|
rts
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # atoi
|
* # atoi
|
||||||
@ -149,25 +150,32 @@ STDLIB.realpath.I
|
|||||||
ldx #SYS.ExpandStr
|
ldx #SYS.ExpandStr
|
||||||
jsr K.SYSCALL2
|
jsr K.SYSCALL2
|
||||||
bcs K.atoi.RTS
|
bcs K.atoi.RTS
|
||||||
|
|
||||||
>STYA ZPPtr1
|
>STYA ZPPtr1
|
||||||
stx .99+1 save expanded buffer hMem
|
stx .99+1 save expanded buffer hMem
|
||||||
ldx #$ff
|
ldx #$ff
|
||||||
|
|
||||||
lda (ZPPtr1)
|
lda (ZPPtr1)
|
||||||
beq .1
|
beq .1
|
||||||
|
|
||||||
cmp #'/' full path starting with '/'?
|
cmp #'/' full path starting with '/'?
|
||||||
beq .3 yes, do not append to current prefix
|
beq .3 yes, do not append to current prefix
|
||||||
|
|
||||||
.1 ldy #S.PS.hCWD
|
.1 ldy #S.PS.hCWD
|
||||||
lda (pPs),y
|
lda (pPs),y
|
||||||
jsr K.GetMemPtr
|
jsr K.GetMemPtr
|
||||||
>STYA ZPPtr2
|
>STYA ZPPtr2
|
||||||
|
|
||||||
ldy #$ff
|
ldy #$ff
|
||||||
|
|
||||||
.2 iny
|
.2 iny
|
||||||
inx
|
inx
|
||||||
lda (ZPPtr2),y
|
lda (ZPPtr2),y
|
||||||
sta K.Buf256,x
|
sta K.Buf256,x
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
dex
|
dex
|
||||||
|
|
||||||
.3 ldy #$ff
|
.3 ldy #$ff
|
||||||
|
|
||||||
.4 iny
|
.4 iny
|
||||||
@ -175,6 +183,7 @@ STDLIB.realpath.I
|
|||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
sta K.Buf256,x
|
sta K.Buf256,x
|
||||||
bne .4
|
bne .4
|
||||||
|
|
||||||
dex
|
dex
|
||||||
beq .81 we have '/'....nothing to do...
|
beq .81 we have '/'....nothing to do...
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -183,12 +192,15 @@ STDLIB.realpath.I
|
|||||||
ldx #1 skip leading /
|
ldx #1 skip leading /
|
||||||
|
|
||||||
lda K.Buf256,x
|
lda K.Buf256,x
|
||||||
|
|
||||||
.5 ldy #0 dot counter=0
|
.5 ldy #0 dot counter=0
|
||||||
|
|
||||||
.6 cmp #'/'
|
.6 cmp #'/'
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
cmp #'.'
|
cmp #'.'
|
||||||
bne .7
|
bne .7
|
||||||
|
|
||||||
iny
|
iny
|
||||||
.HS 2C BIT ABS, skip "LDY #0"
|
.HS 2C BIT ABS, skip "LDY #0"
|
||||||
.7 ldy #0 not a dot....reset dot counter
|
.7 ldy #0 not a dot....reset dot counter
|
||||||
@ -196,19 +208,25 @@ STDLIB.realpath.I
|
|||||||
inx
|
inx
|
||||||
lda K.Buf256,x
|
lda K.Buf256,x
|
||||||
bne .6 we have /dir\0
|
bne .6 we have /dir\0
|
||||||
|
|
||||||
.8 tya
|
.8 tya
|
||||||
beq .80 Y was 0....nothing to do...
|
beq .80 Y was 0....nothing to do...
|
||||||
|
|
||||||
dey "./" ?
|
dey "./" ?
|
||||||
bne .9 no..
|
bne .9 no..
|
||||||
|
|
||||||
lda K.Buf256-2,x
|
lda K.Buf256-2,x
|
||||||
cmp #'/' "/./" ?
|
cmp #'/' "/./" ?
|
||||||
bne .80
|
bne .80
|
||||||
|
|
||||||
dex
|
dex
|
||||||
dex
|
dex
|
||||||
jsr K.RealPath.RemoveAtX we found "/./", remove,useless....
|
jsr K.RealPath.RemoveAtX we found "/./", remove,useless....
|
||||||
bra .80
|
bra .80
|
||||||
|
|
||||||
.9 dey "../" ?
|
.9 dey "../" ?
|
||||||
bne .99 ".../" ??!!...mmm...syntax error
|
bne .99 ".../" ??!!...mmm...syntax error
|
||||||
|
|
||||||
lda K.Buf256-3,x
|
lda K.Buf256-3,x
|
||||||
cmp #'/' "/../" ?
|
cmp #'/' "/../" ?
|
||||||
bne .80
|
bne .80
|
||||||
@ -225,6 +243,7 @@ STDLIB.realpath.I
|
|||||||
lda K.Buf256,x go to "/dir"
|
lda K.Buf256,x go to "/dir"
|
||||||
cmp #'/'
|
cmp #'/'
|
||||||
bne .10
|
bne .10
|
||||||
|
|
||||||
jsr K.RealPath.RemoveAtX ...remove "/dir"
|
jsr K.RealPath.RemoveAtX ...remove "/dir"
|
||||||
.80 inx
|
.80 inx
|
||||||
lda K.Buf256,x
|
lda K.Buf256,x
|
||||||
@ -234,11 +253,14 @@ STDLIB.realpath.I
|
|||||||
|
|
||||||
.82 lda #$ff SELF MODIFIED
|
.82 lda #$ff SELF MODIFIED
|
||||||
bpl .88
|
bpl .88
|
||||||
|
|
||||||
>LDYAI K.Buf256
|
>LDYAI K.Buf256
|
||||||
ldx #SYS.StrDup BANK 2
|
ldx #SYS.StrDup BANK 2
|
||||||
jmp K.SYSCALL2
|
jmp K.SYSCALL2
|
||||||
|
|
||||||
.88 clc
|
.88 clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.99 lda #$ff SELF MODIFIED
|
.99 lda #$ff SELF MODIFIED
|
||||||
jsr K.FreeMem
|
jsr K.FreeMem
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user