Kernel 0.93+

This commit is contained in:
Rémy GIBERT 2019-10-10 08:04:11 +02:00
parent 0511b68265
commit 9180188da7
3 changed files with 36 additions and 9 deletions

Binary file not shown.

View File

@ -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

View File

@ -76,7 +76,7 @@ K.StrToUL clc Unsigned
adc ZPPtr2+1 adc ZPPtr2+1
ldy #1 ldy #1
sta (ZPPtr1),y sta (ZPPtr1),y
K.StrToUL.rts rts K.StrToUL.rts rts
*/-------------------------------------- */--------------------------------------
* # atol * # atol
* Convert String to 32 bits long * Convert String to 32 bits long
@ -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