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
rts
CMD.SET.GET >LDYA ZPVarNamePtr
CMD.SET.GET >PUSHW ZPVarNamePtr
>PUSHW ZPCLBuf
>SYSCALL GetEnv
bcc .1
bcc CMD.DATE.PRINT
clc
rts
.1 >SYSCALL puts
rts
*--------------------------------------
CMD.SET.EXEC jsr CORE.ArgV.NextChar skip "`"
@ -295,7 +293,8 @@ CMD.DATE >LEA.G TimeBuf
>LDYA ZPCLBuf
>SYSCALL StrFTime
>LDYA ZPCLBuf
CMD.DATE.PRINT >LDYA ZPCLBuf
>SYSCALL puts
rts
*--------------------------------------

View File

@ -169,41 +169,52 @@ ENV.Search.DRV ldx #2
.HS 2C BIT ABS
ENV.Search.PATH ldx #4
>STYA ZPPtr2
>LDYA ENV.VARS,x
>STYA ZPPtr2 filename to find
>PUSHW ENV.VARS,x
>PUSHWI 0 allocate...
jsr K.GetEnv get value for Search Path
bcs K.FileSearch.RTS
>STYA ENV.SearchPath
>STYA ENV.SearchPath
stx ENV.Search.98+1
>LDYA ZPPtr2
ENV.Search.YA >STYA .4+1
>LDYA ENV.SearchPath
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 ;
stz .1+1
.1 ldy #$0 Self Modified Index in Search list string
ldx #$0
.2 lda $ffff,y Self Modified, Search list string
beq .3 end of string, try it....
iny
cmp #':'
beq .3
sta K.Buf256,x
inx
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
.4 lda $ffff,y Self Modified, Append Filename...
.4 lda $ffff,y Self Modified, Append Filename...
sta K.Buf256,x
beq .5
iny
inx
bra .4
@ -216,12 +227,15 @@ ENV.Search.YA >STYA .4+1
lda K.S.STAT+S.STAT.P.TYPE
cmp #S.FI.T.DIR Dir ?
beq .1
jsr .98 Discard Expanded hSrch list
jsr ENV.Search.97 Discard Expanded hSrch list
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
lda #MLI.E.FNOTFND
@ -370,15 +384,34 @@ K.SetEnv.I jsr K.UnsetEnv.I
* CC : Y,A = PTR to VALUE (C-String)
* CS : not found
*\--------------------------------------
K.GetEnv >STYA ZPPtr1
K.GetEnv >PULLW FORPNT value
>PULLW ZPPtr1 name
jsr ENV.FindVarP1
bcs .9
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
*/--------------------------------------
* # UnsetEnv

View File

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