Kernel 0.93+

This commit is contained in:
Rémy GIBERT 2020-01-15 10:50:04 +01:00
parent b11b0f94fb
commit 01cf761aa7
4 changed files with 56 additions and 25 deletions

Binary file not shown.

View File

@ -251,14 +251,12 @@ CMD.SET.UNSET >LDYA ZPVarNamePtr
>SYSCALL UnsetEnv >SYSCALL UnsetEnv
rts rts
CMD.SET.GET >LDYA ZPVarNamePtr CMD.SET.GET >PUSHW ZPVarNamePtr
>PUSHW ZPCLBuf
>SYSCALL GetEnv >SYSCALL GetEnv
bcc .1 bcc CMD.DATE.PRINT
clc clc
rts rts
.1 >SYSCALL puts
rts
*-------------------------------------- *--------------------------------------
CMD.SET.EXEC jsr CORE.ArgV.NextChar skip "`" CMD.SET.EXEC jsr CORE.ArgV.NextChar skip "`"
@ -295,7 +293,8 @@ CMD.DATE >LEA.G TimeBuf
>LDYA ZPCLBuf >LDYA ZPCLBuf
>SYSCALL StrFTime >SYSCALL StrFTime
>LDYA ZPCLBuf
CMD.DATE.PRINT >LDYA ZPCLBuf
>SYSCALL puts >SYSCALL puts
rts rts
*-------------------------------------- *--------------------------------------

View File

@ -169,41 +169,52 @@ ENV.Search.DRV ldx #2
.HS 2C BIT ABS .HS 2C BIT ABS
ENV.Search.PATH ldx #4 ENV.Search.PATH ldx #4
>STYA ZPPtr2 >STYA ZPPtr2 filename to find
>LDYA ENV.VARS,x >PUSHW ENV.VARS,x
>PUSHWI 0 allocate...
jsr K.GetEnv get value for Search Path jsr K.GetEnv get value for Search Path
bcs K.FileSearch.RTS bcs K.FileSearch.RTS
>STYA ENV.SearchPath
>STYA ENV.SearchPath
stx ENV.Search.98+1
>LDYA ZPPtr2 >LDYA ZPPtr2
ENV.Search.YA >STYA .4+1 ENV.Search.YA >STYA .4+1
>LDYA ENV.SearchPath >LDYA ENV.SearchPath
jsr K.ExpandStr Y,A = Search Path, Expand it jsr K.ExpandStr Y,A = Search Path, Expand it
bcs .99 bcs ENV.Search.98
stx .98+1 stx ENV.Search.97+1
>STYA .2+1 expanded search list ; >STYA .2+1 expanded search list ;
stz .1+1 stz .1+1
.1 ldy #$0 Self Modified Index in Search list string .1 ldy #$0 Self Modified Index in Search list string
ldx #$0 ldx #$0
.2 lda $ffff,y Self Modified, Search list string .2 lda $ffff,y Self Modified, Search list string
beq .3 end of string, try it.... beq .3 end of string, try it....
iny iny
cmp #':' cmp #':'
beq .3 beq .3
sta K.Buf256,x sta K.Buf256,x
inx inx
bra .2 bra .2
.3 txa
beq .98 String is empty....nothing to try
sty .1+1 save current index .3 txa
beq ENV.Search.97 String is empty....nothing to try
sty .1+1 save current index
ldy #$0 ldy #$0
.4 lda $ffff,y Self Modified, Append Filename...
.4 lda $ffff,y Self Modified, Append Filename...
sta K.Buf256,x sta K.Buf256,x
beq .5 beq .5
iny iny
inx inx
bra .4 bra .4
@ -216,12 +227,15 @@ ENV.Search.YA >STYA .4+1
lda K.S.STAT+S.STAT.P.TYPE lda K.S.STAT+S.STAT.P.TYPE
cmp #S.FI.T.DIR Dir ? cmp #S.FI.T.DIR Dir ?
beq .1 beq .1
jsr .98 Discard Expanded hSrch list jsr ENV.Search.97 Discard Expanded hSrch list
clc clc
.99 rts rts
.98 lda #$ff SELF MODIFIED : Discard Expanded hSrch list ENV.Search.97 lda #$ff SELF MODIFIED : Discard Expanded Search list
jsr K.FreeMem
ENV.Search.98 lda #$ff SELF MODIFIED : Discard Search list
jsr K.FreeMem jsr K.FreeMem
lda #MLI.E.FNOTFND lda #MLI.E.FNOTFND
@ -370,15 +384,34 @@ K.SetEnv.I jsr K.UnsetEnv.I
* CC : Y,A = PTR to VALUE (C-String) * CC : Y,A = PTR to VALUE (C-String)
* CS : not found * CS : not found
*\-------------------------------------- *\--------------------------------------
K.GetEnv >STYA ZPPtr1 K.GetEnv >PULLW FORPNT value
>PULLW ZPPtr1 name
jsr ENV.FindVarP1 jsr ENV.FindVarP1
bcs .9 bcs .9
jsr ENV.NextEnvP3Y Skip NAME= jsr ENV.NextEnvP3Y Skip NAME=
clc just in case ADC in NextEnvPtr3 disturb CC
.9 >LDYA ZPPtr3 \0 lda FORPNT+1
bne .1
>LDYA ZPPtr3
jmp K.StrDup
.1 ldy #$ff
.2 iny
lda (ZPPtr3),y
sta (FORPNT),y
bne .2
>LDYA FORPNT
clc
rts
.9 >LDYAI 0
* sec
rts rts
*/-------------------------------------- */--------------------------------------
* # UnsetEnv * # UnsetEnv

View File

@ -256,16 +256,15 @@ PS.Load.SCRIPT ldx #$ff
jsr PS.LoadGetHeader jsr PS.LoadGetHeader
bcs PS.Load.RTS bcs PS.Load.RTS
>LDYAI PS.Load.ROOT >PUSHWI PS.Load.ROOT
>PUSHWI K.Buf256 K.Buf256 = "$ROOT"
jsr K.GetEnv jsr K.GetEnv
bcs PS.Load.IPATH bcs PS.Load.IPATH
>STYA .2+1
ldx #$ff ldx #$ff
.1 inx .1 inx
.2 lda $ffff,x SELF MODIFIED lda K.Buf256,x
sta K.Buf256,x K.Buf256 = "$ROOT"
bne .1 bne .1
ldy #0 ldy #0