diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 73c6c645..e159a886 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/BIN/SH.S.CMD.txt b/BIN/SH.S.CMD.txt index 3c5a07c9..92b69dab 100644 --- a/BIN/SH.S.CMD.txt +++ b/BIN/SH.S.CMD.txt @@ -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 *-------------------------------------- diff --git a/SYS/KERNEL.S.ENV.txt b/SYS/KERNEL.S.ENV.txt index 0b13b13d..72446030 100644 --- a/SYS/KERNEL.S.ENV.txt +++ b/SYS/KERNEL.S.ENV.txt @@ -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 diff --git a/SYS/KERNEL.S.PS.txt b/SYS/KERNEL.S.PS.txt index bc646049..bca14d09 100644 --- a/SYS/KERNEL.S.PS.txt +++ b/SYS/KERNEL.S.PS.txt @@ -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